Áú»¢¶Ä²©

4 Verifica??es IPMI

Vis?o geral

Voc¨º pode monitorar a sa¨²de e disponibilidade de seus dispositivos atrav¨¦s da 'Intelligent Platform Management Interface' (IPMI).
Para executar verifica??es IPMI o Áú»¢¶Ä²© Server/Proxy precisa ser configurado com suporte ao IPMI.

O IPMI ¨¦ uma interface padronizada para monitora??o independente atrav¨¦s da interface secund¨¢ria de gerenciamento do servidor. Ele permite monitorar o status do hardware diretamente atrav¨¦s de cart?es de gerenciamento secund¨¢rios, de forma independente do sistema operacional ou, at¨¦ mesmo, sem o servidor estar ligado.

O monitoramento do Áú»¢¶Ä²© atrav¨¦s de IPMI funcionar¨¢ com dispositivos que possuem este suporte (HP iLO, DELL DRAC, IBM RSA, Sun SSP, etc).

Consulte problemas conhecidos de IPMI para maiores informa??es.

Configura??o

Configura??o do Host

Para que a monitora??o atrav¨¦s do IPMI fique funcional, o host dever¨¢ ser configurado. Dever¨¢ ser adicionada uma interface IPMI com os par?metros de localiza??o e autentica??o (IP, porta, etc).

Para maiores detalhes consulte: configura??o dos hosts.

Configura??o do Servidor

Por padr?o o Áú»¢¶Ä²© Server n?o ¨¦ configurado para iniciar os coletores IPMI, logo os itens IPMI adicionados n?o ir?o funcionar. Para modificar isso, voc¨º dever¨¢ alterar o arquivo de configura??o do Áú»¢¶Ä²© Server (zabbix_server.conf) e localizar a linha a seguir:

# StartIPMIPollers=0

Remova o coment¨¢rio e defina a quantidade de coletores (poolers), poderia ser algo como o exemplo a seguir:

StartIPMIPollers=3

Save the file and restart zabbix_server afterwards.

Configura??o do Item

Quando estiver configurando o item no n¨ªvel do host:

  • Defina o Tipo do item como sendo 'Agente IPMI'
  • Selecione no campo Interface do host uma interface IPMI
  • Defina qual Sensor IPMI dever¨¢ ser coletado (por exemplo 'FAN MOD 1A RPM' em um Dell Poweredge)
  • Informe uma chave que seja ¨²nica no host (por exemplo: ipmi.fan.rpm)
  • Selecione o respectivo tipo de informa??o ('Num¨¦rico (fracion¨¢rio)' neste caso, para sensores discretos - 'Num¨¦rico (inteiro sem sinal)'), unidades (provavelmente 'rpm') e outros atributos necess¨¢rios
Observa??es sobre sensores discretos do IPMI

Para localizar os sensores em um host, inicie o Áú»¢¶Ä²© Server com o n¨ªvel de log para debug (DebugLevel=4**). Aguarde alguns minutos e localize os registros de descoberta de sensores no arquivo de log:

$ 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 decodificar os tipos e estados dos sensores IPMI, baixe uma c¨®pia da especifica??o do IPMI 2.0 em (No momento que escrevemos esta documenta??o a vers?o mais nova do documento era: )

O primeiro par?metro para come?ar ¨¦ o "reading_type". Use "Table 42-1, Event/Reading Type Code Ranges" existente nas especifica??es para decodificar o "reading_type". A maioria dos sensores em nosso exemplo possuem "reading_type:0x1" que significa ser um sensor de "limiar". "Table 42-3, Sensor Type Codes" demonstra que "type:0x1" significa um sensor de temperatura, "type:0x2" - um sensor de voltagem, "type:0x4" - ventilador (cooler/Fan) etc. Os sensores de limiar algumas vezes s?o chamados de sensores anal¨®gicos que medem continuamente par?metros como temperatura, voltagem, rpm, etc.

