Áú»¢¶Ä²©

Esta ¨¦ uma tradu??o da p¨¢gina de documenta??o original em ingl¨ºs. Ajude-nos a torn¨¢-la melhor.

4 Verifica??es IPMI

Vis?o geral

Voc¨º pode monitorar a sa¨²de e disponibilidade de dispositivos IPMI (Interface Inteligente de Gerenciamento de Plataforma) no Áú»¢¶Ä²©. Para executar verifica??es IPMI o Áú»¢¶Ä²© Server deve ser inicialmente configurado com suporte a IPMI.

IPMI ¨¦ uma interface padronizada para gerenciamento remoto "fora de banda" (OOB) e "luzes apagadas" (LOM) de sistemas de computador. Ela permite monitorar o estado do hardware diretamente das chamadas placas de gerenciamento fora de banda, independentemente do sistema operacional ou mesmo se a m¨¢quina est¨¢ ou n?o ligada.

O monitoramento IPMI do Áú»¢¶Ä²© funciona apenas com dispositivos que possuem suporte a IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP, etc.).

Desde o Áú»¢¶Ä²© 3.4, um novo processo gerenciador de IPMI foi adicionado ¨¤s verifica??es IPMI agendadas por sondagem IPMI. Agora um host ¨¦ sempre sondado por apenas um sondador IPMI por vez, reduzindo o n¨²mero de conex?es abertas para controladores BMC. Com essas mudan?as ¨¦ seguro aumentar o n¨²mero de sondadores IPMI sem se preocupar com sobrecarga de controlador BMC. O processo gerenciador de IPMI ¨¦ automaticamente iniciado quando ao menos um sondador IPMI ¨¦ iniciado.

Veja tamb¨¦m problemas conhecidos para verifica??es IPMI.

Configura??o

Configura??o de Host

Um host deve estar configurado para processar verifica??es IPMI. Uma interface IPMI deve ser adicionada, com os respectivos n¨²meros de IP e porta, e os par?metros de autentica??o IPMI devem estar definidos.

Consulte a configura??o de hosts para mais detalhes.

Configura??o do Server

Por padr?o, o Áú»¢¶Ä²© Server n?o ¨¦ configurado para iniciar qualquer sondador IPMI, portanto quaisquer itens IPMI adicionados n?o funcionar?o. Para mudar isto, abra o arquivo de configura??o do Áú»¢¶Ä²© Server (zabbix_server.conf) como root e procure pela seguinte linha:

# StartIPMIPollers=0

Descomente esta linha e configure a quantidade de sondadores para, digamos, 3, ficando ent?o desta forma:

StartIPMIPollers=3

Salve o arquivo e reinicie o zabbix_server em seguida.

Configura??o de item

Quando configurando um item no n¨ªvel de host:

  • Selecione 'Agente IPMI' como o Tipo
  • Informe uma chave de item ¨²nica dentro do host (digamos, ipmi.fan.rpm)
  • Para Interface de host selecione a interface IPMI relevante (IP e porta). Note que uma interface IPMI deve existir no host.
  • Defina o Sensor IPMI (por exemplo 'FAN MOD 1A RPM' no Dell Poweredge) do qual obter as m¨¦tricas. Por padr?o, o ID do sensor deve ser especificado. ? tamb¨¦m poss¨ªvel usar prefixos antes do valor:
    • id: - para especificar o ID do sensor;
    • name: - para especificar o nome completo do sensor. Isto pode ser ¨²til em situa??o em que os sensores s¨® podem ser distinguidos especificando o nome completo.
  • Selecione o tipo de informa??o respectivo ('Num¨¦rico (n¨²mero flutuante)' neste caso; para sensores discretos - 'Num¨¦rico (unsigned)'), units (unidades - provavelmente 'rpm') e quaisquer outros atributos de item necess¨¢rios
Verifica??es suportadas

A tabela abaixo descreve itens nativos que s?o suportados nas verifica??es IPMI do agente.

Chave de item
¡ø Descri??o Valore de retorno °ä´Ç³¾±ð²Ô³Ù¨¢°ù¾±´Ç²õ
ipmi.get
Informa??o relacionada ao sensor IPMI. Objeto JSON Este item pode ser usado para descoberta de sensores IPMI.
Suportado desde o Áú»¢¶Ä²© 5.0.0.

Tempo limite (timeout) e t¨¦rmino de sess?o

O tempo limite das mensagens IPMI e contagem de novas tentativas s?o definidos na biblioteca OpenIPMI. Devido ao desenho atual da OpenIPMI, n?o ¨¦ poss¨ªvel tornar estes valores configur¨¢veis no Áú»¢¶Ä²©, nem na interface e nem em n¨ªvel de item.

A expira??o de sess?o IPMI por inatividade ¨¦ de 60 +/-3 segundos para LAN. Atualmente n?o ¨¦ poss¨ªvel implementar envio peri¨®dico de comando Activate Session com OpenIPMI. Se n?o houver verifica??es de item IPMI do Áú»¢¶Ä²© para um BMC particular por mais do que o tempo limite de sess?o configurado no BMC, ent?o a pr¨®xima verifica??o IPMI depois da expira??o de tempo ir¨¢ expirar devido ao tempo limite individual das mensagens, novas tentativas ou recebimento de erro. Ap¨®s isso, uma nova sess?o ¨¦ aberta e ¨¦ iniciada uma releitura completa do BMC. Se voc¨º quiser evitar releituras desnecess¨¢rias do BMC ¨¦ aconselh¨¢vel configurar o intervalo de sondagem do item para um valor abaixo ao tempo limite de sess?o do IPMI por inatividade configurado no BMC.

