Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

4 Comprobaciones IPMI

Descripción general

Puede monitorizar la salud y disponibilidad de dispositivos Intelligent Platform Management Interface (IPMI) en Zabbix. Para realizar comprobaciones IPMI, el servidor Zabbix debe estar inicialmente configurado con soporte para IPMI.

IPMI es una interfaz estandarizada para la gestión remota "lights-out" o "out-of-band" de sistemas informáticos. Permite monitorizar el estado del hardware directamente desde las llamadas tarjetas de gestión "out-of-band", independientemente del sistema operativo o de si la máquina está encendida.

La monitorización IPMI de Zabbix solo funciona para dispositivos que tengan soporte IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP, etc).

Un proceso gestor de IPMI programa las comprobaciones IPMI mediante sondeadores IPMI. Un equipo siempre es sondeado por un solo sondeador IPMI a la vez, reduciendo el número de conexiones abiertas a los controladores BMC. Por lo tanto, es seguro aumentar el número de sondeadores IPMI sin preocuparse por la sobrecarga del controlador BMC. El proceso gestor de IPMI se inicia automáticamente cuando se inicia al menos un sondeador IPMI.

Consulte también los problemas conocidos para las comprobaciones IPMI.

Configuración

Configuración de equipos

Se debe configurar un equipo para procesar comprobaciones IPMI. Se debe añadir una interfaz IPMI, con los respectivos números de IP y puerto, y se deben definir los parámetros de autenticación IPMI.

Consulte la configuración de equipos para más detalles.

Configuración del servidor

Por defecto, el servidor Zabbix no está configurado para iniciar ningún poller IPMI, por lo que cualquier métrica IPMI añadida no funcionará. Para cambiar esto, abra el archivo de configuración del servidor Zabbix (zabbix_server.conf) como root y busque la siguiente línea:

# StartIPMIPollers=0

Descoméntela y establezca el número de pollers en, por ejemplo, 3, de modo que quede así:

StartIPMIPollers=3

Guarde el archivo y reinicie zabbix_server después.

Configuración de la métrica

Al configurar una métrica a nivel de equipo:

  • Seleccione 'IPMI agent' como el Tipo
  • Introduzca una clave de métrica que sea única dentro del equipo (por ejemplo, ipmi.fan.rpm)
  • Para Interfaz de equipo seleccione la interfaz IPMI relevante (IP y puerto). Tenga en cuenta que debe existir una interfaz IPMI en el equipo.
  • Especifique el Sensor IPMI (por ejemplo, 'FAN MOD 1A RPM' en Dell Poweredge) del que se obtendrá la métrica. Por defecto, se debe especificar el ID del sensor. También es posible utilizar prefijos antes del valor:
    • id: - para especificar el ID del sensor;
    • name: - para especificar el nombre completo del sensor. Esto puede ser útil en situaciones en las que los sensores solo pueden distinguirse especificando el nombre completo.
  • Seleccione el tipo de información correspondiente ('Numérico (coma flotante)' en este caso; para sensores discretos - 'Numérico (sin signo)'), las unidades (probablemente 'rpm') y cualquier otro atributo requerido de la métrica
Comprobaciones soportadas

El agente IPMI soporta la métrica incorporada ipmi.get, que devuelve información relacionada con sensores IPMI y puede ser utilizada para el descubrimiento de sensores IPMI.
Valor de retorno: objeto JSON

Tiempo de espera y finalización de sesión

Los tiempos de espera de mensajes IPMI y los recuentos de reintentos se definen en la biblioteca OpenIPMI. Debido al diseño actual de OpenIPMI, no es posible hacer que estos valores sean configurables en Zabbix, ni a nivel de interfaz ni de métrica.

El tiempo de espera por inactividad de la sesión IPMI para LAN es de 60 +/-3 segundos. Actualmente no es posible implementar el envío periódico del comando Activate Session con OpenIPMI. Si no hay comprobaciones de métricas IPMI desde Zabbix a un BMC en particular durante más tiempo que el tiempo de espera de sesión configurado en el BMC, entonces la siguiente comprobación IPMI después de que expire el tiempo de espera fallará debido a tiempos de espera individuales de mensajes, reintentos o error de recepción. Después de eso, se abre una nueva sesión y se inicia un nuevo escaneo completo del BMC. Puede abrirse un nuevo puerto UDP para gestionar la nueva sesión. La inactividad se define por la ausencia tanto de solicitudes salientes como de respuestas entrantes. Si desea evitar escaneos innecesarios del BMC, se recomienda establecer el intervalo de sondeo de la métrica IPMI por debajo del tiempo de espera por inactividad de la sesión IPMI configurado en el BMC.

Notas sobre sensores discretos IPMI

Para encontrar sensores en un equipo, inicie el servidor Zabbix con DebugLevel=4 habilitado. Espere unos minutos y busque los registros de descubrimiento de sensores en el archivo de registro del servidor Zabbix:

