Każdy chip sensora ma swój własny katalog w drzewie sysfs /sys/devices. Aby znaleźć wszystkie chipy sensorów, łatwiej jest skorzystać z dowiązań symbolicznych urządzenia z /sys/class/hwmon/hwmon*, gdzie * jest liczbą rzeczywistą (0,1,2,...).
Odczyty sensorów znajdują się albo w katalogu /sys/class/hwmon/hwmon*/ dla urządzeń wirtualnych, albo w katalogu /sys/class/hwmon/hwmon*/device dla urządzeń niewirtualnych. Plik o nazwie name, znajdujący się wewnątrz katalogów hwmon* lub hwmon*/device, zawiera nazwę chipa, która odpowiada nazwie sterownika jądra używanego przez chip sensora.
Istnieje tylko jedna wartość odczytu sensora na plik. Wspólny schemat nazewnictwa plików zawierających odczyty sensorów w każdym z wyżej wymienionych katalogów jest następujący: <type><number>_<item>, gdzie
Informacje dotyczące dostępnych sensorów na hoście można uzyskać z użyciem narzędzi sensor-detect i sensors (pakiet lm-sensors: http://lm-sensors.org/). Sensors-detect pomaga określić, które moduły są potrzebne do dostępnych sensorów. Po załadowaniu modułów program sensors może być używany do pokazywania odczytów wszystkich sensorów chipów. Etykietowanie odczytów sensorów, używane przez ten program, może różnić się od wspólnego schematu nazewnictwa (<type><number>_<item> ):
To etykietowanie pozwala użytkownikowi określić, jaki rodzaj sprzętu jest używany. Jeśli nie ma pliku <type><number>_label ani etykiety wewnątrz pliku konfiguracyjnego, rodzaj sprzętu można określić przez atrybut name (hwmon*/device/name). Faktyczne nazwy sensorów, które akceptuje agent zabbix, można uzyskać uruchamiając program sensors z parametrem -u (sensors -u).
W programie sensors dostępne sensory są oddzielone według typu magistrali (adapter ISA, adapter PCI, adapter SPI, urządzenie wirtualne, interfejs ACPI, adapter HID).
(Odczyty sensorów są uzyskiwane z katalogu /proc/sys/dev/sensors)
Przykładowy klucz: sensor[w83781d-i2c-0-2d,temp1]
Przed wersją Zabbix 1.8.4 używany był format sensor[temp1].
(Odczyty sensorów są uzyskiwane z katalogu /sys/class/hwmon)
Przykładowy klucz:
sensor[k8temp-pci-00c3,temp,max] lub sensor[0000:00:18.3,temp1]
sensor[smsc47b397-isa-0880,in,avg] lub sensor[smsc47b397.2176,in1]
Etykiety sensorów, tak jak są wyświetlane przez polecenie sensors, nie zawsze mogą być używane bezpośrednio, ponieważ nazewnictwo etykiet może się różnić w zależności od producenta chipa sensoru. Na przykład, wynik polecenia sensors może zawierać następujące linie:
$ 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)
Spośród nich tylko jedna etykieta może być użyta bezpośrednio:
Próba użycia innych etykiet (takich jak Vcore lub +12V) nie będzie działać.
Aby dowiedzieć się rzeczywistej nazwy sensora, która może być używana przez Zabbix do pobrania odczytów z sensora, należy uruchomić sensors -u. W wyniku, można zobaczyć następujący wynik:
$ 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
...
Więc Vcore powinno być zapytane jako in1, a +12V jako in4.1
Nie tylko napięcie (in), ale również odczyty prądu (curr), temperatury (temp) oraz prędkości wentylatorów (fan) mogą być pobierane przez Zabbix.
Zgodnie z specyfikacją są to napięcia na pinach chipa i zazwyczaj mogą wymagać skalowania.↩︎