4 Verificacions IPMI

Vista general

Podeu monitorar la integritat i disponibilitat de perifèrics IPMI (Intelligent Platform Management Interface) amb Zabbix. Per fer les verificacions IPMI, el servidor Zabbix s'ha de configurar inicialment amb el suport IPMI.

IPMI és una interfície normalitzada per la gestió a distància dels sistemes informàtics. Permet monitorar l'estat del material directament des dels mapes de gestió anomenats «out-of-band», independentment del sistema d'explotació o si la màquina és engegada.

El monitoratge IPMI de Zabbix només funciona amb els perifèrics que admeten IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP, etc.).

Des de Zabbix 3.4, s'ha afegit un nou procés de gestió IPMI per planificar les verificacions IPMI per els pollers IPMI. Mentrestant, un equip s'interroga per un sol poller IPMI cada vegada, cosa que redueix el nombre de connexions obertes amb els controladors BMC. amb aquestes modificacions, és segur augmentar el nombre de pollers IPMI sense amoïnar-nos sobre la càrrega del controlador BMC. El procés de gestió IPMI s'engega automàticament només que hi hagi engegat un únic poller IPMI.

Veieu també els problemes coneguts per les verificacions IPMI.

Configuració

Configuració de l'equip

S'ha de configurar un equip per tractar les verificacions IPMI. Una interfície IPMI s'ha d'afegir, amb les adreces IP i els nombres de port respectius, i s'han de definir els paràmetres d'autenticació IPMI.

Veieu la configuració d'equips per tindre més detalls.

Configuració del servidor

Per defecte, el servidor Zabbix no és pas configurat per iniciar els pollers IPMI. Per tant, els elements IPMI afegits no funcionaran pas. Per canviar-ho, obriu com a usuari root l'arxiu de configuració del servidor Zabbix (zabbix_server.conf) i cerqueu la següent línia:

# StartIPMIPollers=0

Descomenteu-la i definiu el comptador poller (per exemple, 3) per tal que es vegi:

StartIPMIPollers=3

Deseu l'arxiu i reinicieu zabbix_server.

Configuració de l'element

Quan fem la configuració d'un element a nivell d'equip:

  • Trieu 'IPMI agent' com a Tipus
  • Entre una clau única sobre l'equip (com ara ipmi.fan.rpm)
  • Per la interfície de l'equip, trieu la interfície IPMI adequada (IP i port). Veieu que la interfície IPMI ha d'existir a l'equip.
  • Especifiqueu el sensor IPMI (per exemple 'FAN MOD 1A RPM' de Dell Poweredge) sobre quin recuperar el valor. Per defecte, l'ID del sensor s'ha d'especificar. També es poden emprar prefixes davant del valor:
    • id: - per especificar l'ID del sensor;
    • name: - per especificar el nom sencer del sensor. Pot ésser útil a determinades situacions quan els sensors només es puguin distingir amb el nom sencer.
  • Trieu el tipus d'informació corresponent ('Numèrica (flotant)' en aquest cas, per tots els sensors discrets - 'Numèric (sense signe)'), unitats (probablement 'rpm') i qualsevol altre atribut d'elements necessaris
Verificacions admeses

La taula d'aquí sota descriu els elements integrats que s'admeten a les verificacions d'agent IPMI.

clau d'element
Descripció Valor tornat Comentaris
ipmi.get
Informacions relatives al sensor IPMI. Objecte JSON Aquest objecte es pot emprar per la descoberta de sensors IPMI.
Admès des de Zabbix 5.0.0.

Temps d'espera i fi de sessió

Els temps d'espera de missatges IPMI i el comptador dels intents vénen definits a la biblioteca OpenIPMI. De fet, tal com està dissenyat l'OpenIPMI, no és possible fer aquests valors configurables a Zabbix, ni a nivell de la interfície ni a nivell de l'objecte.

El temps d'inactivitat de la sessió IPMI per la xarxa local és de 60 +/- 3 segons. Actualment, no és possible implementar l'enviament periòdic de la comanda « Activate Session » amb OpenIPMI. Si no hi ha pas verificacions d'elements IPMI des de Zabbix sobre un controlador BMC particular més enllà del temps de sessió configurat a BMC, la verificació IPMI següent després de l'expiració del temps d'espera ho farà amb missatges individuals segons temps d'espera exhaurits, nous intents o errors de recepció. Després d'això, s'obrirà una nova sessió i s'iniciarà una nova anàlisi del controlador BMC. Si us cal evitar les redifusions inútils del controlador BMC, és recomanable definir l'interval d'interrogació de l'element IPMI sota el temps d'inactivitat de la sessió IPMI configurada al BMC.