$ grep 'Added sensor' zabbix_server.log
       8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:7 id:'CATERR' reading_type:0x3 ('discrete_state') type:0x7 ('processor') full_name:'(r0.32.3.0).CATERR'
       8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:15 id:'CPU Therm Trip' reading_type:0x3 ('discrete_state') type:0x1 ('temperature') full_name:'(7.1).CPU Therm Trip'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'System Event Log' reading_type:0x6f ('sensor specific') type:0x10 ('event_logging_disabled') full_name:'(7.1).System Event Log'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'PhysicalSecurity' reading_type:0x6f ('sensor specific') type:0x5 ('physical_security') full_name:'(23.1).PhysicalSecurity'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'IPMI Watchdog' reading_type:0x6f ('sensor specific') type:0x23 ('watchdog_2') full_name:'(7.7).IPMI Watchdog'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'Power Unit Stat' reading_type:0x6f ('sensor specific') type:0x9 ('power_unit') full_name:'(21.1).Power Unit Stat'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'P1 Therm Ctrl %' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(3.1).P1 Therm Ctrl %'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'P1 Therm Margin' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(3.2).P1 Therm Margin'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:13 id:'System Fan 2' reading_type:0x1 ('threshold') type:0x4 ('fan') full_name:'(29.1).System Fan 2'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:13 id:'System Fan 3' reading_type:0x1 ('threshold') type:0x4 ('fan') full_name:'(29.1).System Fan 3'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'P1 Mem Margin' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).P1 Mem Margin'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'Front Panel Temp' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).Front Panel Temp'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:15 id:'Baseboard Temp' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).Baseboard Temp'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:9 id:'BB +5.0V' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +5.0V'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'BB +3.3V STBY' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +3.3V STBY'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:9 id:'BB +3.3V' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +3.3V'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'BB +1.5V P1 DDR3' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.5V P1 DDR3'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'BB +1.1V P1 Vccp' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.1V P1 Vccp'
       8358:20130318:111122.174 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'BB +1.05V PCH' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.05V PCH'

Para descifrar los tipos y estados de los sensores IPMI, está disponible una copia de las especificaciones IPMI 2.0 (tenga en cuenta que no se planean más actualizaciones de la especificación IPMI).

El primer parámetro con el que comenzar es "reading_type". Utilice la "Tabla 42-1, Rangos de códigos de tipo de evento/lectura" de las especificaciones para descifrar el código "reading_type". La mayoría de los sensores en nuestro ejemplo tienen "reading_type:0x1", lo que significa sensor de "umbral". La "Tabla 42-3, Códigos de tipo de sensor" muestra que "type:0x1" significa sensor de temperatura, "type:0x2" - sensor de voltaje, "type:0x4" - Ventilador, etc. Los sensores de umbral a veces se denominan sensores "analógicos" ya que miden parámetros continuos como temperatura, voltaje, revoluciones por minuto.

Otro ejemplo: un sensor con "reading_type:0x3". La "Tabla 42-1, Rangos de códigos de tipo de evento/lectura" indica que los códigos de tipo de lectura 02h-0Ch significan sensor "Discreto Genérico". Los sensores discretos tienen hasta 15 estados posibles (en otras palabras, hasta 15 bits significativos). Por ejemplo, para el sensor 'CATERR' con "type:0x7", la "Tabla 42-3, Códigos de tipo de sensor" muestra que este tipo significa "Procesador" y el significado de los bits individuales es: 00h (el bit menos significativo) - IERR, 01h - Thermal Trip, etc.

Hay algunos sensores con "reading_type:0x6f" en nuestro ejemplo. Para estos sensores, la "Tabla 42-1, Rangos de códigos de tipo de evento/lectura" aconseja utilizar la "Tabla 42-3, Códigos de tipo de sensor" para descifrar el significado de los bits. Por ejemplo, el sensor 'Power Unit Stat' tiene el tipo "type:0x9", lo que significa "Unidad de Potencia". El desplazamiento 00h significa "PowerOff/Power Down". En otras palabras, si el bit menos significativo es 1, entonces el servidor está apagado. Para probar este bit, se puede utilizar la función bitand con la máscara '1'. La expresión de disparo podría ser como

bitand(last(/www.example.com/Power Unit Stat,#1),1)=1

para advertir sobre un apagado del servidor.

Notas sobre los nombres de sensores discretos en OpenIPMI-2.0.16, 2.0.17, 2.0.18 y 2.0.19

Los nombres de los sensores discretos en OpenIPMI-2.0.16, 2.0.17 y 2.0.18 a menudo tienen un "0" adicional (u otro dígito o letra) añadido al final. Por ejemplo, mientras que ipmitool y OpenIPMI-2.0.19 muestran los nombres de los sensores como "PhysicalSecurity" o "CATERR", en OpenIPMI-2.0.16, 2.0.17 y 2.0.18 los nombres son "PhysicalSecurity0" o "CATERR0", respectivamente.

Al configurar una métrica IPMI con el servidor Zabbix usando OpenIPMI-2.0.16, 2.0.17 y 2.0.18, utilice estos nombres terminados en "0" en el campo Sensor IPMI de las métricas del agente IPMI. Cuando su servidor Zabbix se actualice a una nueva distribución de Linux, que utilice OpenIPMI-2.0.19 (o posterior), las métricas con estos sensores discretos IPMI pasarán a estar "NO SOPORTADO". Debe cambiar sus nombres de Sensor IPMI (eliminar el '0' al final) y esperar un tiempo antes de que vuelvan a estar "Habilitado".

Notas sobre la disponibilidad simultánea de sensores de umbral y discretos

Algunos agentes IPMI proporcionan tanto un sensor de umbral como un sensor discreto bajo el mismo nombre. Siempre se da preferencia al sensor de umbral.

Notas sobre la terminación de la conexión

Si no se realizan comprobaciones IPMI (por cualquier motivo: todas las métricas IPMI del equipo deshabilitadas/no soportadas, equipo deshabilitado/eliminado, equipo en mantenimiento, etc.) la conexión IPMI será terminada por el servidor o proxy de Zabbix en 3 a 4 horas, dependiendo del momento en que se inició el servidor/proxy de Zabbix.