Zabbix Documentation 4.4

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


ru:manual:appendix:items:sensor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ru:manual:appendix:items:sensor [2019/12/02 06:21] (current)
Line 1: Line 1:
 +==== 8 Сенсор ====
  
 +Каждый сенсор получает имеет собственную папку в sysfs дереве /​sys/​devices. Чтобы найти все сенсоры,​ проще всего следовать символическим ссылкам на устройства из /​sys/​class/​hwmon/​hwmon*,​ где * является реальным номером (0,​1,​2,​...).
 +
 +
 +Значения сенсоров размещаются либо в /​sys/​class/​hwmon/​hwmon*/​ папке с виртуальными устройствами,​ либо в /​sys/​class/​hwmon/​hwmon*/​device папке с не виртуальными устройствами. Файл, именуемый name, расположенный в hwmon* или hwmon*/​device папках содержит имя чипа, которое соответствует имени драйвера ядра используемого чипсетом сенсора.
 +
 +В одном файле присутствует только одно значение сенсора. Общая схема наименования файлов,​ которые содержат значения сенсоров,​ внутри любой папки упомянутой выше: <​тип><​номер>​_<​элемент>,​ где ​
 +
 +  * **тип** - для сенсоров чипа может быть "​in"​ (напряжение),​ "​temp"​ (температура),​ "​fan"​ (скорость вентилятора) и т.д,
 +  * **элемент** - "​input"​ (измеренное значение),​ "​max"​ (верхний порог),​ "​min"​ (нижний порог) и т.д.,
 +  * **номер** - всегда используется для элементов,​ которые могут присутствовать более одного раза (обычно начинается с 1, за исключением сенсоров напряжения,​ которые начинаются с 0). Если файлы не ссылаются на определенные элементы,​ они имеют простое наименование без цифр.
 +
 +Информация в отношении сенсоров доступна на хосте и её можно получить утилитами **sensor-detect** и **sensors** (пакет lm-sensors: http://​lm-sensors.org/​). **Sensors-detect** помогает определить,​ какие модули необходимы для доступных сенсоров. Когда модули загружены,​ можно использовать утилиту **sensors**,​ чтобы получить значения со всех сенсоров. Маркировка значений сенсоров используемая данной утилитой,​ может отличаться от приведенной выше схемы (<​тип><​номер>​_<​элемент>​).
 +
 +  * если имеется файл с названием <​тип><​номер>​_метка,​ тогда будет использовать метка вместо имени <​тип><​номер><​элемент>;​
 +  * если файла <​тип><​номер>​_метка отсутствует,​ тогда утилита ищет внутри /​etc/​sensors.conf (может быть также в /​etc/​sensors3.conf,​ или в других),​ чтобы заменить имя.
 +
 +Данная маркировка позволяет пользователям определить,​ какой тип оборудования используется. Если там нет ни <​тип><​номер>​_метка файл, ни метка в файле конфигурации,​ тогда тип оборудования можно определить по имени атрибута (hwmon*/​device/​name). Фактические имена сенсоров,​ которые принимает zabbix_agent,​ можно получить,​ запустив программу **sensors** c -u параметром (**sensors -u**).
 +
 +В программе **sensor** доступные сенсоры разделены по типу шины (ISA adapter, PCI adapter, SPI adapter, Virtual device, ACPI interface, HID adapter).
 +
 +
 +==В Linux 2.4:==
 +(Значения сенсоров извлекаются из папки /​proc/​sys/​dev/​sensors)
 +  * **устройство** - имя устройства (если <​режим>​ используется,​ это регулярное выражение);​
 +  * **сенсор** - имя сенсора (если используется <​режим>,​ это регулярное выражение);​
 +  * **режим** - возможные значения:​ avg, max, min (если этот параметр не указан,​ устройство и сенсор обрабатываются буквально).
 +
 +Пример ключа: sensor[w83781d-i2c-0-2d,​temp1]
 +
 +До версии Zabbix 1.8.4, использовался следующий формат sensor[temp1].
 +
 +==В Linux 2.6+:==
 +(Значения сенсоров извлекаются из директории /​sys/​class/​hwmon)
 +
 +  * **устройство** - имя устройства (не регулярное выражение). Имя устройства может быть фактическим именем устройства (т.е. 0000:​00:​18.3) или имя, полученное при использовании программы sensors (т.е. k8temp-pci-00c3). Пользователь выбирает какое использовать;​
 +  * **сенсор** - имя сенсора (не регулярное выражение);​
 +  * **режим** - возможные значения:​ avg, max, min (если этот параметр не указан,​ устройство и сенсор обрабатываются буквально).
 +
 +Пример ключа:
 +
 +sensor[k8temp-pci-00c3,​temp,​max] или sensor[0000:​00:​18.3,​temp1]
 +
 +sensor[smsc47b397-isa-0880,​in,​avg] или sensor[smsc47b397.2176,​in1]
 +
 +=== Получение имен сенсоров ===
 +
 +Метки сенсоров,​ согласно вывода программы //​sensors//,​ не могут использоваться всегда напрямую,​ потому что именование может отличаться у разных производителей контроллеров. Например,​ вывод //sensors// может содержать следующие строки:​
 +
 +  $ 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)
 +
 +В этом случае,​ может быть использована только одна метка:
 +
 +  $ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,​in0]
 +  2.240000
 +
 +Попытки использовать остальные метки (такие как //Vcore// или //+12V//) не будут работать.
 +
 +  $ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,​Vcore]
 +  ZBX_NOTSUPPORTED
 +
 +Для поиска фактического имени сенсора,​ который можно использовать в Zabbix для получения значений сенсоров,​ запустите //sensors -u//. В полученном выводе можно наблюдать следующее:​
 +
 +  $ 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
 +  ...
 +
 +Таким образом //Vcore// следует опрашивать как //in1//, и //+12V// следует опрашивать как //​in4//​.((В соответствии со [[https://​www.kernel.org/​doc/​Documentation/​hwmon/​sysfs-interface|спецификацией]],​ это значения вольт на ножках чипов и, проще говоря,​ возможно нуждаются в масштабировании.))
 +
 +  $ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,​in1]
 +  1.301000
 +  ​
 +Не только напряжение (in), но а также значения тока (curr), температуры (temp) и скорости вращения вентилятора (fan) можно получать в Zabbix.