Skip to main content

lm_sensors

Description

This connector enables the monitoring of environment sensors on Linux, through the sensors command.

hardware linux

Superseded Connector

This connector is superseded by:

Target

Typical platform: Linux

Operating system: Linux

Prerequisites

Leverages: lm_sensors

Technology and protocols: Commands

This connector requires advanced privileges on the managed host for the commands below:

  • /usr/sbin/dmidecode
  • /usr/bin/sensors

This connector therefore needs to run as root or you need to configure a privilege-escalation mechanism like sudo on the managed host to allow the monitoring account to run the commands listed above.

Sample of /etc/sudoers to allow the above commands to be run as root by the metricshub account:

metricshub ALL=(root) NOPASSWD: /usr/sbin/dmidecode
metricshub ALL=(root) NOPASSWD: /usr/bin/sensors

Examples

CLI

metricshub HOSTNAME -t linux -c +lmsensors --ssh -u USER --sudo-command-list /usr/sbin/dmidecode,/usr/bin/sensors

metricshub.yaml

resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: linux
connectors: [ +lmsensors ] # Optional, to load only this connector
protocols:
ssh:
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt
useSudo: true
useSudoCommands: [ "/usr/sbin/dmidecode", "/usr/bin/sensors" ]

Connector Activation Criteria

The lm_sensors connector will be automatically activated, and its status will be reported as OK if all the below criteria are met, and no other connector capable of discovering temperature instances is activated:

  • The device type must be one of: Linux
  • The command below succeeds on the monitored host:
    • Command: /usr/bin/sensors -h
    • Output contains: Usage: sensors (regex)

Metrics

TypeCollected MetricsSpecific Attributes
enclosurehw.status{hw.type="enclosure", state="present"}bios_version
id
serial_number
type
vendor
fanhw.fan.speed
hw.fan.speed.limit{limit_type="low.critical"}
hw.fan.speed.limit{limit_type="low.degraded"}
hw.status{hw.type="fan", state="present"}
hw.parent.id
hw.parent.type
id
name
sensor_location
temperaturehw.status{hw.type="temperature", state="present"}
hw.temperature
hw.temperature.limit{limit_type="high.critical"}
hw.temperature.limit{limit_type="high.degraded"}
hw.parent.id
hw.parent.type
id
name
voltagehw.status{hw.type="voltage", state="present"}
hw.voltage
hw.voltage.limit{limit_type="high.critical"}
hw.voltage.limit{limit_type="low.critical"}
hw.parent.id
hw.parent.type
id
name
sensor_location