Back to Skywalking

Elasticsearch monitoring

docs/en/setup/backend/backend-elasticsearch-monitoring.md

10.4.024.7 KB
Original Source

Elasticsearch monitoring

SkyWalking leverages elasticsearch-exporter for collecting metrics data from Elasticsearch. It leverages OpenTelemetry Collector to transfer the metrics to OpenTelemetry receiver and into the Meter System.

Data flow

  1. The elasticsearch-exporter collect metrics data from Elasticsearch.
  2. OpenTelemetry Collector fetches metrics from elasticsearch-exporter via Prometheus Receiver and pushes metrics to SkyWalking OAP Server via OpenTelemetry gRPC exporter.
  3. The SkyWalking OAP Server parses the expression with MAL to filter/calculate/aggregate and store the results.

Setup

  1. Setup elasticsearch-exporter.
  2. Set up OpenTelemetry Collector. The example for OpenTelemetry Collector configuration, refer to here.
  3. Config SkyWalking OpenTelemetry receiver.

Elasticsearch Monitoring

Elasticsearch monitoring provides multidimensional metrics monitoring of Elasticsearch clusters as Layer: ELASTICSEARCH Service in the OAP. In each cluster, the nodes are represented as Instance and indices are Endpoints.

Elasticsearch Cluster Supported Metrics

Monitoring PanelMetric NameDescriptionData Source
Cluster Healthmeter_elasticsearch_cluster_health_statusWhether all primary and replica shards are allocatedelasticsearch-exporter
Tripped Of Breakersmeter_elasticsearch_cluster_breakers_trippedTripped for breakerelasticsearch-exporter
Nodesmeter_elasticsearch_cluster_nodesNumber of nodes in the cluster.elasticsearch-exporter
Data Nodesmeter_elasticsearch_cluster_data_nodesNumber of data nodes in the clusterelasticsearch-exporter
Pending Tasksmeter_elasticsearch_cluster_pending_tasks_totalCluster level changes which have not yet been executedelasticsearch-exporter
CPU Usage Avg. (%)meter_elasticsearch_cluster_cpu_usage_avgCluster level percent CPU used by processelasticsearch-exporter
JVM Memory Used Avg. (%)meter_elasticsearch_cluster_jvm_memory_used_avgCluster level percent JVM memory usedelasticsearch-exporter
Open Filesmeter_elasticsearch_cluster_open_file_countOpen file descriptorselasticsearch-exporter
Active Primary Shardsmeter_elasticsearch_cluster_primary_shards_totalThe number of primary shards in your cluster. This is an aggregate total across all indiceselasticsearch-exporter
Active Shardsmeter_elasticsearch_cluster_shards_totalAggregate total of all shards across all indices, which includes replica shardselasticsearch-exporter
Initializing Shardsmeter_elasticsearch_cluster_initializing_shards_totalCount of shards that are being freshly createdelasticsearch-exporter
Delayed Unassigned Shardsmeter_elasticsearch_cluster_delayed_unassigned_shards_totalShards delayed to reduce reallocation overheadelasticsearch-exporter
Relocating Shardsmeter_elasticsearch_cluster_relocating_shards_totalThe number of shards that are currently moving from one node to another nodeelasticsearch-exporter
Unassigned Shardsmeter_elasticsearch_cluster_unassigned_shards_totalThe number of shards that exist in the cluster state, but cannot be found in the cluster itselfelasticsearch-exporter

Elasticsearch Node Supported Metrics

