Skip to main content

Linux System

Description

Collects system metrics from Linux hosts using the /proc filesystem and various Linux commands. Implements the OpenTelemetry semantic conventions for system metrics.

linux system

Target

Typical platform: Linux

Operating system: Linux

Prerequisites

Leverages: Linux commands and /proc

Technology and protocols: Commands

Examples

CLI

metricshub HOSTNAME -t linux -c +Linux --ssh -u USER

metricshub.yaml

resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: linux
connectors: [ +Linux ] # Optional, to load only this connector
protocols:
ssh:
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt

Connector Activation Criteria

The Linux System connector will be automatically activated, and its status will be reported as OK if all the below criteria are met:

  • The command below succeeds on the monitored host:
    • Command: /usr/bin/uname -o || /bin/uname -o
    • Output contains: GNU/Linux (regex)

Metrics

TypeCollected MetricsSpecific Attributes
cpuhw.status{hw.type="cpu", state="present"}
system.cpu.time{system.cpu.state="idle"}
system.cpu.time{system.cpu.state="io_wait"}
system.cpu.time{system.cpu.state="nice"}
system.cpu.time{system.cpu.state="system"}
system.cpu.time{system.cpu.state="user"}
system.cpu.utilization{system.cpu.state="idle"}
system.cpu.utilization{system.cpu.state="io_wait"}
system.cpu.utilization{system.cpu.state="nice"}
system.cpu.utilization{system.cpu.state="system"}
system.cpu.utilization{system.cpu.state="user"}
id
name
system.cpu.logical_number
file_systemsystem.filesystem.usage{system.filesystem.state="free"}
system.filesystem.usage{system.filesystem.state="reserved"}
system.filesystem.usage{system.filesystem.state="used"}
system.filesystem.utilization{system.filesystem.state="free"}
system.filesystem.utilization{system.filesystem.state="reserved"}
system.filesystem.utilization{system.filesystem.state="used"}
id
system.device
system.filesystem.mountpoint
system.filesystem.type
memoryhw.status{hw.type="memory", state="present"}
system.memory.limit
system.memory.usage{system.memory.state="buffers"}
system.memory.usage{system.memory.state="cached"}
system.memory.usage{system.memory.state="free"}
system.memory.usage{system.memory.state="used"}
system.memory.utilization{system.memory.state="buffers"}
system.memory.utilization{system.memory.state="cached"}
system.memory.utilization{system.memory.state="free"}
system.memory.utilization{system.memory.state="used"}
id
networkhw.status{hw.type="network", state="present"}
system.network.bandwidth.limit
system.network.dropped{network.io.direction="receive"}
system.network.dropped{network.io.direction="transmit"}
system.network.errors{network.io.direction="receive"}
system.network.errors{network.io.direction="transmit"}
system.network.io{network.io.direction="receive"}
system.network.io{network.io.direction="transmit"}
system.network.packets{network.io.direction="receive"}
system.network.packets{network.io.direction="transmit"}
id
network.interface.name
pagingsystem.paging.usage{system.paging.state="free"}
system.paging.usage{system.paging.state="used"}
system.paging.utilization{system.paging.state="free"}
system.paging.utilization{system.paging.state="used"}
id
system.device
paging_activitysystem.paging.faults{system.paging.type="major"}
system.paging.faults{system.paging.type="minor"}
system.paging.operations{system.paging.direction="in"}
system.paging.operations{system.paging.direction="out"}
id
physical_diskhw.status{hw.type="physical_disk", state="present"}
system.disk.io_time
system.disk.io{disk.io.direction="read"}
system.disk.io{disk.io.direction="write"}
system.disk.merged{disk.io.direction="read"}
system.disk.merged{disk.io.direction="write"}
system.disk.operation_time{disk.io.direction="read"}
system.disk.operation_time{disk.io.direction="write"}
system.disk.operations{disk.io.direction="read"}
system.disk.operations{disk.io.direction="write"}
id
system.device
systemsystem.uptimeid
name
os_version
version