Skip to main content
Version: 25.03.01

Metrics

Elasticsearch is a powerful search and analytics engine for various data types. Monitoring its metrics is vital for maintaining performance, stability, and reliability. The following is a list of essential Elasticsearch metrics in PDS. Understanding these metrics will help administrators optimize performance, troubleshoot issues, and ensure the Elasticsearch cluster runs smoothly.

note

For Elasticsearch deployment, the data service metrics are accessible on port 9114.

Access metrics

Below is a step-by-step guide on how to access Elasticsearch metrics for PDS deployments:

  1. Identify the Elasticsearch pod running in your namespace:

    kubectl get pods -n <your-namespace>

    Look for the pod name that corresponds to your Elasticsearch instance or its sidecar exporter.

  2. Port-forward from your local machine’s port 9114 to the pod’s port 9114:

    kubectl port-forward -n <your-namespace> <elasticsearch-pod-name> 9114:9114
  3. Open a browser or use curl to go to http://localhost:9114/metrics.

    You should see a text-based Prometheus metrics output specific to Elasticsearch.

  4. Check for the service exposing the Elasticsearch exporter. for example, <release-name>-elasticsearch-exporter:

    kubectl get svc -n <your-namespace>
  5. Access the metrics:

    • If NodePort, note <nodeport>:

      http://<node-ip>:<nodeport>/metrics
    • If LoadBalancer, note <loadbalancer-ip>:

      http://<loadbalancer-ip>:9114/metrics
  6. Verify metrics:

    • Using curl:

      curl http://<host>:9114/metrics

      Replace <host> with either localhost (if using port-forward), <node-ip> (NodePort), or <loadbalancer-ip> (LoadBalancer).

    • Prometheus UI:

      In Prometheus, navigate to the Expression browser and search for metrics beginning with elasticsearch_ or similar Elasticsearch-related prefixes to confirm they are being scraped.

    • Grafana or other dashboards:

      If you have Grafana connected to Prometheus, open your dashboard. Check that Elasticsearch metrics (those starting with elasticsearch_) are being ingested and displayed.

note
  • Ensure that any NetworkPolicies or firewall rules allow inbound traffic on port 9114 if you plan to expose it externally.
  • Metrics naming conventions can vary depending on the Elasticsearch exporter version. Generally, look for prefixes like elasticsearch_.

Elasticsearch metrics

