4 IPMI pārbaudes

Pārskats

Jūs varat uzraudzīt Intelligent Platform Management Interface (IPMI) ierīču veselības stāvokli un pieejamību Zabbix. Lai veiktu IPMI pārbaudes, Zabbix serverim sākotnēji jābūt konfigurētam ar IPMI atbalstu.

IPMI ir standartizēta saskarne datoru sistēmu attālinātai "lights-out" vai "out-of-band" pārvaldībai. Tā ļauj uzraudzīt aparatūras statusu tieši no tā sauktajām "out-of-band" pārvaldības kartēm neatkarīgi no operētājsistēmas vai no tā, vai iekārta vispār ir ieslēgta.

Zabbix IPMI uzraudzība darbojas tikai ierīcēm ar IPMI atbalstu (HP iLO, DELL DRAC, IBM RSA, Sun SSP u.c.).

IPMI pārvaldnieka process plāno IPMI pārbaudes, ko veic IPMI aptaujātāji. Vienu hostu vienlaikus vienmēr aptaujā tikai viens IPMI aptaujātājs, samazinot atvērto savienojumu skaitu ar BMC kontrolieriem. Tādējādi ir droši palielināt IPMI aptaujātāju skaitu, neuztraucoties par BMC kontrolieru pārslodzi. IPMI pārvaldnieka process tiek automātiski palaists, kad tiek palaists vismaz viens IPMI aptaujātājs.

Skatiet arī zināmās problēmas attiecībā uz IPMI pārbaudēm.

Konfigurācija

Hosta konfigurācija

Lai apstrādātu IPMI pārbaudes, hosts ir jākonfigurē. Jāpievieno IPMI saskarne, norādot attiecīgo IP adresi un porta numuru, kā arī jādefinē IPMI autentifikācijas parametri.

Plašāku informāciju skatiet hostu konfigurācijā.

Servera konfigurācija

Pēc noklusējuma Zabbix serveris nav konfigurēts palaist nevienu IPMI aptaujātāju, tādēļ visi pievienotie IPMI vienumi nedarbosies. Lai to mainītu, atveriet Zabbix servera konfigurācijas failu (zabbix_server.conf) ar root tiesībām un atrodiet šādu rindu:

# StartIPMIPollers=0

Noņemiet komentāra zīmi un iestatiet aptaujātāju skaitu, piemēram, uz 3, lai rinda būtu šāda:

StartIPMIPollers=3

Saglabājiet failu un pēc tam restartējiet zabbix_server.

Vienuma konfigurācija

Kad konfigurējat vienumu hosta līmenī:

  • Atlasiet 'IPMI aģents' kā Type
  • Ievadiet atslēgu, kas ir unikāla hosta ietvaros (piemēram, ipmi.fan.rpm)
  • Laukā Host interface atlasiet atbilstošo IPMI saskarni (IP adrese un ports). Ņemiet vērā, ka hostā ir jābūt izveidotai IPMI saskarnei.
  • Norādiet IPMI sensor (piemēram, 'FAN MOD 1A RPM' Dell Poweredge serverī), no kura iegūt metriku. Pēc noklusējuma jānorāda sensora ID. Ir iespējams arī izmantot prefiksus pirms vērtības:
    • id: - lai norādītu sensora ID;
    • name: - lai norādītu sensora pilno nosaukumu. Tas var būt noderīgi situācijās, kad sensorus var atšķirt, tikai norādot pilno nosaukumu.
  • Atlasiet atbilstošo informācijas tipu ('Numeric (float)' šajā gadījumā; diskrētiem sensoriem — 'Numeric (unsigned)'), mērvienības (visticamāk, 'rpm') un jebkurus citus nepieciešamos vienuma atribūtus
Atbalstītās pārbaudes

IPMI aģents atbalsta iebūvēto vienumu ipmi.get, kas atgriež ar IPMI sensoriem saistītu informāciju un ko var izmantot IPMI sensoru atklāšanai.
Atgrieztā vērtība: JSON objekts

Noildze un sesijas pārtraukšana

IPMI ziņojumu noildzes un atkārtoto mēģinājumu skaits ir definēts OpenIPMI bibliotēkā. Pašreizējā OpenIPMI dizaina dēļ nav iespējams padarīt šīs vērtības konfigurējamas Zabbix, ne saskarnes, ne vienuma līmenī.

IPMI sesijas neaktivitātes noildze LAN savienojumam ir 60 +/-3 sekundes. Pašlaik nav iespējams ieviest periodisku komandas Activate Session nosūtīšanu, izmantojot OpenIPMI. Ja no Zabbix uz konkrētu BMC ilgāk par BMC konfigurēto sesijas noildzi netiek veikta neviena IPMI vienuma pārbaude, tad nākamā IPMI pārbaude pēc noildzes beigām beigsies ar noildzi atsevišķu ziņojumu noildžu, atkārtotu mēģinājumu vai saņemšanas kļūdas dēļ. Pēc tam tiek atvērta jauna sesija un tiek uzsākta pilna BMC atkārtota skenēšana. Jaunās sesijas pārvaldībai var tikt atvērts jauns UDP ports. Neaktivitāte tiek definēta kā gan izejošo pieprasījumu, gan ienākošo atbilžu neesamība. Ja vēlaties izvairīties no nevajadzīgas BMC atkārtotas skenēšanas, ieteicams iestatīt IPMI vienuma aptaujas intervālu zem BMC konfigurētās IPMI sesijas neaktivitātes noildzes.