Monitoring PanelUnitMetric NameDescriptionData Source
Node Rulesmeter_elasticsearch_node_rulesNode roleselasticsearch-exporter
JVM Memory UsedMBmeter_elasticsearch_node_jvm_memory_usedNode level JVM memory used sizeelasticsearch-exporter
CPU Percent%meter_elasticsearch_node_process_cpu_percentNode level percent CPU used by processelasticsearch-exporter
Documentsmeter_elasticsearch_node_indices_docsCount of index documents on this nodeelasticsearch-exporter
Segmentsmeter_elasticsearch_node_segment_countCount of index segments on this nodeelasticsearch-exporter
Disk Free SpaceGBmeter_elasticsearch_node_all_disk_free_spaceAvailable space on all block deviceelasticsearch-exporter
Open Filesmeter_elasticsearch_node_open_file_countOpen file descriptorselasticsearch-exporter
Process CPU Usage Percent%meter_elasticsearch_node_process_cpu_percentPercent CPU used by processelasticsearch-exporter
OS CPU usage percent%meter_elasticsearch_node_os_cpu_percentPercent CPU used by the OSelasticsearch-exporter
Load Averagemeter_elasticsearch_node_os_load1
meter_elasticsearch_node_os_load5
meter_elasticsearch_node_os_load15Shortterm, Midterm, Longterm load averageelasticsearch-exporter
JVM Memory UsageMBmeter_elasticsearch_node_jvm_memory_nonheap_used
meter_elasticsearch_node_jvm_memory_heap_used
meter_elasticsearch_node_jvm_memory_heap_maxJVM memory currently usage by areaelasticsearch-exporter
JVM Pool Peak UsedMBmeter_elasticsearch_node_jvm_memory_pool_peak_usedJVM memory currently used by poolelasticsearch-exporter
GC Countmeter_elasticsearch_node_jvm_gc_countCount of JVM GC runselasticsearch-exporter
GC Timems/minmeter_elasticsearch_node_jvm_gc_timeGC run timeelasticsearch-exporter
All Operations ReqRatemeter_elasticsearch_node_indices_*_req_rateAll Operations ReqRate on nodeelasticsearch-exporter
Indexing Ratereqpsmeter_elasticsearch_node_indices_indexing_index_total_req_rate
meter_elasticsearch_node_indices_indexing_index_total_proc_rateIndexing rate on nodeelasticsearch-exporter
Searching Ratereqpsmeter_elasticsearch_node_indices_search_fetch_total_req_rate
meter_elasticsearch_node_indices_search_query_time_seconds_proc_rateSearching rate on nodeelasticsearch-exporter
Total Translog Operationsmeter_elasticsearch_node_indices_translog_operationsTotal translog operationselasticsearch-exporter
Total Translog SizeMBmeter_elasticsearch_node_indices_translog_sizeTotal translog sizeelasticsearch-exporter
Tripped For Breakersmeter_elasticsearch_node_breakers_trippedTripped for breakerelasticsearch-exporter
Estimated Size Of BreakerMBmeter_elasticsearch_node_breakers_estimated_sizeEstimated size of breakerelasticsearch-exporter
Documents CountKB/smeter_elasticsearch_node_indices_docsCount of documents on this nodeelasticsearch-exporter
Merged Documents Countcount/smeter_elasticsearch_node_indices_merges_docs_totalCumulative docs mergedelasticsearch-exporter
Deleted Documents Countmeter_elasticsearch_node_indices_docs_deleted_totalCount of deleted documents on this nodeelasticsearch-exporter
Documents Index Ratecalls/smeter_elasticsearch_node_indices_indexing_index_total_req_rateTotal index calls per secondelasticsearch-exporter
Merged Documents RateMB / smeter_elasticsearch_node_indices_merges_total_size_bytes_totalTotal merge size per secondelasticsearch-exporter
Documents Deleted Ratedocs/smeter_elasticsearch_node_indices_docs_deletedCount of deleted documents per second on this nodeelasticsearch-exporter
Count Of Index Segmentsmeter_elasticsearch_node_segment_countCount of index segments on this nodeelasticsearch-exporter
Current Memory Size Of SegmentsMBmeter_elasticsearch_node_segment_memoryCurrent memory size of segmentselasticsearch-exporter
Networkbytes/secmeter_elasticsearch_node_network_send_bytes
meter_elasticsearch_node_network_receive_bytesTotal number of bytes sent and receiveelasticsearch-exporter
Disk Usage Percent%meter_elasticsearch_node_disk_usage_percentUsed space on block deviceelasticsearch-exporter
Disk UsageGBmeter_elasticsearch_node_disk_usageUsed space size of block deviceelasticsearch-exporter
Disk ReadKBsmeter_elasticsearch_node_disk_io_read_bytesTotal kilobytes read from diskelasticsearch-exporter
Disk WriteKBsmeter_elasticsearch_node_disk_io_write_bytesTotal kilobytes write from diskelasticsearch-exporter

Elasticsearch Index Supported Metrics