Metric nameDescriptionMetric type
elasticsearch_breakers_estimated_size_bytesEstimated size in bytes of breakergauge
elasticsearch_breakers_limit_size_bytesLimit size in bytes for breakergauge
elasticsearch_breakers_overheadOverhead factor used by Elasticsearch breakers.counter
elasticsearch_breakers_trippedtripped for breakercounter
elasticsearch_cluster_health_active_primary_shardsThe number of primary shards in your cluster. This is an aggregate total across all indices.gauge
elasticsearch_cluster_health_active_shardsAggregate total of all shards across all indices, which includes replica shards.gauge
elasticsearch_cluster_health_delayed_unassigned_shardsShards delayed to reduce reallocation overheadgauge
elasticsearch_cluster_health_initializing_shardsCount of shards that are being freshly created.gauge
elasticsearch_cluster_health_number_of_data_nodesNumber of data nodes in the cluster.gauge
elasticsearch_cluster_health_number_of_in_flight_fetchThe number of ongoing shard info requests.gauge
elasticsearch_cluster_health_number_of_nodesNumber of nodes in the cluster.gauge
elasticsearch_cluster_health_number_of_pending_tasksCluster level changes which have not yet been executedgauge
elasticsearch_cluster_health_task_max_waiting_in_queue_millisMax time in millis that a task is waiting in queue.gauge
elasticsearch_cluster_health_relocating_shardsThe number of shards that are currently moving from one node to another node.gauge
elasticsearch_cluster_health_statusWhether all primary and replica shards are allocated.gauge
elasticsearch_cluster_health_unassigned_shardsThe number of shards that exist in the cluster state, but cannot be found in the cluster itself.gauge
elasticsearch_clusterinfo_last_retrieval_failure_tsTimestamp of the most recent failure when retrieving cluster information.gauge
elasticsearch_filesystem_data_available_bytesAvailable space on block device in bytesgauge
elasticsearch_filesystem_data_free_bytesFree space on block device in bytesgauge
elasticsearch_filesystem_data_size_bytesSize of block device in bytesgauge
elasticsearch_filesystem_io_stats_device_operations_countCount of disk operationscounter
elasticsearch_filesystem_io_stats_device_read_operations_countCount of disk read operationscounter
elasticsearch_filesystem_io_stats_device_write_operations_countCount of disk write operationscounter
elasticsearch_filesystem_io_stats_device_read_size_kilobytes_sumTotal kilobytes read from diskcounter
elasticsearch_filesystem_io_stats_device_write_size_kilobytes_sumTotal kilobytes written to diskcounter
elasticsearch_indexing_pressure_current_all_in_bytesCurrent total indexing pressure in bytes.gauge
elasticsearch_indexing_pressure_limit_in_bytesMaximum allowed indexing pressure in bytes.gauge
elasticsearch_indices_completion_size_in_bytesSize in bytes of index completion operations.counter
elasticsearch_indices_docsCount of documents on this nodegauge
elasticsearch_indices_docs_deletedCount of deleted documents on this nodegauge
elasticsearch_indices_fielddata_evictionsEvictions from field datacounter
elasticsearch_indices_fielddata_memory_size_bytesField data cache memory usage in bytesgauge
elasticsearch_indices_filter_cache_evictionsEvictions from filter cachecounter
elasticsearch_indices_filter_cache_memory_size_bytesFilter cache memory usage in bytesgauge
elasticsearch_indices_flush_time_secondsCumulative flush time in secondscounter
elasticsearch_indices_flush_totalTotal flushescounter
elasticsearch_indices_get_exists_time_secondsTotal time get exists in secondscounter
elasticsearch_indices_get_exists_totalTotal get exists operationscounter
elasticsearch_indices_get_missing_time_secondsTotal time of get missing in secondscounter
elasticsearch_indices_get_missing_totalTotal get missingcounter
elasticsearch_indices_get_time_secondsTotal get time in secondscounter
elasticsearch_indices_get_totalTotal getcounter
elasticsearch_indices_indexing_delete_time_seconds_totalTotal time indexing delete in secondscounter
elasticsearch_indices_indexing_delete_totalTotal indexing deletescounter
elasticsearch_indices_indexing_index_time_seconds_totalCumulative index time in secondscounter
elasticsearch_indices_indexing_index_totalTotal index callscounter
elasticsearch_indices_indexing_is_throttledIndicates if indexing is throttled (boolean metric).gauge
elasticsearch_indices_indexing_throttle_time_seconds_totalCumulative seconds of index throttling.counter
elasticsearch_indices_merges_currentNumber of ongoing merge operations.gauge
elasticsearch_indices_merges_current_size_in_bytesTotal size in bytes of ongoing merges.gauge
elasticsearch_indices_merges_docs_totalCumulative docs mergedcounter
elasticsearch_indices_merges_totalTotal mergescounter
elasticsearch_indices_merges_total_size_bytes_totalTotal merge size in bytescounter
elasticsearch_indices_merges_total_throttled_time_seconds_totalTotal seconds merges were throttled.counter
elasticsearch_indices_merges_total_time_seconds_totalTotal time spent merging in secondscounter
elasticsearch_indices_query_cache_cache_totalCount of query cachecounter
elasticsearch_indices_query_cache_cache_sizeSize of query cachegauge
elasticsearch_indices_query_cache_countCount of query cache hit/misscounter
elasticsearch_indices_query_cache_evictionsEvictions from query cachecounter
elasticsearch_indices_query_cache_memory_size_bytesQuery cache memory usage in bytesgauge
elasticsearch_indices_query_cache_totalSize of query cache totalcounter
elasticsearch_indices_query_miss_countNumber of query misses in Elasticsearch indices.counter
elasticsearch_indices_refresh_time_seconds_totalTotal time spent refreshing in secondscounter
elasticsearch_indices_refresh_totalTotal refreshescounter
elasticsearch_indices_request_cache_countCount of request cache hit/misscounter
elasticsearch_indices_request_cache_evictionsEvictions from request cachecounter
elasticsearch_indices_request_cache_memory_size_bytesRequest cache memory usage in bytesgauge
elasticsearch_indices_request_miss_countNumber of request misses in Elasticsearch indices.counter
elasticsearch_indices_search_fetch_time_secondsTotal search fetch time in secondscounter
elasticsearch_indices_search_fetch_totalTotal number of fetchescounter
elasticsearch_indices_search_query_time_secondsTotal search query time in secondscounter
elasticsearch_indices_search_query_totalTotal number of queriescounter
elasticsearch_indices_search_scroll_time_secondsTotal seconds spent in search scroll operations.counter
elasticsearch_indices_search_scroll_totalTotal number of search scroll operations.counter
elasticsearch_indices_search_suggest_time_secondsTotal seconds spent generating search suggestions.counter
elasticsearch_indices_search_suggest_totalTotal number of search suggestion requests.counter
elasticsearch_indices_segments_countCount of index segments on this nodegauge
elasticsearch_indices_segments_doc_values_memory_in_bytesBytes of doc values memory in segments.gauge
elasticsearch_indices_segments_fixed_bit_set_memory_in_bytesBytes used by fixed bit sets in segments.gauge
elasticsearch_indices_segments_index_writer_memory_in_bytesBytes used by the index writer.gauge
elasticsearch_indices_segments_memory_bytesCurrent memory size of segments in bytesgauge
elasticsearch_indices_segments_norms_memory_in_bytesBytes of norms data in segments.gauge
elasticsearch_indices_segments_points_memory_in_bytesBytes of points data in segments.gauge
elasticsearch_indices_segments_stored_fields_memory_in_bytesBytes of stored fields in segments.gauge
elasticsearch_indices_segments_term_vectors_memory_in_bytesBytes of term vectors in segments.gauge
elasticsearch_indices_segments_terms_memory_in_bytesBytes of terms data in segments.gauge
elasticsearch_indices_segments_version_map_memory_in_bytesBytes used by the version map in segments.gauge
elasticsearch_indices_store_size_bytesCurrent size of stored index data in bytesgauge
elasticsearch_indices_store_throttle_time_seconds_totalThrottle time for index store in secondscounter
elasticsearch_indices_translog_operationsTotal translog operationscounter
elasticsearch_indices_translog_size_in_bytesTotal translog size in bytesgauge
elasticsearch_indices_warmer_time_seconds_totalTotal warmer time in secondscounter
elasticsearch_indices_warmer_totalTotal warmer countcounter
elasticsearch_jvm_buffer_pool_used_bytesUsed buffer pool size in JVM, in bytes.gauge
elasticsearch_jvm_gc_collection_seconds_countCount of JVM GC runscounter
elasticsearch_jvm_gc_collection_seconds_sumGC run time in secondscounter
elasticsearch_jvm_memory_committed_bytesJVM memory currently committed by areagauge
elasticsearch_jvm_memory_max_bytesJVM memory maxgauge
elasticsearch_jvm_memory_used_bytesJVM memory currently used by areagauge
elasticsearch_jvm_memory_pool_used_bytesJVM memory currently used by poolgauge
elasticsearch_jvm_memory_pool_max_bytesJVM memory max by poolgauge
elasticsearch_jvm_memory_pool_peak_used_bytesJVM memory peak used by poolcounter
elasticsearch_jvm_memory_pool_peak_max_bytesJVM memory peak max by poolcounter
elasticsearch_jvm_uptime_secondsElasticsearch JVM uptime in seconds.gauge
elasticsearch_node_stats_json_parse_failuresCount of failed JSON parse attempts in node stats.counter
elasticsearch_node_stats_total_scrapesTotal number of node stats scrapes.counter
elasticsearch_node_stats_upIndicates if node stats scrape was successful (boolean metric).gauge
elasticsearch_nodes_rolesRoles assigned to each Elasticsearch node.gauge
elasticsearch_os_cpu_percentPercent CPU used by the OSgauge
elasticsearch_os_load1Shortterm load averagegauge
elasticsearch_os_load5Midterm load averagegauge
elasticsearch_os_load15Longterm load averagegauge
elasticsearch_os_mem_actual_free_bytesActual free memory in bytes on the OS.gauge
elasticsearch_os_mem_actual_used_bytesActual used memory in bytes on the OS.gauge
elasticsearch_process_cpu_percentPercent CPU used by processgauge
elasticsearch_process_cpu_seconds_totalProcess CPU time in secondscounter
elasticsearch_process_mem_resident_size_bytesResident memory in use by process in bytesgauge
elasticsearch_process_mem_share_size_bytesShared memory in use by process in bytesgauge
elasticsearch_process_mem_virtual_size_bytesTotal virtual memory used in bytesgauge
elasticsearch_process_open_files_countOpen file descriptorsgauge
elasticsearch_scrape_duration_secondsDuration of the scrape process in seconds.gauge
elasticsearch_scrape_successIndicates whether the scrape succeeded (boolean metric).gauge
elasticsearch_thread_pool_active_countThread Pool threads activegauge
elasticsearch_thread_pool_completed_countThread Pool operations completedcounter
elasticsearch_thread_pool_largest_countThread Pool largest threads countgauge
elasticsearch_thread_pool_queue_countThread Pool operations queuedgauge
elasticsearch_thread_pool_rejected_countThread Pool operations rejectedcounter
elasticsearch_thread_pool_threads_countThread Pool current threads countgauge
elasticsearch_transport_rx_packets_totalCount of packets receivedcounter
elasticsearch_transport_rx_size_bytes_totalTotal number of bytes receivedcounter
elasticsearch_transport_tx_packets_totalCount of packets sentcounter
elasticsearch_transport_tx_size_bytes_totalTotal number of bytes sentcounter
elasticsearch_versionVersion information for Elasticsearch.gauge
go_gc_duration_secondsDuration of Go garbage collection in seconds.summary
go_goroutinesNumber of active goroutines in Go.gauge
go_infoMetadata about the Go environment.gauge
go_memstats_alloc_bytesCurrent bytes of allocated heap memory in Go.gauge
go_memstats_alloc_bytes_totalTotal bytes allocated for Go objects since start.counter
go_memstats_buck_hash_sys_bytesBytes of memory in use by Go’s buck hash structures.gauge
go_memstats_frees_totalTotal number of freed Go objects.counter
go_memstats_gc_sys_bytesBytes of memory obtained from the OS for Go garbage collection.gauge
go_memstats_heap_alloc_bytesAllocated bytes in Go’s heap.gauge
go_memstats_heap_idle_bytesBytes in idle (unused) Go heap.gauge
go_memstats_heap_inuse_bytesBytes in active Go heap.gauge
go_memstats_heap_objectsNumber of allocated objects in Go’s heap.gauge
go_memstats_heap_released_bytesBytes of Go heap memory returned to the OS.gauge
go_memstats_heap_sys_bytesBytes of Go heap memory obtained from the OS.gauge
go_memstats_last_gc_time_secondsTime of the last Go garbage collection (Unix timestamp).gauge
go_memstats_lookups_totalNumber of pointer lookups in Go.counter
go_memstats_mallocs_totalTotal number of malloc operations in Go.counter
go_memstats_mcache_inuse_bytesBytes of memory used by Go’s mcache structures.gauge
go_memstats_mcache_sys_bytesBytes of memory obtained from the OS for mcache.gauge
go_memstats_mspan_inuse_bytesBytes of memory used by Go’s mspan structures.gauge
go_memstats_mspan_sys_bytesBytes of memory obtained from the OS for mspan.gauge
go_memstats_next_gc_bytesTarget heap size of the next Go garbage collection.gauge
go_memstats_other_sys_bytesBytes used by other system allocations in Go.gauge
go_memstats_stack_inuse_bytesBytes of stack memory in active use by Go.gauge
go_memstats_stack_sys_bytesBytes of stack memory obtained from the OS.gauge
go_memstats_sys_bytesTotal bytes of memory obtained from the OS for Go.gauge
go_threadsNumber of OS threads created by the Go runtime.gauge
process_cpu_seconds_totalTotal CPU time consumed by the process in seconds.counter
process_max_fdsMaximum number of open file descriptors allowed.gauge
process_open_fdsCurrent number of open file descriptors.gauge
process_resident_memory_bytesResident memory size of the process in bytes.gauge
process_start_time_secondsStart time of the process (Unix timestamp).gauge
process_virtual_memory_bytesVirtual memory size of the process in bytes.gauge
process_virtual_memory_max_bytesMaximum amount of virtual memory available to the process.gauge
promhttp_metric_handler_requests_in_flightNumber of current in-flight requests in Prometheus.gauge
promhttp_metric_handler_requests_totalTotal number of requests handled by Prometheus.counter
elasticsearch_clusterinfo_upUp metric for the cluster info collectorgauge
elasticsearch_exporter_build_infoBuild info for the Elasticsearch exporter.gauge