firehol/netdata

View on GitHub
src/go/plugin/go.d/modules/elasticsearch/metadata.yaml

Summary

Maintainability
Test Coverage
plugin_name: go.d.plugin
modules:
  - &module
    meta: &meta
      id: collector-go.d.plugin-elasticsearch
      module_name: elasticsearch
      plugin_name: go.d.plugin
      monitored_instance:
        name: Elasticsearch
        link: https://www.elastic.co/elasticsearch/
        icon_filename: elasticsearch.svg
        categories:
          - data-collection.search-engines
      keywords:
        - elastic
        - elasticsearch
        - opensearch
        - search engine
      related_resources:
        integrations:
          list:
            - plugin_name: apps.plugin
              module_name: apps
            - plugin_name: cgroups.plugin
              module_name: cgroups
      info_provided_to_referring_integrations:
        description: ""
      most_popular: true
    overview:
      data_collection:
        metrics_description: |
          This collector monitors the performance and health of the Elasticsearch cluster.
        method_description: |
          It uses [Cluster APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html) to collect metrics.
          
          Used endpoints:
          
          | Endpoint               | Description          | API                                                                                                         |
          |------------------------|----------------------|-------------------------------------------------------------------------------------------------------------|
          | `/`                    | Node info            |                                                                                                             |
          | `/_nodes/stats`        | Nodes metrics        | [Nodes stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html) |
          | `/_nodes/_local/stats` | Local node metrics   | [Nodes stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html) |
          | `/_cluster/health`     | Cluster health stats | [Cluster health API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html)   |
          | `/_cluster/stats`      | Cluster metrics      | [Cluster stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html)     |
      supported_platforms:
        include: []
        exclude: []
      multi_instance: true
      additional_permissions:
        description: ""
      default_behavior:
        auto_detection:
          description: |
            By default, it detects instances running on localhost by attempting to connect to port 9200:
            
            - http://127.0.0.1:9200
            - https://127.0.0.1:9200
        limits:
          description: |
            By default, this collector monitors only the node it is connected to. To monitor all cluster nodes, set the `cluster_mode` configuration option to `yes`.
        performance_impact:
          description: ""
    setup:
      prerequisites:
        list: []
      configuration:
        file:
          name: "go.d/elasticsearch.conf"
        options:
          description: |
            The following options can be defined globally: update_every, autodetection_retry.
          folding:
            title: Config options
            enabled: true
          list:
            - name: update_every
              description: Data collection frequency.
              default_value: 5
              required: false
            - name: autodetection_retry
              description: Recheck interval in seconds. Zero means no recheck will be scheduled.
              default_value: 0
              required: false
            - name: url
              description: Server URL.
              default_value: http://127.0.0.1:9200
              required: true
            - name: cluster_mode
              description: Controls whether to collect metrics for all nodes in the cluster or only for the local node.
              default_value: "false"
              required: false
            - name: collect_node_stats
              description: Controls whether to collect nodes metrics.
              default_value: "true"
              required: false
            - name: collect_cluster_health
              description: Controls whether to collect cluster health metrics.
              default_value: "true"
              required: false
            - name: collect_cluster_stats
              description: Controls whether to collect cluster stats metrics.
              default_value: "true"
              required: false
            - name: collect_indices_stats
              description: Controls whether to collect indices metrics.
              default_value: "false"
              required: false
            - name: timeout
              description: HTTP request timeout.
              default_value: 2
              required: false
            - name: username
              description: Username for basic HTTP authentication.
              default_value: ""
              required: false
            - name: password
              description: Password for basic HTTP authentication.
              default_value: ""
              required: false
            - name: proxy_url
              description: Proxy URL.
              default_value: ""
              required: false
            - name: proxy_username
              description: Username for proxy basic HTTP authentication.
              default_value: ""
              required: false
            - name: proxy_password
              description: Password for proxy basic HTTP authentication.
              default_value: ""
              required: false
            - name: method
              description: HTTP request method.
              default_value: "GET"
              required: false
            - name: body
              description: HTTP request body.
              default_value: ""
              required: false
            - name: headers
              description: HTTP request headers.
              default_value: ""
              required: false
            - name: not_follow_redirects
              description: Redirect handling policy. Controls whether the client follows redirects.
              default_value: no
              required: false
            - name: tls_skip_verify
              description: Server certificate chain and hostname validation policy. Controls whether the client performs this check.
              default_value: no
              required: false
            - name: tls_ca
              description: Certification authority that the client uses when verifying the server's certificates.
              default_value: ""
              required: false
            - name: tls_cert
              description: Client TLS certificate.
              default_value: ""
              required: false
            - name: tls_key
              description: Client TLS key.
              default_value: ""
              required: false
        examples:
          folding:
            title: Config
            enabled: true
          list:
            - name: Basic single node mode
              description: A basic example configuration.
              folding:
                enabled: false
              config: |
                jobs:
                  - name: local
                    url: http://127.0.0.1:9200
            - name: Cluster mode
              description: Cluster mode example configuration.
              config: |
                jobs:
                  - name: local
                    url: http://127.0.0.1:9200
                    cluster_mode: yes
            - name: HTTP authentication
              description: Basic HTTP authentication.
              config: |
                jobs:
                  - name: local
                    url: http://127.0.0.1:9200
                    username: username
                    password: password
            - name: HTTPS with self-signed certificate
              description: Elasticsearch with enabled HTTPS and self-signed certificate.
              config: |
                jobs:
                  - name: local
                    url: https://127.0.0.1:9200
                    tls_skip_verify: yes
            - name: Multi-instance
              description: |
                > **Note**: When you define multiple jobs, their names must be unique.
                
                Collecting metrics from local and remote instances.
              config: |
                jobs:
                  - name: local
                    url: http://127.0.0.1:9200
                
                  - name: remote
                    url: http://192.0.2.1:9200
    troubleshooting:
      problems:
        list: []
    alerts:
      - name: elasticsearch_node_indices_search_time_query
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/elasticsearch.conf
        metric: elasticsearch.node_indices_search_time
        info: search performance is degraded, queries run slowly.
      - name: elasticsearch_node_indices_search_time_fetch
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/elasticsearch.conf
        metric: elasticsearch.node_indices_search_time
        info: search performance is degraded, fetches run slowly.
      - name: elasticsearch_cluster_health_status_red
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/elasticsearch.conf
        metric: elasticsearch.cluster_health_status
        info: cluster health status is red.
      - name: elasticsearch_cluster_health_status_yellow
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/elasticsearch.conf
        metric: elasticsearch.cluster_health_status
        info: cluster health status is yellow.
      - name: elasticsearch_node_index_health_red
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/elasticsearch.conf
        metric: elasticsearch.node_index_health
        info: node index $label:index health status is red.
    metrics:
      folding:
        title: Metrics
        enabled: false
      description: ""
      availability: []
      scopes:
        - name: node
          description: These metrics refer to the cluster node.
          labels:
            - name: cluster_name
              description: |
                Name of the cluster. Based on the [Cluster name setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#cluster-name).
            - name: node_name
              description: |
                Human-readable identifier for the node. Based on the [Node name setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#node-name).
            - name: host
              description: |
                Network host for the node, based on the [Network host setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#network.host).
          metrics:
            - name: elasticsearch.node_indices_indexing
              description: Indexing Operations
              unit: operations/s
              chart_type: line
              dimensions:
                - name: index
            - name: elasticsearch.node_indices_indexing_current
              description: Indexing Operations Current
              unit: operations
              chart_type: line
              dimensions:
                - name: index
            - name: elasticsearch.node_indices_indexing_time
              description: Time Spent On Indexing Operations
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: index
            - name: elasticsearch.node_indices_search
              description: Search Operations
              unit: operations/s
              chart_type: stacked
              dimensions:
                - name: queries
                - name: fetches
            - name: elasticsearch.node_indices_search_current
              description: Search Operations Current
              unit: operations
              chart_type: stacked
              dimensions:
                - name: queries
                - name: fetches
            - name: elasticsearch.node_indices_search_time
              description: node_indices_search_time
              unit: milliseconds
              chart_type: stacked
              dimensions:
                - name: queries
                - name: fetches
            - name: elasticsearch.node_indices_refresh
              description: Refresh Operations
              unit: operations/s
              chart_type: line
              dimensions:
                - name: refresh
            - name: elasticsearch.node_indices_refresh_time
              description: Time Spent On Refresh Operations
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: refresh
            - name: elasticsearch.node_indices_flush
              description: Flush Operations
              unit: operations/s
              chart_type: line
              dimensions:
                - name: flush
            - name: elasticsearch.node_indices_flush_time
              description: Time Spent On Flush Operations
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: flush
            - name: elasticsearch.node_indices_fielddata_memory_usage
              description: Fielddata Cache Memory Usage
              unit: bytes
              chart_type: area
              dimensions:
                - name: used
            - name: elasticsearch.node_indices_fielddata_evictions
              description: Fielddata Evictions
              unit: operations/s
              chart_type: line
              dimensions:
                - name: evictions
            - name: elasticsearch.node_indices_segments_count
              description: Segments Count
              unit: segments
              chart_type: line
              dimensions:
                - name: segments
            - name: elasticsearch.node_indices_segments_memory_usage_total
              description: Segments Memory Usage Total
              unit: bytes
              chart_type: line
              dimensions:
                - name: used
            - name: elasticsearch.node_indices_segments_memory_usage
              description: Segments Memory Usage
              unit: bytes
              chart_type: stacked
              dimensions:
                - name: terms
                - name: stored_fields
                - name: term_vectors
                - name: norms
                - name: points
                - name: doc_values
                - name: index_writer
                - name: version_map
                - name: fixed_bit_set
            - name: elasticsearch.node_indices_translog_operations
              description: Translog Operations
              unit: operations
              chart_type: area
              dimensions:
                - name: total
                - name: uncommitted
            - name: elasticsearch.node_indices_translog_size
              description: Translog Size
              unit: bytes
              chart_type: area
              dimensions:
                - name: total
                - name: uncommitted
            - name: elasticsearch.node_file_descriptors
              description: Process File Descriptors
              unit: fd
              chart_type: line
              dimensions:
                - name: open
            - name: elasticsearch.node_jvm_heap
              description: JVM Heap Percentage Currently in Use
              unit: percentage
              chart_type: area
              dimensions:
                - name: inuse
            - name: elasticsearch.node_jvm_heap_bytes
              description: JVM Heap Commit And Usage
              unit: bytes
              chart_type: area
              dimensions:
                - name: committed
                - name: used
            - name: elasticsearch.node_jvm_buffer_pools_count
              description: JVM Buffer Pools Count
              unit: pools
              chart_type: line
              dimensions:
                - name: direct
                - name: mapped
            - name: elasticsearch.node_jvm_buffer_pool_direct_memory
              description: JVM Buffer Pool Direct Memory
              unit: bytes
              chart_type: area
              dimensions:
                - name: total
                - name: used
            - name: elasticsearch.node_jvm_buffer_pool_mapped_memory
              description: JVM Buffer Pool Mapped Memory
              unit: bytes
              chart_type: area
              dimensions:
                - name: total
                - name: used
            - name: elasticsearch.node_jvm_gc_count
              description: JVM Garbage Collections
              unit: gc/s
              chart_type: stacked
              dimensions:
                - name: young
                - name: old
            - name: elasticsearch.node_jvm_gc_time
              description: JVM Time Spent On Garbage Collections
              unit: milliseconds
              chart_type: stacked
              dimensions:
                - name: young
                - name: old
            - name: elasticsearch.node_thread_pool_queued
              description: Thread Pool Queued Threads Count
              unit: threads
              chart_type: stacked
              dimensions:
                - name: generic
                - name: search
                - name: search_throttled
                - name: get
                - name: analyze
                - name: write
                - name: snapshot
                - name: warmer
                - name: refresh
                - name: listener
                - name: fetch_shard_started
                - name: fetch_shard_store
                - name: flush
                - name: force_merge
                - name: management
            - name: elasticsearch.node_thread_pool_rejected
              description: Thread Pool Rejected Threads Count
              unit: threads
              chart_type: stacked
              dimensions:
                - name: generic
                - name: search
                - name: search_throttled
                - name: get
                - name: analyze
                - name: write
                - name: snapshot
                - name: warmer
                - name: refresh
                - name: listener
                - name: fetch_shard_started
                - name: fetch_shard_store
                - name: flush
                - name: force_merge
                - name: management
            - name: elasticsearch.node_cluster_communication_packets
              description: Cluster Communication
              unit: pps
              chart_type: line
              dimensions:
                - name: received
                - name: sent
            - name: elasticsearch.node_cluster_communication_traffic
              description: Cluster Communication Bandwidth
              unit: bytes/s
              chart_type: line
              dimensions:
                - name: received
                - name: sent
            - name: elasticsearch.node_http_connections
              description: HTTP Connections
              unit: connections
              chart_type: line
              dimensions:
                - name: open
            - name: elasticsearch.node_breakers_trips
              description: Circuit Breaker Trips Count
              unit: trips/s
              chart_type: stacked
              dimensions:
                - name: requests
                - name: fielddata
                - name: in_flight_requests
                - name: model_inference
                - name: accounting
                - name: parent
        - name: cluster
          description: These metrics refer to the cluster.
          labels:
            - name: cluster_name
              description: |
                Name of the cluster. Based on the [Cluster name setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#cluster-name).
          metrics:
            - name: elasticsearch.cluster_health_status
              description: Cluster Status
              unit: status
              chart_type: line
              dimensions:
                - name: green
                - name: yellow
                - name: red
            - name: elasticsearch.cluster_number_of_nodes
              description: Cluster Nodes Count
              unit: nodes
              chart_type: line
              dimensions:
                - name: nodes
                - name: data_nodes
            - name: elasticsearch.cluster_shards_count
              description: Cluster Shards Count
              unit: shards
              chart_type: line
              dimensions:
                - name: active_primary
                - name: active
                - name: relocating
                - name: initializing
                - name: unassigned
                - name: delayed_unaasigned
            - name: elasticsearch.cluster_pending_tasks
              description: Cluster Pending Tasks
              unit: tasks
              chart_type: line
              dimensions:
                - name: pending
            - name: elasticsearch.cluster_number_of_in_flight_fetch
              description: Cluster Unfinished Fetches
              unit: fetches
              chart_type: line
              dimensions:
                - name: in_flight_fetch
            - name: elasticsearch.cluster_indices_count
              description: Cluster Indices Count
              unit: indices
              chart_type: line
              dimensions:
                - name: indices
            - name: elasticsearch.cluster_indices_shards_count
              description: Cluster Indices Shards Count
              unit: shards
              chart_type: line
              dimensions:
                - name: total
                - name: primaries
                - name: replication
            - name: elasticsearch.cluster_indices_docs_count
              description: Cluster Indices Docs Count
              unit: docs
              chart_type: line
              dimensions:
                - name: docs
            - name: elasticsearch.cluster_indices_store_size
              description: Cluster Indices Store Size
              unit: bytes
              chart_type: line
              dimensions:
                - name: size
            - name: elasticsearch.cluster_indices_query_cache
              description: Cluster Indices Query Cache
              unit: events/s
              chart_type: line
              dimensions:
                - name: hit
                - name: miss
            - name: elasticsearch.cluster_nodes_by_role_count
              description: Cluster Nodes By Role Count
              unit: nodes
              chart_type: line
              dimensions:
                - name: coordinating_only
                - name: data
                - name: data_cold
                - name: data_content
                - name: data_frozen
                - name: data_hot
                - name: data_warm
                - name: ingest
                - name: master
                - name: ml
                - name: remote_cluster_client
                - name: voting_only
        - name: index
          description: These metrics refer to the index.
          labels:
            - name: cluster_name
              description: |
                Name of the cluster. Based on the [Cluster name setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#cluster-name).
            - name: index
              description: Name of the index.
          metrics:
            - name: elasticsearch.node_index_health
              description: Index Health
              unit: status
              chart_type: line
              dimensions:
                - name: green
                - name: yellow
                - name: red
            - name: elasticsearch.node_index_shards_count
              description: Index Shards Count
              unit: shards
              chart_type: line
              dimensions:
                - name: shards
            - name: elasticsearch.node_index_docs_count
              description: Index Docs Count
              unit: docs
              chart_type: line
              dimensions:
                - name: docs
            - name: elasticsearch.node_index_store_size
              description: Index Store Size
              unit: bytes
              chart_type: line
              dimensions:
                - name: store_size
  - <<: *module
    meta:
      <<: *meta
      id: collector-go.d.plugin-opensearch
      monitored_instance:
        name: OpenSearch
        link: https://opensearch.org/
        icon_filename: opensearch.svg
        categories:
          - data-collection.search-engines