otel hostmetrics
OpenTelemetry Collector otelcol-contrib hostmetrics
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]
Data source config
Collector config:
Upload an updated version of an exported dashboard.json file from Grafana
Revision | Description | Created | |
---|---|---|---|
Download |