Monitoring PanelUnitMetric NameDescriptionData Source
Documents Primarymeter_elasticsearch_index_indices_docs_primaryCount of documents with only primary shards on all nodeselasticsearch-exporter
Deleted Documents Primarymeter_elasticsearch_index_indices_deleted_docs_primaryCount of deleted documents with only primary shardselasticsearch-exporter
Data PrimaryGBmeter_elasticsearch_index_indices_store_size_bytes_primaryCurrent total size of stored index data with only primary shards on all nodeselasticsearch-exporter
DataGBmeter_elasticsearch_index_indices_store_size_bytes_totalCurrent total size of stored index data with all shards on all nodeselasticsearch-exporter
Segments Primarymeter_elasticsearch_index_indices_segment_count_primaryCurrent number of segments with only primary shards on all nodeselasticsearch-exporter
Segments Memory PrimaryMBmeter_elasticsearch_index_indices_segment_memory_bytes_primaryCurrent size of segments with only primary shards on all nodeselasticsearch-exporter
Segmentsmeter_elasticsearch_index_indices_segment_count_totalCurrent number of segments with all shards on all nodeselasticsearch-exporter
Segments MemoryMBmeter_elasticsearch_index_indices_segment_memory_bytes_totalCurrent size of segments with all shards on all nodeselasticsearch-exporter
Indexing Ratemeter_elasticsearch_index_stats_indexing_index_total_req_rate
meter_elasticsearch_index_stats_indexing_index_total_proc_rateIndexing rate on indexelasticsearch-exporter
Searching Ratemeter_elasticsearch_index_stats_search_query_total_req_rate
meter_elasticsearch_index_stats_search_query_total_proc_rateSearching rate on indexelasticsearch-exporter
All Operations ReqRatemeter_elasticsearch_index_stats_*_req_rateAll Operations ReqRate on indexelasticsearch-exporter
All Operations Runtimemeter_elasticsearch_index_stats_*_time_seconds_totalAll Operations Runtime/s on indexelasticsearch-exporter
Avg. Search Time Execute / Requestsmeter_elasticsearch_index_search_fetch_avg_time
meter_elasticsearch_index_search_query_avg_time
meter_elasticsearch_index_search_scroll_avg_time
meter_elasticsearch_index_search_suggest_avg_timeSearch Operation Avg. time on indexelasticsearch-exporter
Search Operations Ratereq/smeter_elasticsearch_index_stats_search_query_total_req_rate
meter_elasticsearch_index_stats_search_fetch_total_req_rate
meter_elasticsearch_index_stats_search_scroll_total_req_rate
meter_elasticsearch_index_stats_search_suggest_total_req_rateSearch Operations ReqRate on indexelasticsearch-exporter
Shards Documentsmeter_elasticsearch_index_indices_shards_docsCount of documents per shards on indexelasticsearch-exporter
Documents (Primary Shards)meter_elasticsearch_index_indices_docs_primaryCount of documents with only primary shards on indexelasticsearch-exporter
Documents Created Per Min (Primary Shards)meter_elasticsearch_index_indices_docs_primary_rateDocuments rate with only primary shards on indexelasticsearch-exporter
Total Size Of Index (Primary Shards)MBmeter_elasticsearch_index_indices_store_size_bytes_primaryCurrent total size of stored index data in bytes with only primary shards on all nodeselasticsearch-exporter
Documents (All Shards)meter_elasticsearch_index_indices_docs_totalCount of documents with all shards on indexelasticsearch-exporter
Documents Created Per Min (All Shards)meter_elasticsearch_index_indices_docs_total_rateDocuments rate with only all shards on indexelasticsearch-exporter
Total Size Of Index (All Shards)MBmeter_elasticsearch_index_indices_store_size_bytes_totalCurrent total size of stored index data in bytes with all shards on all nodeselasticsearch-exporter

Customizations

You can customize your own metrics/expression/dashboard panel. The metrics definition and expression rules are found in /config/otel-rules/elasticsearch/elasticsearch-cluster.yaml, /config/otel-rules/elasticsearch/elasticsearch-node.yaml, /config/otel-rules/elasticsearch/elasticsearch-index.yaml. The Elasticsearch dashboard panel configurations are found in /config/ui-initialized-templates/elasticsearch.