Host Metrics Receiver
Status |
|
Stability |
beta |
Supported pipeline types |
metrics |
Distributions |
core, contrib |
The Host Metrics receiver generates metrics about the host system scraped
from various sources. This is intended to be used when the collector is
deployed as an agent.
Getting Started
The collection interval and the categories of metrics to be scraped can be
configured:
hostmetrics:
collection_interval: <duration> # default = 1m
scrapers:
<scraper1>:
<scraper2>:
...
The available scrapers are:
Scraper |
Supported OSs |
Description |
cpu |
All except Mac[1] |
CPU utilization metrics |
disk |
All except Mac[1] |
Disk I/O metrics |
load |
All |
CPU load metrics |
filesystem |
All |
File System utilization metrics |
memory |
All |
Memory utilization metrics |
network |
All |
Network interface I/O metrics & TCP connection metrics |
paging |
All |
Paging/Swap space utilization and I/O metrics |
processes |
Linux |
Process count metrics |
process |
Linux & Windows |
Per process CPU, Memory, and Disk I/O metrics |
Notes
[1] Not supported on Mac when compiled without cgo which is the default.
Several scrapers support additional configuration:
Disk
disk:
<include|exclude>:
devices: [ <device name>, ... ]
match_type: <strict|regexp>
File System
filesystem:
<include_devices|exclude_devices>:
devices: [ <device name>, ... ]
match_type: <strict|regexp>
<include_fs_types|exclude_fs_types>:
fs_types: [ <filesystem type>, ... ]
match_type: <strict|regexp>
<include_mount_points|exclude_mount_points>:
mount_points: [ <mount point>, ... ]
match_type: <strict|regexp>
Load
cpu_average
specifies whether to divide the average load by the reported number of logical CPUs (default: false
).
load:
cpu_average: <false|true>
Network
network:
<include|exclude>:
interfaces: [ <interface name>, ... ]
match_type: <strict|regexp>
Process
process:
<include|exclude>:
names: [ <process name>, ... ]
match_type: <strict|regexp>
mute_process_name_error: <true|false>
scrape_process_delay: <time>
Advanced Configuration
Filtering
If you are only interested in a subset of metrics from a particular source,
it is recommended you use this receiver with the
Filter Processor.
Different Frequencies
If you would like to scrape some metrics at a different frequency than others,
you can configure multiple hostmetrics
receivers with different
collection_interval
values. For example:
receivers:
hostmetrics:
collection_interval: 30s
scrapers:
cpu:
memory:
hostmetrics/disk:
collection_interval: 1m
scrapers:
disk:
filesystem:
service:
pipelines:
metrics:
receivers: [hostmetrics, hostmetrics/disk]
Resource attributes
Currently, the hostmetrics receiver does not set any Resource attributes on the exported metrics. However, if you want to set Resource attributes, you can provide them via environment variables via the resourcedetection processor. For example, you can add the following resource attributes to adhere to Resource Semantic Conventions:
export OTEL_RESOURCE_ATTRIBUTES="service.name=<the name of your service>,service.namespace=<the namespace of your service>,service.instance.id=<uuid of the instance>"