Each sensor chip gets its own directory in the sysfs /sys/devices tree. To find all sensor chips, it is easier to follow the device symlinks from /sys/class/hwmon/hwmon*, where * is a real number (0,1,2,...).
The sensor readings are located either in /sys/class/hwmon/hwmon*/ directory for virtual devices, or in /sys/class/hwmon/hwmon*/device directory for non-virtual devices. A file, called name, located inside hwmon* or hwmon*/device directories contains the name of the chip, which corresponds to the name of the kernel driver used by the sensor chip.
There is only one sensor reading value per file. The common scheme for naming the files that contain sensor readings inside any of the directories mentioned above is: <type><number>_<item>, where
The information regarding sensors available on the host can be acquired using sensor-detect and sensors tools (lm-sensors package: http://lm-sensors.org/). Sensors-detect helps to determine which modules are necessary for available sensors. When modules are loaded the sensors program can be used to show the readings of all sensor chips. The labeling of sensor readings, used by this program, can be different from the common naming scheme (<type><number>_<item> ):
This labeling allows user to determine what kind of hardware is used. If there is neither <type><number>_label file nor label inside the configuration file the type of hardware can be determined by the name attribute (hwmon*/device/name). The actual names of sensors, which zabbix_agent accepts, can be obtained by running sensors program with -u parameter (sensors -u).
In sensor program the available sensors are separated by the bus type (ISA adapter, PCI adapter, SPI adapter, Virtual device, ACPI interface, HID adapter).
(Les lectures des capteurs sont obtenues à partir du répertoire /proc/sys/dev/sensors)
Exemple de clé :
sensor[w83781d-i2c-0-2d,temp1]
Avant Zabbix 1.8.4, le format sensor[temp1] était utilisé.
(Les lectures des capteurs sont obtenues à partir du répertoire /sys/class/hwmon)
Exemples de clés :
sensor[k8temp-pci-00c3,temp, max] ou sensor[0000:00:18.3,temp1]
sensor[smsc47b397-isa-0880,in, avg] ou sensor[smsc47b397.2176,in1]
Les étiquettes de capteur, telles qu'affichées par la commande sensors, ne peuvent pas toujours être utilisées directement, car leur nom peut être différent pour chaque fournisseur de puce de capteur. Par exemple, la sortie de sensors peut contenir les lignes suivantes :
$ 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)
Parmi celles-ci, une seule étiquette peut être utilisée directement :
Tenter d’utiliser d’autres étiquettes (comme Vcore ou +12V) ne fonctionnera pas.
Pour connaître le nom du capteur réel, qui peut être utilisé par Zabbix pour récupérer les lectures du capteur, exécutez sensors -u. Dans la sortie, on peut observer :
$ 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
...
Donc Vcore devrait être requété comme in1, et +12V devrait être requété comme in4. 1
Pas seulement le voltage (in), mais aussi la lecture du courant (curr), la température (temp) et la vitesse du ventilateur (fan) peuvent être récupérées par Zabbix.
Selon les spécifications ce sont des voltages sur les broches des puces et peuvent généralement nécessiter une mise à l'échelle.↩︎