Notes sobre els sensors IPMI discrets

Per trobar els sensors d'un equip en un servidor Zabbix amb DebugLevel=4 actiu. Espereu uns minuts i trobeu els registres de descoberta del sensor al registre 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'

Per decodificar els tipus i estats del sensor IPMI, feu una còpia de les especificacions IPMI 2.0 de http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.html (Al moment d'escriure aquest document, era http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/second-gen-interface-spec-v2.pdf)

El primera paràmetre per començar és "reading_type". Veieu la "Taula 42-1, rang de codi de tipus d'esdeveniment/lectura" per veure les especificacions per decodificar "reading_type". Molts dels sensors del nostre exemple tenen "reading_type:0x1" que vol dir sensor "llindar". A la "Taula 42-3, Codis dels tipus de sensor" hi diu que "type:0x1" vol dir sensor de temperatura, "type:0x2" - sensor de voltatge, "type:0x4" - Ventilador, etc. Els sensors llindar sovint s'anomenen sensors "analògics", doncs mesuren de manera continuada els paràmetres com ara temperatura, voltatge i revolucions per minut.

Un altre exemple - un sensor amb "reading_type:0x3". "Taula 42-1, rang de codi de tipus d'esdeveniment/lectura" diu que el tipus de codi de lectura 02h-0Ch correspon a sensors "Genèrics discrets". Els sensors discrets tenen fins a 15 estats possibles(per tant, fins a 15 bits significatius(. Per exemple, el sensor 'CATERR' amb "type:0x7", la "Taula 42-3, codis de tipus de sensors" diu que aquest tipus és un "Processador" i el significat dels bits individuals és : 00h (el bit menys significatiu) - IERR, 01h - Thermal Trip etc.

Hi ha alguns sensors amb "reading_type:0x6f" al nostre exemple. La "Taula 42-1, rang de codi de tipus d'esdeveniment/lectura" ja diu que cal emprar la "Taula 42-3, codis de tipus de sensors" per decodificar els signifcats dels bits. Per exemple, el sensor 'Power Unit Stat' és del tipus "type:0x9", que vol dir "Power Unit". Offset 00h vol dir "PowerOff/Power Down". En altres paraules, si el menys significant dels bits és 1, el servidor és aturat. Per provar aquest bit, podeu emprar la funció bitand amb màscara '1'. L'expressió trigger pot semblar-se a

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

per avisar-nos si el servidor s'atura.

Notes sobre els sensors discrets a OpenIPMI-2.0.16, 2.0.17, 2.0.18 i 2.0.19

els noms dels sensors discrets amb OpenIPMI-2.0.16, 2.0.17 i 2.0.18 sovint tenen un "0" (o qualsevol altra xifra o lletra) afegida al final del nom. Per exemple, si ipmitool i OpenIPMI-2.0.19 mostren el nom com "PhysicalSecurity" o "CATERR", a OpenIPMI-2.0.16, 2.0.17 i 2.0.18, els noms són "PhysicalSecurity0" i "CATERR0", respectivament.

Quan es configura un element IPMI amb Zabbix emprant OpenIPMI-2.0.16, 2.0.17 i 2.0.18, empreu els noms acabats en "0" al camp Sensor IPMI dels elements de l'agent IPMI. Quan el vostre servidor Zabbix s'actualitzi cap a una nova distribució de Linux, qui empri OpenIPMI-2.0.19 (o una versió posterior), els elements amb els sensors IPMI discrets esdevindran "NO SUPORTATS". Haureu de canviar el seu nom de sensor IPMI (traieu el '0' del final) i esperar un moment abans de reactivar-los.

Notes sobre la disponibilitat simultània dels sensors discrets i llindar

Alguns agents IPMI proveeixen a la vegada un sensor llindar i discret amb el mateix nom. A les versions de Zabbix anteriors a la 2.2.8 i 2.4.3, es tria el primer sensor proporcionat. Després de les versions 2.2.8 i 2.4.3, la preferència sempre la té el sensor llindar.

Notes de la fi de connexió

Si les verificacions IPMI no es fan (per qualsevol raó: elements IPMI dels equips desactivats/no admesos, equip desactivat/esborrat, equip en manteniment, etc.) el servidor o el proxy tancaran la connexió IPMI en 3 o 4 hores, segons l'hora en que el servidor o proxy Zabbix s'hagi engegat.