Piezīmes par IPMI diskrētajiem sensoriem

Lai atrastu sensorus hostā, palaidiet Zabbix serveri ar iespējotu DebugLevel=4. Pagaidiet dažas minūtes un atrodiet sensoru atklāšanas ierakstus Zabbix servera žurnālfailā:

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

Lai atšifrētu IPMI sensoru tipus un stāvokļus, ir pieejama IPMI 2.0 specifikāciju kopija (lūdzu, ņemiet vērā, ka turpmāki atjauninājumi IPMI specifikācijai nav plānoti).

Pirmais parametrs, ar kuru sākt, ir "reading_type". Izmantojiet specifikācijas "Table 42-1, Event/Reading Type Code Ranges", lai atšifrētu "reading_type" kodu. Lielākajai daļai sensoru mūsu piemērā ir "reading_type:0x1", kas nozīmē "threshold" sensoru. "Table 42-3, Sensor Type Codes" parāda, ka "type:0x1" nozīmē temperatūras sensoru, "type:0x2" — sprieguma sensoru, "type:0x4" — ventilatoru utt. Threshold sensorus dažkārt sauc par "analog" sensoriem, jo tie mēra nepārtrauktus parametrus, piemēram, temperatūru, spriegumu, apgriezienus minūtē.

Vēl viens piemērs — sensors ar "reading_type:0x3". "Table 42-1, Event/Reading Type Code Ranges" norāda, ka nolasīšanas tipa kodi 02h-0Ch nozīmē "Generic Discrete" sensoru. Diskrētajiem sensoriem ir līdz 15 iespējamiem stāvokļiem (citiem vārdiem — līdz 15 nozīmīgiem bitiem). Piemēram, sensoram 'CATERR' ar "type:0x7" "Table 42-3, Sensor Type Codes" parāda, ka šis tips nozīmē "Processor", un atsevišķo bitu nozīme ir: 00h (vismazāk nozīmīgais bits) — IERR, 01h — Thermal Trip utt.

Mūsu piemērā ir daži sensori ar "reading_type:0x6f". Šiem sensoriem "Table 42-1, Event/Reading Type Code Ranges" iesaka izmantot "Table 42-3, Sensor Type Codes", lai atšifrētu bitu nozīmi. Piemēram, sensoram 'Power Unit Stat' ir tips "type:0x9", kas nozīmē "Power Unit". Nobīde 00h nozīmē "PowerOff/Power Down". Citiem vārdiem, ja vismazāk nozīmīgais bits ir 1, tad serveris ir izslēgts. Lai pārbaudītu šo bitu, var izmantot funkciju bitand ar masku '1'. Trigera izteiksme varētu būt šāda:

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

lai brīdinātu par servera izslēgšanu.

Piezīmes par diskrēto sensoru nosaukumiem OpenIPMI-2.0.16, 2.0.17, 2.0.18 un 2.0.19

Diskrēto sensoru nosaukumiem OpenIPMI-2.0.16, 2.0.17 un 2.0.18 versijās bieži beigās ir pievienots papildu "0" (vai kāds cits cipars vai burts). Piemēram, kamēr ipmitool un OpenIPMI-2.0.19 attēlo sensoru nosaukumus kā "PhysicalSecurity" vai "CATERR", OpenIPMI-2.0.16, 2.0.17 un 2.0.18 versijās nosaukumi attiecīgi ir "PhysicalSecurity0" vai "CATERR0".

Konfigurējot IPMI vienums ar Zabbix serveris, kas izmanto OpenIPMI-2.0.16, 2.0.17 un 2.0.18, izmantojiet šos nosaukumus, kas beidzas ar "0", IPMI aģents vienumu IPMI sensor laukā. Kad jūsu Zabbix serveris tiks jaunināts uz jaunu Linux distributīvu, kas izmanto OpenIPMI-2.0.19 (vai jaunāku versiju), vienumi ar šiem IPMI diskrētajiem sensoriem kļūs par "NOT SUPPORTED". Jums būs jāmaina to IPMI sensor nosaukumi (jānoņem beigās esošais '0') un kādu laiku jāpagaida, līdz tie atkal kļūs "Enabled".

Piezīmes par sliekšņa un diskrētā sensora vienlaicīgu pieejamību

Daži IPMI aģenti nodrošina gan sliekšņa sensoru, gan diskrēto sensoru ar vienu un to pašu nosaukumu. Priekšroka vienmēr tiek dota sliekšņa sensoram.

Piezīmes par savienojuma pārtraukšanu

Ja IPMI pārbaudes netiek veiktas (jebkāda iemesla dēļ: visi hosta IPMI vienumi ir atspējoti/nav atbalstīti, hosts ir atspējots/dzēsts, hosts ir apkopes režīmā utt.), IPMI savienojums tiks pārtraukts no Zabbix servera vai starpniekservera pēc 3 līdz 4 stundām atkarībā no laika, kad tika palaists Zabbix serveris/starpniekserveris.