Áú»¢¶Ä²©

Esta es una traducci¨®n de la p¨¢gina de documentaci¨®n original en espa?ol. Ay¨²danos a mejorarla.

6 Sensor

Cada chip sensor tiene su propio directorio en el ¨¢rbol sysfs /sys/devices. Para encontrar todos los chips de sensores, es m¨¢s f¨¢cil seguir los enlaces simb¨®licos del dispositivo de /sys/class/hwmon/hwmon*, donde * es un ²Ô¨²³¾±ð°ù´Ç real (0,1,2,...).

Las lecturas del sensor se encuentran en el directorio /sys/class/hwmon/hwmon*/ para dispositivos virtuales, o en el directorio /sys/class/hwmon/hwmon*/device para dispositivos no virtuales. Un archivo, llamado name, ubicado dentro de los directorios hwmon* o hwmon*/device contiene el nombre del chip, que corresponde al nombre del controlador del kernel utilizado por el chip sensor.

S¨®lo hay un valor de lectura del sensor por archivo. El esquema com¨²n para nombrar los archivos que contienen lecturas de sensores dentro de cualquiera de los directorios mencionados anteriormente es: <tipo><²Ô¨²³¾±ð°ù´Ç>_<elemento>, donde

  • tipo - para chips de sensores es "in" (voltaje), "temp" (temperatura), "fan" (ventilador), etc.,
  • elemento - "input" (valor medido), "max" (umbral alto), "min" (umbral bajo), etc.,
  • ²Ô¨²³¾±ð°ù´Ç - siempre se utiliza para elementos que pueden estar presentes m¨¢s de una vez (generalmente comienza desde 1, excepto para voltajes que comienzan desde 0). Si los archivos no hacen referencia a un elemento espec¨ªfico tienen un nombre simple sin ²Ô¨²³¾±ð°ù´Ç.

La informaci¨®n sobre los sensores disponibles en el equipo se puede adquirir usando herramientas sensor-detect y sensors (paquete lm-sensors: ). La detecci¨®n de sensores ayuda a determinar qu¨¦ m¨®dulos son necesarios para los sensores disponibles. Cuando se cargan los m¨®dulos, el programa sensors se puede utilizar para mostrar las lecturas de todos los chips sensores. El etiquetado de lecturas de sensores, utilizado por este programa, puede ser diferente del esquema de nomenclatura com¨²n (<tipo><²Ô¨²³¾±ð°ù´Ç>_<elemento> ):

  • si hay un archivo llamado <tipo><²Ô¨²³¾±ð°ù´Ç>_label, entonces se utilizar¨¢ la etiqueta dentro de este archivo en lugar del nombre <tipo><²Ô¨²³¾±ð°ù´Ç><elemento>;
  • si no hay ning¨²n archivo <tipo><²Ô¨²³¾±ð°ù´Ç>_label, entonces el programa busca dentro de /etc/sensors.conf (tambi¨¦n podr¨ªa ser /etc/sensors3.conf, o diferente) para la sustituci¨®n del nombre.

Este etiquetado permite al usuario determinar qu¨¦ tipo de hardware se utiliza. Si no hay ni archivo <tipo><²Ô¨²³¾±ð°ù´Ç>_label ni etiqueta dentro del archivo de configuraci¨®n, el tipo de hardware puede ser determinado por el atributo de nombre (hwmon*/dispositivo/nombre). Los nombres reales de los sensores, que zabbix_agent acepta, se puede obtener ejecutando el programa sensors con par¨¢metro -u (sensors -u).

En el programa sensor los sensores disponibles est¨¢n separados por el tipo de bus (adaptador ISA, adaptador PCI, adaptador SPI, dispositivo virtual, interfaz ACPI, adaptador HID).

En Linux 2.4:

(Las lecturas del sensor se obtienen del directorio /proc/sys/dev/sensors)

  • dispositivo - nombre del dispositivo (si se utiliza <modo>, es una expresi¨®n regular);
  • sensor - nombre del sensor (si se usa <modo>, es una expresi¨®n regular);
  • modo - valores posibles: avg, max, min (si este par¨¢metro se omite, el dispositivo y el sensor se tratan palabra por palabra).

Clave de ejemplo: sensor[w83781d-i2c-0-2d,temp1]

En Linux 2.6+:

(Las lecturas del sensor se obtienen del directorio /sys/class/hwmon)

  • dispositivo - nombre del dispositivo (expresi¨®n no regular). El nombre del dispositivo podr¨ªa ser el nombre real del dispositivo (por ejemplo, 0000:00:18.3) o el nombre adquirido mediante el programa de sensores (por ejemplo, k8temp-pci-00c3). Le corresponde al usuario elegir qu¨¦ nombre utilizar;
  • sensor - nombre del sensor (expresi¨®n no regular);
  • modo - valores posibles: avg, max, min (si este par¨¢metro se omite, el dispositivo y el sensor se tratan palabra por palabra).

Clave de ejemplo:

sensor[k8temp-pci-00c3,temp,max] o sensor[0000:00:18.3,temp1]

sensor[smsc47b397-isa-0880,in,avg] o sensor[smsc47b397.2176,in1]

Obtenci¨®n de los nombres de sensores

Las etiquetas de sensores, tal como se imprimen con el comando sensors, no siempre se pueden utilizar directamente porque el nombre de las etiquetas puede ser diferente para cada proveedor de chip sensor. Por ejemplo, la salida de sensors podr¨ªa contener las siguientes l¨ªneas:

$ 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,3 V: +3,30 V (min = +2,97 V, max = +3,63 V) 
       +12 V: +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)

De estas, solo se puede usar una etiqueta directamente:

$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in0]
       2.240000

Intentar usar otras etiquetas (como Vcore o +12 V) no funcionar¨¢.

$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,Vcore]
       ZBX_NOTSUPPORTED

Para averiguar el nombre real del sensor, que Áú»¢¶Ä²© puede usar para recuperar las lecturas del sensor, ejecute sensors -u. En la salida, se puede observar lo siguiente:

$ 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
       ...

Por lo tanto, Vcore debe consultarse como in1 y +12V debe consultarse como in4. Seg¨²n la , estos son voltajes en los pines del chip y, en t¨¦rminos generales, pueden necesitar escalado.

$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in1]
       1.301000

Áú»¢¶Ä²© no solo puede recuperar lecturas de voltaje (in), sino tambi¨¦n de corriente (curr), temperatura (temp) y velocidad del ventilador (fan).