How-to · OpenTelemetry

How to Monitor Linux and Windows Hosts with OpenTelemetry

Monitoring hosts with OpenTelemetry means collecting system metrics and logs through the OpenTelemetry Collector's host metrics receiver over OTLP, so servers and VMs are observed in the same pipeline as applications..

Monitoring hosts with OpenTelemetry means collecting system metrics and logs through the OpenTelemetry Collector's host metrics receiver over OTLP, so servers and VMs are observed in the same pipeline as applications.

What to observe on a host

Whether Linux or Windows, the host fundamentals are the same: CPU utilization, memory usage and swap, disk usage and I/O, network throughput, filesystem capacity, and process health. These are the baseline signals that reveal saturation and resource exhaustion, which are the causes behind a large share of application symptoms, a host out of disk or memory takes down everything running on it.

The highest-value readings are filesystem capacity and memory pressure, because a full disk and memory exhaustion are the two host conditions that most reliably cause a hard, cascading outage.

How OpenTelemetry collects it

You run the Collector as an agent on each host and enable the hostmetrics receiver, which gathers CPU, memory, disk, filesystem, network and process metrics through per-subsystem scrapers, and the filelog receiver (or the Windows event log receiver) for logs. Everything exports over OTLP so host telemetry sits alongside the services running on it.

The operational detail is permissions: some scrapers, particularly process and certain disk metrics, need elevated access to read full system data, so run the agent with the privileges those scrapers require but no more.

Receiver metric names follow the hostmetrics receiver's conventions and can vary by Collector version; confirm against your build.

Key metrics to watch

The signals that explain most host incidents:

SignalSourceWhat it tells you / watch for
system.cpu.utilizationhostmetricsCPU by state; sustained saturation (including high iowait) causes latency across everything on the host.
system.memory.utilizationhostmetricsMemory in use; approaching full pushes the host into swapping or OOM-killing.
system.paging / swap usagehostmetricsActive swapping is a strong sign of memory pressure and kills performance.
system.filesystem.utilizationhostmetricsDisk space per filesystem; a full disk is a classic hard outage.
system.disk.io / io_timehostmetricsDisk throughput and busy time; high I/O wait starves everything on the host.
system.network.io / errorshostmetricsNetwork throughput and errors; errors point to a NIC or link problem.

What to put on a dashboard

A host dashboard should surface the conditions that cause hard outages first. Row one: filesystem utilization per mount (with a clear threshold line) and memory utilization plus swap. Row two: CPU utilization by state including iowait, and disk I/O and busy time. Row three: network throughput and errors, and top processes by CPU and memory.

# filesystem approaching full (the classic hard outage)
system.filesystem.utilization  by (host, mountpoint)

# memory pressure + swapping
system.memory.utilization{state="used"}
rate(system.paging.operations[5m])

# iowait: disk starving everything on the host
system.cpu.utilization{state="wait"}

Reading the signals: common failure modes

Disk filling up

A filesystem reaches capacity and processes that need to write fail, often taking the whole host down. Filesystem utilization climbing toward 100% on a mount is the warning. The usual causes are runaway logs, unrotated files, or a growing data directory; reclaim space and add rotation or alerting well before full.

Memory exhaustion and swapping

The host runs low on memory and starts swapping or OOM-killing processes, so everything slows or something is killed. Rising memory utilization with active paging is the signature. Find the process consuming memory (top processes panel) and fix the leak or right-size the host.

I/O saturation

Everything on the host slows while CPU iowait is high, because the disk is the bottleneck, a noisy process or an undersized volume. Disk busy time and iowait together confirm it. Move the heavy workload, use faster storage, or throttle the offender.

Example alert conditions

Starting thresholds to tune:

ConditionSignalMeaning
filesystem utilization > 85% for 10mdiskHeading toward a full-disk outage.
memory utilization > 90% with swappingmemoryMemory exhaustion; OOM risk.
CPU iowait > 30% for 10mdiskI/O saturation starving the host.
network errors risingnetworkNIC or link problem.

From monitoring to autonomous resolution

Ops Singularity's TelemetryOps ingests host telemetry over OpenTelemetry, and Sentinel AI resolves host incidents, disk pressure, runaway processes, saturation, through governed Action Tickets. Explore TelemetryOps and InfraOps.

Frequently asked questions

How do I collect host metrics with OpenTelemetry?

Run the OpenTelemetry Collector on each host with the hostmetrics receiver for CPU, memory, disk, network and process metrics, and the filelog or Windows event log receiver for logs, exported over OTLP.

Does the hostmetrics receiver work on Windows?

Yes. The OpenTelemetry Collector's hostmetrics receiver collects system metrics on both Linux and Windows, and Windows event logs can be collected with the Windows event log receiver.

See autonomous operations on your own stack.

Bring a real incident. We will show you Sentinel investigate, act and verify end to end, with every action reversible and audited.

Request a Demo → See TelemetryOps