Outro exemplo - um sensor com "reading_type:0x3". A tabela "Table 42-1, Event/Reading Type Code Ranges" informa que os c¨®digos de leitura 02h-0Ch s?o sensores "Discretos e gen¨¦ricos". Os sensores discretos possuem at¨¦ 15 estados poss¨ªveis (em outras palavras at¨¦ 15 bits ¨²teis). Por exemplo, para o sensor 'CATERR' com "type:0x7" a tabela "Table 42-3, Sensor Type Codes" demonstra que este tipo se refere ao "Processor" e o significado do bit menos significativo: 00h - IERR, 01h - Trilha t¨¦rmica etc.

Temos tamb¨¦m alguns sensores com "reading_type:0x6f" em nosso exemplo. Para estes sensores a tabela "Table 42-1, Event/Reading Type Code Ranges" aconselha usar "Table 42-3, Sensor Type Codes" para decodificar os bits. Por exemplo, o sensor 'Power Unit Stat' tem o tipo "type:0x9" que significa "Unidade de for?a". O offset 00h significa "PowerOff/Desligado". Em outras palavras, o bit menos significante ¨¦ 1 se o servidor estiver desligado. Para testar este bit, a fun??o band com a m¨¢scara 1 poder¨¢ ser utilizada. Uma express?o de trigger poderia ser:

   {www.zabbix.com:Power Unit Stat.band(#1,1)}=1

para avisar sobre problema de perda de for?a no servidor.

Observa??es sobre nomes de sensores discretos no OpenIPMI-2.0.16, 2.0.17, 2.0.18 e 2.0.19

Os nomes de sensores discretos no OpenIPMI-2.0.16, 2.0.17 e 2.0.18 often possuem um "0" adicional (ou outro d¨ªgito ou letra) adicionado ao final. Por exemplo, enquanto ipmitool e OpenIPMI-2.0.19 apresenta os nomes de sensores "PhysicalSecurity" ou "CATERR", no OpenIPMI-2.0.16, 2.0.17 e 2.0.18 estes nomes s?o "PhysicalSecurity0" ou "CATERR0", respectivamente.

Quando configurar um item IPMI no Áú»¢¶Ä²© Server para monitorar um dispositivo com OpenIPMI-2.0.16, 2.0.17 e 2.0.18, utilize estes nomes terminados com "0" no campo Sensor IPMI dos itens do tipo Agente IPMI. Quando seu Servidor Áú»¢¶Ä²© for atualziado para uma nova distribui??o Linux, que utilize uma vers?o superior do OpenIPMI, tais itens passar?o para o estado de "N?O SUPORTADO". Voc¨º ter¨¢ que alterar o campo Sensor IPMI removendo o '0' no final e aguardar algum tempo para que a monitora??o fique operacional novamente neles.

Observa??es sobre limites e sensores discretos

Alguns agentes IPMI proveem tanto sensores de limite quanto sensores discretos com o mesmo nome. No Áú»¢¶Ä²© anterior ao 2.2.8 e 2.4.3, o primeiro sensor que for localizado ser¨¢ utilizado. A partir das vers?es 2.2.8 e 2.4.3, a prefer¨ºncia sempre ser¨¢ para o sensor de limite.

Observa??es sobre finaliza??o de conex?o

Se a verifica??o IPMI n?o for executada (por qualquer raz?o: todos os itens IPMI com o estado disabilitado/n?o suportado, host disabilitado/excluido, host em manuten??o etc.) a conex?o IPMI ser¨¢ terminada no Áú»¢¶Ä²© Server/Proxy de 3 a 4 horas dependendo do momento em que o Áú»¢¶Ä²© Server/Proxy foi iniciado.

Notes on connection termination

If IPMI checks are not performed (by any reason: all host IPMI items disabled/notsupported, host disabled/deleted, host in maintenance etc.) the IPMI connection will be terminated from Áú»¢¶Ä²© server or proxy in 3 to 4 hours depending on the time when Áú»¢¶Ä²© server/proxy was started.