otel hostmetrics

OpenTelemetry Collector otelcol-contrib hostmetrics

otel hostmetrics screenshot 1

This project is a supplementary version of the following project, providing additional configurations and dashboards

exporters:
  otlphttp/mimir:
    endpoint: http://mimir:9009/otlp

receivers:
  # otelcontribcol metrics + host metrics
  prometheus/agent:
    config:
      scrape_configs:
        - job_name: otel-collector
          scrape_interval: 10s
          static_configs:
            - targets: [0.0.0.0:8888]
  hostmetrics/agent:
    collection_interval: 10s
    scrapers:
      cpu:
        metrics:
          system.cpu.logical.count:
            enabled: true
      memory:
        metrics:
          system.memory.utilization:
            enabled: true
          system.memory.limit:
            enabled: true
      load:
      disk:
      filesystem:
        metrics:
          system.filesystem.utilization:
            enabled: true
      network:
      paging:
      processes:
      process:
        mute_process_user_error: true
        metrics:
          process.cpu.utilization:
            enabled: true
          process.memory.utilization:
            enabled: true
          process.threads:
            enabled: true
          process.paging.faults:
            enabled: true

processors:
  batch/agent:
  resource/agent:
    attributes:
      - action: upsert
        key: service.namespace
        value: agent
  attributes/agent:
      actions:
        - key: service.name
          action: insert
          value: otel-agent
        - key: service.namespace
          action: insert
          value: otlp
        - key: k8s.instance.id
          action: upsert
          value: ${env:K8S_NODE_IP}
  resourcedetection/system:
    detectors: ["system"]
    system:
      hostname_sources: ["os"]
  transform:
    metric_statements:
      - context: datapoint
        statements:
            - set(attributes["process_command"], resource.attributes["process.command"])
            - set(attributes["process_command_line"], resource.attributes["process.command_line"])
            - set(attributes["process_executable_name"], resource.attributes["process.executable.name"])
            - set(attributes["process_executable_path"], resource.attributes["process.executable.path"])
            - set(attributes["process_owner"], resource.attributes["process.owner"])
            - set(attributes["process_parent_pid"], resource.attributes["process.parent_pid"])
            - set(attributes["process_pid"], resource.attributes["process.pid"])
            - set(attributes["net_k8s_name"], resource.attributes["net.k8s.name"])
            - set(attributes["k8s_namespace_name"], resource.attributes["k8s.namespace.name"])
            - set(attributes["k8s_container_name"], resource.attributes["k8s.container.name"])
            - set(attributes["k8s_pod_name"], resource.attributes["k8s.pod.name"])
            - set(attributes["k8s_cluster_name"], resource.attributes["k8s.cluster.name"])
            - set(attributes["k8s_node_name"], resource.attributes["k8s.node.name"])
            - set(attributes["k8s_instance_id"], resource.attributes["k8s.instance.id"])
            - set(attributes["k8s_job_name"], resource.attributes["k8s.job.name"])
            - set(attributes["service.name"], resource.attributes["k8s.container.name"])
            - set(attributes["service.namespace"], resource.attributes["k8s.namespace.name"])

service:
  telemetry:
    metrics:
      level: detailed

  pipelines:
    metrics/agent:
      receivers: [prometheus/agent, hostmetrics/agent]
      processors: [attributes/agent, resourcedetection/system, transform, batch/agent]
      exporters: [otlphttp/mimir]
Revisions
RevisionDescriptionCreated

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies