W Áú»¢¶Ä²© mo?na monitorowa? stan i dost?pno?? urz?dze¨½ z interfejsami IPMI (Intelligent Platform Management Interface).
?eby przeprowadza? testy IPMI serwer Áú»¢¶Ä²© musi by? wst?pnie skonfigurowany z obs?ug? IPMI.
IPMI jest standardowym interfejsem do zdalnego zarz?dzania systemami komputerowymi typu "lights-out" lub "out-of-band". Pozwala na monitorowanie sprz?tu bezpo?rednio z tak zwanych kart zarz?dzania "out-of-band", niezale?nie od systemu operacyjnego czy te? nawet od tego, czy maszyna jest w??czona.
Monitorowanie IPMI Áú»¢¶Ä²© dzia?a wy??cznie dla urz?dze¨½ ze wsparciem IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP, itd.).
Host musi by? skonfigurowany do przetwarzania test¨®w IPMI. Musi by? dodany interfejs IPMI, z odpowiednim adresem IP i numerem portu, oraz musz? by? zdefiniowane parametry uwierzytelniania IPMI.
Wi?cej szczeg¨®?¨®w mo?na obejrze? w konfiguracji host¨®w.
Domy?lnie serwer Áú»¢¶Ä²© nie jest skonfigurowany do uruchamiania jakiegokolwiek procesu pobierania IPMI, zatem ka?da dodana pozycja IPMI nie b?dzie dzia?a?. ?eby to zmieni?, nale?y otworzy? jako root plik konfiguracyjny serwera Áú»¢¶Ä²© (zabbix_server.conf) i odszuka? nast?puj?c? lini?:
Nale?y j? odkomentowa? i ustawi? liczb? proces¨®w pobierania na, powiedzmy, 3, na przyk?ad tak:
Nale?y zapisa? plik i na koniec uruchomi? ponownie zabbix_server.
Podczas konfigurowania pozycji na poziomie hosta:
?eby znale?? czujniki na ho?cie, nale?y uruchomi? serwer Áú»¢¶Ä²© z w??czonym DebugLevel=4. Nale?y odczeka? kilka minut i odszuka? rekordy wykrytych czujnik¨®w w pliku logu serwera Áú»¢¶Ä²©:
$ 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'
?eby zdekodowa? typy i stany czujnik¨®w IPMI, nale?y pobra? kopi? specyfikacji IPMI 2.0 z (Podczas pisania tego dokumentu najnowszym dokumentem by? )
Pierwszym parametrem, od kt¨®rego trzeba zacz?? jest "reading_type". ?eby zdekodowa? kod "reading_type" nale?y u?y? tabeli "Table 42-1, Event/Reading Type Code Ranges" ze specyfikacji. Wi?kszo?? czujnik¨®w z naszego przyk?adu ma "reading_type:0x1" co oznacza czujniki "threshold" (progowy). "Table 42-3, Sensor Type Codes" okre?la, ?e "type:0x1" oznacza czujnik temperatury, "type:0x2" - czujnik napi?cia, "type:0x4" - wentylator itd. Czujniki progowe s? czasami zwane czujnikami "analogowymi", jako ?e mierz? na bie??co takie parametry jak: temperatura, napi?cie, ilo?? obrot¨®w na minut?.
Inny przyk?ad - czujnik z "reading_type:0x3". "Table 42-1, Event/Reading Type Code Ranges" m¨®wi, ?e typy kod¨®w 02h-0Ch oznaczaj? czujnik "Dyskretny og¨®lnego przeznaczenia". Czujniki dyskretne posiadaj? do 15 mo?liwych stan¨®w (innymi s?owami - do 15 znacz?cych bit¨®w). Na przyk?ad, dla czujnika 'CATERR' z "type:0x7" tabela "Table 42-3, Sensor Type Codes" okre?la, ?e ten typ oznacza "Procesor" a znaczenie indywidualnych bit¨®w to: 00h (najmniej znacz?cy bit) - IERR, 01h - Thermal Trip itd..
W naszym przyk?adzie jest kilka czujnik¨®w z "reading_type:0x6f". Dla tych czujnik¨®w tabela "Table 42-1, Event/Reading Type Code Ranges" zaleca u?ycie tabeli "Table 42-3, Sensor Type Codes" do zdekodowania znaczenia bit¨®w. Na przyk?ad, czujnik 'Power Unit Stat' ma typ "type:0x9", kt¨®ry oznacza "Power Unit". Offset 00h oznacza "PowerOff/Power Down". Innymi s?owy, je?eli najmniej znacz?cy bit jest r¨®wny 1, to serwer jest wy??czony. ?eby przetestowa? ten bit mo?na u?y? funkcji band z mask? 1. Wyra?enie wyzwalacza mog?oby wygl?da? tak
je?eli chcemy by? ostrze?eni o wy??czeniu serwera.
Nazwy czujnik¨®w dyskretnych w OpenIPMI-2.0.16, 2.0.17 i 2.0.18 cz?sto posiadaj? dodatkowe "0
" (lub inn? cyfr? lub liter?) dodan? na ko¨½cu. Na przyk?ad, podczas gdy ipmitool
z OpenIPMI-2.0.19 wy?wietli nazwy czujnik¨®w jako "PhysicalSecurity
" lub "CATERR
", w OpenIPMI-2.0.16, 2.0.17 i 2.0.18 nazwy b?d? odpowiednio "PhysicalSecurity0
" lub "CATERR0
".
Podczas konfigurowania pozycji IPMI w serwerze Áú»¢¶Ä²© u?ywaj?cym OpenIPMI-2.0.16, 2.0.17 i 2.0.18, w polu Czujnik IPMI pozycji agenta IPMI nale?y u?ywa? w?a?nie nazw zako¨½czonych na "0". Gdy serwer Áú»¢¶Ä²© zostanie zaktualizowany do nowej dystrybucji Linux-a, u?ywaj?cej OpenIPMI-2.0.19 (lub nowszej), pozycje z takimi czujnikami dyskretnymi IPMI stan? si? "NIEWSPIERANE". Trzeba b?dzie zmieni? ich nazwy Czujnika IPMI (usun?? '0' z ko¨½ca) i odczeka? a? znowu zostan? "W??czone".
Niekt¨®rzy agenci IPMI udost?pniaj? pod t? sam? nazw? zar¨®wno czujniki progowe jak i czujniki dyskretne. W wersjach Áú»¢¶Ä²© poni?ej 2.2.8, wybierany by? pierwszy udost?pniony czujnik. Od wersji 2.2.8, preferowany jest zawsze czujnik progowy.