Elke sensorchip heeft zijn eigen directory in de sysfs /sys/devices boomstructuur. Om alle sensorchips te vinden, is het gemakkelijker om de apparaat-symbolische koppelingen te volgen vanuit /sys/class/hwmon/hwmon*, waar * een echt getal is (0, 1, 2, ...).
De sensoruitlezingen bevinden zich ofwel in de /sys/class/hwmon/hwmon* directory voor virtuele apparaten, of in de /sys/class/hwmon/hwmon*/device directory voor niet-virtuele apparaten. Een bestand genaamd 'name', dat zich bevindt in de hwmon* of hwmon*/device directories, bevat de naam van de chip, die overeenkomt met de naam van de kernelstuurprogramma die door de sensorchip wordt gebruikt.
Er is slechts één sensoruitleeswaarde per bestand. Het gebruikelijke schema voor het benoemen van de bestanden die sensoruitlezingen bevatten in een van de hierboven genoemde directories is: <type><number>_<item>, waar
De informatie over de beschikbare sensoren op de host kan worden verkregen met behulp van de sensor-detect en sensors hulpprogramma's (lm-sensors pakket: http://lm-sensors.org/). Sensors-detect helpt bij het bepalen welke modules nodig zijn voor beschikbare sensoren. Wanneer de modules zijn geladen, kan het sensors programma worden gebruikt om de uitlezingen van alle sensorchips weer te geven. De etikettering van sensoruitlezingen, die door dit programma wordt gebruikt, kan verschillen van het gebruikelijke benamingsschema (<type><number>_<item> ):
Deze etikettering stelt de gebruiker in staat om te bepalen wat voor soort hardware wordt gebruikt. Als er noch een <type><number>_label bestand is, noch een label in het configuratiebestand, kan het type hardware worden bepaald aan de hand van het naamattribuut (hwmon*/device/name). De feitelijke namen van sensoren die door de zabbix_agent worden geaccepteerd, kunnen worden verkregen door het sensors programma uit te voeren met de parameter -u (sensors -u).
In het sensors programma worden de beschikbare sensoren gescheiden door het bustype (ISA-adapter, PCI-adapter, SPI-adapter, virtueel apparaat, ACPI-interface, HID-adapter).
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, named 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 sensors-detect and sensors tools (lm-sensors package). 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> ):
<type><number>_label, then the label inside this file will be used instead of <type><number><item> name;<type><number>_label file, then the program searches inside the /etc/sensors.conf (could be also /etc/sensors3.conf, or different) for the name substitution.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 the sensors program the available sensors are separated by the bus type (ISA adapter, PCI adapter, SPI adapter, Virtual device, ACPI interface, HID adapter).
Sensor labels, zoals afgedrukt door het sensors-commando, kunnen niet altijd direct gebruikt omdat de naamgeving van labels voor elk anders kan zijn leverancier van sensorchips. De uitvoer van sensoren kan bijvoorbeeld de . bevatten volgende regels:
$ sensoren
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,3 V: +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-temperatuur: +30,0°C (laag = -127,0°C, hoog = +127,0°C)Hiervan mag slechts één label direct worden gebruikt:
Pogingen om andere labels te gebruiken (zoals Vcore of +12V) zullen niet werken.
Om de daadwerkelijke sensornaam te achterhalen, die door Zabbix kan worden gebruikt om: haal de sensormetingen op, voer sensors -u uit. In de uitvoer, de volgende kan worden waargenomen:
$ sensoren -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
...Dus Vcore moet worden opgevraagd als in1, en +12V moet worden opgevraagd als in4.1
Niet alleen spanning (in), maar ook stroom (curr), temperatuur (temp) en ventilatorsnelheid (ventilator) metingen kunnen worden opgehaald door Zabbix.
(Sensormetingen worden verkregen uit de directory /proc/sys/dev/sensors)
Voorbeeldsleutel: sensor[w83781d-i2c-0-2d,temp1]
Voorafgaand aan Zabbix 1.8.4 werd het sensor[temp1]-formaat gebruikt.
(Sensoruitlezingen worden verkregen uit de map /sys/class/hwmon)
Voorbeeld sleutel:
sensor[k8temp-pci-00c3,temp,max] of sensor[0000:00:18.3,temp1]
sensor[smsc47b397-isa-0880,in,avg] of sensor[smsc47b397.2176,in1]
Volgens specificatie dit zijn spanningen op chippinnen en kunnen in het algemeen nodig zijn schalen.↩︎