platforms:
- type: GCE
  launch_stage: GA
  install_documentation_url: https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/third-party/elasticsearch
  agent_requirement:
    logs_minimum_supported_version:
      major: 2
      minor: 9
      patch: 0
    metrics_minimum_supported_version:
      major: 2
      minor: 21
      patch: 0
  detections:
  - characteristic_log:
      log_name_regex: elasticsearch
  - characteristic_metric:
      metric_type: workload.googleapis.com/elasticsearch.node.open_files
  default_logs:
  - name: elasticsearch_json
    fields:
    - name: jsonPayload.message
      type: string
      description: Log message
    - name: jsonPayload.component
      type: string
      description: The component of Elasticsearch that emitted the log
    - name: jsonPayload.type
      type: string
      description: The type of log, indicating which log the record came from (e.g.
        *server* indicates this LogEntry came from the server log)
    - name: jsonPayload.cluster.name
      type: string
      description: The name of the cluster emitting the log record
    - name: jsonPayload.cluster.uuid
      type: string
      description: The UUID of the cluster emitting the log record
    - name: jsonPayload.node.name
      type: string
      description: The name of the node emitting the log record
    - name: jsonPayload.node.uuid
      type: string
      description: The UUID of the node emitting the log record
    - name: jsonPayload.cluster
      type: string
      description: The cluster emitting the log record
    - name: jsonPayload.node
      type: string
      description: The node emitting the log record
    - name: jsonPayload.level
      type: string
      description: Log entry level
    - name: severity
      type: string
      description: ''
  - name: elasticsearch_gc
    fields:
    - name: jsonPayload.message
      type: string
      description: Log message
    - name: jsonPayload.type
      type: string
      description: The type of the log record
    - name: jsonPayload.gc_run
      type: number
      description: The run of the garbage collector
    - name: severity
      type: string
      description: ''
  default_metrics:
  - name: workload.googleapis.com/elasticsearch.cluster.data_nodes
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.cluster.health
    value_type: INT64
    kind: GAUGE
    labels:
    - status
  - name: workload.googleapis.com/elasticsearch.cluster.nodes
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.cluster.shards
    value_type: INT64
    kind: GAUGE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.node.cache.evictions
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - cache_name
  - name: workload.googleapis.com/elasticsearch.node.cache.memory.usage
    value_type: INT64
    kind: GAUGE
    labels:
    - cache_name
  - name: workload.googleapis.com/elasticsearch.node.cluster.connections
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.cluster.io
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - direction
  - name: workload.googleapis.com/elasticsearch.node.documents
    value_type: INT64
    kind: GAUGE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.node.fs.disk.available
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.http.connections
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.open_files
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.operations.completed
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - operation
  - name: workload.googleapis.com/elasticsearch.node.operations.time
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - operation
  - name: workload.googleapis.com/elasticsearch.node.shards.size
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.thread_pool.tasks.finished
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - state
    - thread_pool_name
  - name: workload.googleapis.com/elasticsearch.node.thread_pool.tasks.queued
    value_type: INT64
    kind: GAUGE
    labels:
    - thread_pool_name
  - name: workload.googleapis.com/elasticsearch.node.thread_pool.threads
    value_type: INT64
    kind: GAUGE
    labels:
    - state
    - thread_pool_name
  - name: workload.googleapis.com/elasticsearch.breaker.memory.estimated
    value_type: INT64
    kind: GAUGE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.breaker.memory.limit
    value_type: INT64
    kind: GAUGE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.breaker.tripped
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.cluster.published_states.differences
    value_type: INT64
    kind: GAUGE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.cluster.published_states.full
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.cluster.state_queue
    value_type: INT64
    kind: GAUGE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.cluster.state_update.count
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.cluster.state_update.time
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - state
    - type
  - name: workload.googleapis.com/elasticsearch.indexing_pressure.memory.limit
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.indexing_pressure.memory.total.primary_rejections
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.indexing_pressure.memory.total.replica_rejections
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.memory.indexing_pressure
    value_type: INT64
    kind: GAUGE
    labels:
    - stage
  - name: workload.googleapis.com/elasticsearch.node.disk.io.read
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.disk.io.write
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.ingest.documents
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.ingest.documents.current
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.ingest.operations.failed
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.pipeline.ingest.documents.current
    value_type: INT64
    kind: GAUGE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.node.pipeline.ingest.documents.preprocessed
    value_type: INT64
    kind: GAUGE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.node.pipeline.ingest.operations.failed
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - name
  - name: workload.googleapis.com/elasticsearch.node.script.cache_evictions
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.script.compilation_limit_triggered
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.script.compilations
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.shards.data_set.size
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.shards.reserved.size
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.translog.operations
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.translog.size
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.translog.uncommitted.size
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.os.cpu.load_avg.15m
    value_type: DOUBLE
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.os.cpu.load_avg.1m
    value_type: DOUBLE
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.os.cpu.load_avg.5m
    value_type: DOUBLE
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.os.cpu.usage
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.os.memory
    value_type: INT64
    kind: GAUGE
    labels:
    - state
  - name: workload.googleapis.com/elasticsearch.cluster.in_flight_fetch
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.cluster.pending_tasks
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.cache.count
    value_type: INT64
    kind: GAUGE
    labels:
    - type
  - name: workload.googleapis.com/elasticsearch.node.fs.disk.free
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/elasticsearch.node.fs.disk.total
    value_type: INT64
    kind: GAUGE
    labels: []
