Cada chip de sensor recebe seu próprio diretório na árvore sysfs /sys/devices. Para encontrar todos os chips de sensores, é mais fácil seguir os links simbólicos de dispositivos a partir de /sys/class/hwmon/hwmon*, onde * é um número real (0,1,2,...).
As leituras dos sensores estão localizadas no diretório /sys/class/hwmon/hwmon*/ para dispositivos virtuais, ou no diretório /sys/class/hwmon/hwmon*/device para dispositivos não virtuais. Um arquivo chamado name, localizado dentro dos diretórios hwmon* ou hwmon*/device, contém o nome do chip, que corresponde ao nome do driver do kernel usado pelo chip do sensor.
Há apenas um valor de leitura de sensor por arquivo. O esquema comum para nomear os arquivos que contêm leituras de sensores dentro de qualquer um dos diretórios mencionados acima é: <type><number>_<item>, onde
As informações sobre sensores disponíveis no host podem ser adquiridas usando as ferramentas sensors-detect e sensors (pacote lm-sensors). Sensors-detect ajuda a determinar quais módulos são necessários para os sensores disponíveis. Quando os módulos são carregados, o programa sensors pode ser usado para mostrar as leituras de todos os chips de sensores. A rotulagem das leituras dos sensores, usada por este programa, pode ser diferente do esquema de nomenclatura comum (<type><number>_<item>):
<type><number>_label, então o rótulo dentro deste arquivo será usado em vez do nome <type><number><item>;<type><number>_label, então o programa procura dentro do /etc/sensors.conf (pode ser também /etc/sensors3.conf, ou diferente) pela substituição do nome.Essa rotulagem permite ao usuário determinar que tipo de hardware está sendo usado. Se não houver arquivo <type><number>_label nem rótulo dentro do arquivo de configuração, o tipo de hardware pode ser determinado pelo atributo name (hwmon*/device/name). Os nomes reais dos sensores, que o zabbix_agent aceita, podem ser obtidos executando o programa sensors com o parâmetro -u (sensors -u).
No programa sensors, os sensores disponíveis são separados pelo tipo de barramento (adaptador ISA, adaptador PCI, adaptador SPI, dispositivo virtual, interface ACPI, adaptador HID).
Os rótulos dos sensores, conforme impressos pelo comando sensors, nem sempre podem ser usados diretamente porque a rotulagem varia entre os fornecedores de chips. Por exemplo, a saída do sensors pode conter as seguintes linhas:
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)Desses, apenas um nome de exibição corresponde diretamente a um identificador interno:
Tentar usar outros rótulos de exibição (como Vcore ou +12V) não funcionará:
Para encontrar o identificador interno do sensor que o Zabbix aceita, execute sensors -u. Na saída, o seguinte pode ser observado:
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
...Assim, o rótulo Vcore corresponde ao identificador in1 e +12V corresponde a in4. De acordo com a especificação do kernel hwmon sysfs, essas são tensões nos pinos do chip e, de modo geral, podem precisar de escala.
Não apenas a voltagem (in), mas também leituras de corrente (curr), temperatura (temp) e velocidade do ventilador (fan) podem ser recuperadas pelo Zabbix.
As leituras dos sensores são obtidas do diretório /proc/sys/dev/sensors:
Exemplo de chave: sensor[w83781d-i2c-0-2d,temp1].
As leituras dos sensores são obtidas do diretório /sys/class/hwmon:
0000:00:18.3) ou o nome adquirido usando o programa sensors (por exemplo, k8temp-pci-00c3). Cabe ao usuário escolher qual nome usar.avg, max, min (se este parâmetro for omitido, o dispositivo e o sensor são tratados literalmente).Exemplos de chaves:
sensor[k8temp-pci-00c3,temp,max] ou sensor[0000:00:18.3,temp1].
sensor[smsc47b397-isa-0880,in,avg] ou sensor[smsc47b397.2176,in1].