Hostmetrics

Host metrics are fundamental performance indicators collected directly from a system's operating system. These metrics provide granular visibility into the physical or virtual server's resource utilization and health status. Every host system in your environment - whether physical machines, virtual machines (VMs), cloud instances, or containerized nodes collects these metrics directly from its local operating system. The OpenTelemetry hostmetrics receiver collects metrics on CPU, memory, disk, network, paging, swap, and system performance.

For more information about the metrics collected by the hostmetrics receiver, see documentation here.

Step 1: Setup OpenTelemetry Collector on Your VM

To collect host metrics from virtual machines (VMs), setup the OpenTelemetry (OTel) collector on each VM and configure the hostmetrics receiver. In this step, you will create a config.yaml which enables the hostmetrics receiver.

Step 2: Configure Host Metrics Collection

The configuration file that you created in the first step enables the hostmetrics receiver. Make sure hostmetrics is added to the receivers and pipelines sections in your configuration file by checking if the below codeblocks are in your config.yaml file.

Receiver

config.yaml
receivers:
  ...
  hostmetrics:
    collection_interval: 60s
    scrapers:
      cpu: {}
      disk: {}
      load: {}
      filesystem: {}
      memory: {}
      network: {}
      paging: {}
      process:
        mute_process_name_error: true
        mute_process_exe_error: true
        mute_process_io_error: true
      processes: {}
    ...

Pipelines

config.yaml
service:
  pipelines:
    ...
    metrics/internal:
      receivers: [prometheus, hostmetrics]
      processors: [resourcedetection, batch]
      exporters: [otlp]
    ...

Output

Once your setup is done, you should see your Hostname in the Hosts tab of Infrastructure Monitoring section in SigNoz.

Host List
Host List

How Collection Works

Toggle to know how hostmetrics collection works

The hostmetrics receiver collects system metrics by interacting with the underlying data sources provided by each operating system. These data sources expose low-level system statistics, which are collected and processed by the receiver.

Below is a table explaining the different data sources and the collection method for different operating systems:

OSData SourcesCollection Method
Linux/proc filesystem, sysfsKernel-exported statistics
WindowsPDH Counters, WMIPerformance Monitor
macOSMach APIs, sysctlSystem framework calls
  • Data Sources: The specific system interfaces or files where metrics are exposed.
  • Collection Method: The mechanism or API used to access the data sources and collect metrics.

Was this page helpful?