Notas sobre sensores discretos do IPMI

Para encontrar sensores em um host inicie o Áú»¢¶Ä²© Server com DebugLevel=4 habilitado. Aguarde alguns minutos e encontre os registros de descoberta de sensores no arquivo de log do Áú»¢¶Ä²© Server:

$ 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 compreender os tipos e estado dos sensores, acesse uma c¨®pia das especifica??es IPMI 2.0 em (No momento da documenta??o o material mais recente era , sendo que n?o foi encontrada vers?o em ±Ê´Ç°ù³Ù³Ü²µ³Ü¨º²õ Brasileiro)

O primeiro par?metro com o qual come?ar ¨¦ o "reading_type". Use a tabela "Table 42-1, Event/Reading Type Code Ranges" das especifica??es para interpretar o c¨®digo "reading_type" (tipo de leitura). A maioria dos sensores no nosso exemplo possui "reading_type:0x1" o que significa sensor de limite, a tabela "Table 42-3, Sensor Type Codes" mostra que "type:0x1" significa sensor de temperatura, "type:0x2" - sensor de tens?o, "type:0x4" - Cooler, etc. Sensores de limite algumas vezes s?o chamados de "anal¨®gicos" por medirem par?metros cont¨ªnuos como temperatura, tens?o, revolu??es por minuto.

Outro exemplo - um sensor com "reading_type:0x3". A tabela "Table 42-1, Event/Reading Type Code Ranges" diz que c¨®digos de leitura 02h-0Ch significam sensor "Discreto Gen¨¦rico". Sensores discretos possuem at¨¦ 15 estados poss¨ªveis (em outras palavras - at¨¦ 15 bits significativos). Por exemplo, para sensor 'CATERR' com "type:0x7" a "Table 42-3, Sensor Type Codes" mostra que este tipo significa "Processor" (Processador) e o significado dos bits individuais ¨¦: 00h (o ¨²ltimo bit significante) - IERR, 01h - Thermal Trip, etc.

H¨¢ uns poucos sensores com "reading_type:0x6f" em nosso exemplo. Para estes sensores a tabela "Table 42-1, Event/Reading Type Code Ranges" aconselha usar a "Table 42-3, Sensor Type Codes" para interpretar os bits significativos. Por exemplo, o sensor 'Power Unit Stat' tem o tipo "type:0x9" que significa "Power Unit" (Unidade de Pot¨ºncia). O deslocamento (offset) 00h significa "PowerOff/Power Down" (Desligar). Em outras palavras se o ¨²ltimo bit significativo ¨¦ 1, ent?o o servidor est¨¢ desligado. Para testar este bit, pode ser usada a fun??o bitand com m¨¢scara '1'. A express?o de gatilho poderia ser algo como:

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

para alertar sobre o desligamento de um servidor.

Notas sobre nomes de sensores discretos em OpenIPMI-2.0.16, 2.0.17, 2.0.18 e 2.0.19

Nomes de sensores discretos em OpenIPMI-2.0.16, 2.0.17 e 2.0.18 frequentemente possuem um "0" adicional (ou algum outro d¨ªgito ou letra) na parte final. Por exemplo, enquanto ipmitool e OpenIPMI-2.0.19 mostram o nome de sensor como "PhysicalSecurity" ou "CATERR", em OpenIPMI-2.0.16, 2.0.17 e 2.0.18 os nomes seriam "PhysicalSecurity0" ou "CATERR0", respectivamente.

Quando configurando um item IPMI com Áú»¢¶Ä²© Server usando OpenIPMI-2.0.16, 2.0.17 e 2.0.18, use termina??es de nome com "0" no campo sensor IPMI dos itens de agente IPMI. Quando o seu Áú»¢¶Ä²© Server for atualizado para uma nova distribui??o Linux, que usa OpenIPMI-2.0.19 (ou mais recente), os itens com estes sensores IPMI discretos se tornar?o "N?O SUPORTADOS". Voc¨º ter¨¢ que alterar seus nomes de sensor IPMI (remova o '0' do final) e aguardar um momento at¨¦ que eles se tornem "Habilitados" novamente.

Notas sobre disponibilidade simult?nea de sensor de limite (threshold) e sensor discreto

Alguns agentes IPMI oferecem suporte a um sensor de limite e um sensor discreto sob o mesmo nome. Nas vers?es de Áú»¢¶Ä²© anteriores a 2.2.8 e 2.4.3, o primeiro sensor fornecido era escolhido. Desde as vers?es 2.2.8 e 2.4.3, a prefer¨ºncia ¨¦ sempre dada ao sensor de limite.

Notas sobre encerramento de conex?o

Se as verifica??es IPMI n?o forem executadas (por qualquer raz?o: todos os itens IPMI desabilitados/n?o suportados, host desabilitado/deletado, host em manuten??o, etc.) a conex?o IPMI ser¨¢ encerrada no Áú»¢¶Ä²© Server ou Proxy dentro de 3 a 4 horas, dependendo do hor¨¢rio em que o Áú»¢¶Ä²© Server/Proxy foi iniciado.