Cada chip de sensor obtiene su propio directorio en el árbol sysfs /sys/devices. Para encontrar todos los chips de sensores, es más fácil seguir los enlaces simbólicos de dispositivos desde /sys/class/hwmon/hwmon*, donde * es un número real (0,1,2,...).
Las lecturas de los sensores se encuentran en el directorio /sys/class/hwmon/hwmon*/ para dispositivos virtuales, o en el directorio /sys/class/hwmon/hwmon*/device para dispositivos no virtuales. Un archivo, llamado name, ubicado dentro de los directorios hwmon* o hwmon*/device contiene el nombre del chip, que corresponde al nombre del controlador del kernel utilizado por el chip del sensor.
Solo hay un valor de lectura del sensor por archivo. El esquema común para nombrar los archivos que contienen lecturas de sensores dentro de cualquiera de los directorios mencionados anteriormente es: <type><number>_<item>, donde
La información sobre los sensores disponibles en el host se puede obtener utilizando las herramientas sensors-detect y sensors (paquete lm-sensors). Sensors-detect ayuda a determinar qué módulos son necesarios para los sensores disponibles. Cuando los módulos están cargados, el programa sensors se puede usar para mostrar las lecturas de todos los chips de sensores. El etiquetado de las lecturas de los sensores, utilizado por este programa, puede ser diferente del esquema de nombres común (<type><number>_<item>):
<type><number>_label, entonces la etiqueta dentro de este archivo se usará en lugar del nombre <type><number><item>;<type><number>_label, entonces el programa busca dentro de /etc/sensors.conf (también podría ser /etc/sensors3.conf, o diferente) la sustitución del nombre.Este etiquetado permite al usuario determinar qué tipo de hardware se utiliza. Si no hay ni un archivo <type><number>_label ni una etiqueta dentro del archivo de configuración, el tipo de hardware se puede determinar por el atributo name (hwmon*/device/name). Los nombres reales de los sensores, que acepta zabbix_agent, se pueden obtener ejecutando el programa sensors con el parámetro -u (sensors -u).
En el programa sensors los sensores disponibles se separan por tipo de bus (adaptador ISA, adaptador PCI, adaptador SPI, dispositivo virtual, interfaz ACPI, adaptador HID).
Las etiquetas de los sensores, tal como las imprime el comando sensors, no siempre pueden usarse directamente porque el etiquetado varía entre los fabricantes de chips. Por ejemplo, la salida de sensors podría contener las siguientes líneas:
sensors
in0: +2.24 V (min = +0.00 V, max = +3.32 V)
Vcore: +1.15 V (min = +0.00 V, max = +2.99 V)
+3.3V: +3.30 V (min = +2.97 V, max = +3.63 V)
+12V: +13.00 V (min = +0.00 V, max = +15.94 V)
M/B Temp: +30.0°C (low = -127.0°C, high = +127.0°C)De estos, solo un nombre de visualización corresponde directamente a un identificador interno:
Intentar usar otras etiquetas de visualización (como Vcore o +12V) no funcionará:
Para encontrar el identificador interno del sensor que acepta Zabbix, ejecute sensors -u. En la salida, se puede observar lo siguiente:
sensors -u
...
Vcore:
in1_input: 1.15
in1_min: 0.00
in1_max: 2.99
in1_alarm: 0.00
...
+12V:
in4_input: 13.00
in4_min: 0.00
in4_max: 15.94
in4_alarm: 0.00
...Así, la etiqueta Vcore corresponde al identificador in1, y +12V corresponde a in4. De acuerdo con la especificación de hwmon sysfs del kernel, estos son voltajes en los pines del chip y, en general, pueden requerir escalado.
Zabbix puede recuperar no solo lecturas de voltaje (in), sino también de corriente (curr), temperatura (temp) y velocidad de ventilador (fan).
Las lecturas de los sensores se obtienen del directorio /proc/sys/dev/sensors:
Ejemplo de clave: sensor[w83781d-i2c-0-2d,temp1].
Las lecturas de los sensores se obtienen del directorio /sys/class/hwmon:
0000:00:18.3) o el nombre adquirido utilizando el programa sensors (por ejemplo, k8temp-pci-00c3). Depende del usuario elegir qué nombre usar.avg, max, min (si se omite este parámetro, el dispositivo y el sensor se tratan literalmente).Ejemplos de claves:
sensor[k8temp-pci-00c3,temp,max] o sensor[0000:00:18.3,temp1].
sensor[smsc47b397-isa-0880,in,avg] o sensor[smsc47b397.2176,in1].