Pular para o conteúdo principal

Utilizando ZABBIX para monitorar inferface IPMI

Conforme mencionei no último post, hoje explicarei como utilizar o ZABBIX para monitorar interfaces IPMI.

Alguns administradores de sistemas podem estar perguntando!!! Para que eu vou utilizar IPMI se no GNU/Linux eu posso utilizar o lm_sensors? Bem. Para quem não tem uma interface IPMI disponível para efetuar esse tipo de monitoramento, não vejo nenhum problema. Entretanto, se você tem disponível, porque vai depender de um software para monitorar tais recursos? Além do mais, com o lm_sensors, você depende do Sistema Operacional para realizar o monitoramento. E no caso de um monitoramento com ZABBIX, você precisará usar mais recursos do sistema para coletar as informações dos sensores, como por exemplo, executando scripts que irão obter e repassar estas informações ao ZABBIX. É desperdiçar recursos computacionais demais sem necessidade. Fica a dica.



Como o tópico desse post é monitoramento via IPMI no ZABBIX, vou demonstrar como configurar um monitoramento de uma interface IPMI, da configuração para coleta de um sensor ao alerta de um possível problema.

Suponho que vocês já saibam instalar o ZABBIX em um sistema GNU/Linux. Não? Então, sugiro uma lida no site da Comunidade Brasileira de usuários do Zabbix ou em tutoriais de instalação espalhados pela WEB.

Vamos começar!!!

No servidor do Zabbix devem estar instalados os seguintes pacotes:
- OpenIPMI-libs
- OpenIPMI-devel
- OpenIPMI-tools
Obs.: Estes pacotes estão no repositório do CentOS. Para outras distribuições, faça uma busca apenas com o parâmetro ipmi Exemplo no Debian: apt-cache search ipmi.

Para que o monitoramento via IPMI funcione, é muito importante que você tenha compilado o ZABBIX com a opção --with-openipmi. Se não o fez, recompile para continuar a leitura. Para saber se você compilou com essa opção, sua esperança é não ter apagado o log da compilação. Procure no diretório onde você salvou o source do ZABBIX o arquivo config.log. Se tiver uma linha com #define HAVE_OPENIPMI 1 no final do arquivo, é porque você compilou com essa opção e não terá problemas.

O próximo passo é habilitar no arquivo de configuração do servidor (no meu caso /etc/zabbix/zabbix_server.conf) a seguinte informação:
# StartIPMIPollers=1
Descomente a linha (retire o #), salve o arquivo e reinicie o serviço do ZABBIX Server.
# /etc/init.d/zabbix_server restart
Obs.: Verifique o nome correto do seu serviço, pois pode ser diferente deste exemplo.

No post anterior, eu expliquei como obter os sensores disponíveis na interface IPMI. Para saber mais detalhes clique aqui.
Por ora, iremos utilizar os sensores Ambient Temp e Fan 1A Tach, coletados de um servidor IBM System x3550 M3. Já será suficiente para o entender como funciona o monitoramento de uma interface IPMI no ZABBIX.

Configurações de IPMI no ZABBIX

Eu elaborei este post utilizando a versão 2.0 do ZABBIX. Porém, poderá ser configurada nas versões 1.8.x. Já fiz testes utilizando as versões 1.8.3 e 1.8.4 e obtive resultados positivos.

Acesse a configuração de um host que você deseja fazer o monitoramento via IPMI - menu Configuração >> Hosts. Em seguida, na aba Host, clique no link adicionar, dentro do painel IPMI interfaces e informe o IP ou nome DNS da interface IPMI (sugiro monitorar essa interface por IP) e deixe a porta 623, que é a padrão deste protocolo (apesar de ser a porta padrão, caso você não consiga conexão, verifique no manual do seu hardware qual a porta para acesso ao gerenciamento remoto está configurada). Veja um exemplo da configuração na imagem abaixo.

Habilitando a interface IPMI no host

O próximo passo é você incluir as demais informações na aba IPMI, ainda dentro das configurações do host. Aqui, você deverá escolher o Algoritmo de autenticação como Padrão e o nível de privilégio de acesso, pode deixar Admin. Essas configurações serão de acordo como você configurou a segurança na interface IPMI do seu servidor, pelo frontend WEB. Ainda nesta tela, deverão ser informados o nome de usuário e a sua senha. A imagem abaixo mostra um exemplo desta configuração.

Configuração da senha para acesso ao IPMI


Já habilitamos o servidor para monitoramento via IPMI. Repare que não é necessário configurar um outro host apenas para fazer este monitoramento. Isto porque o ZABBIX não utilizará o seu agente para obter as informações dos sensores, e sim irá se conectar diretamente com a interface IPMI do servidor. Você também poderá incluir um host e apenas monitorar via interface IPMI, porém acho difícil alguém monitorar apenas a interface IPMI em um servidor.

Agora podemos criar os itens para monitorar a interface IPMI.
Vá para o menu Configuração >> Hosts. No host que você habilitou a interface IPMI, clique em Itens.

Informe os seguinte valores:

Nome = Temperatura Ambiente
Tipo = Agente IPMI
Chave = ipmi.ambient.temp
Sensor IPMI = Ambient Temp
Tipo de informação = Numérico (fracionário)
Unidades = C

Configuração do item Temperatura Ambiente

O Objetivo da criação desse item é monitorar a temperatura ambiente do local onde o host está fisicamente instalado. Esse recurso está disponível na interface IPMI do servidor que eu utilizei para realização deste teste. Na criação do item, não é necessário você digitar o campo Host interface, pois este campo é automaticamente preenchido quando você seleciona o tipo do item como Agente IPMI. Caso você for incluir um item em uma template, este campo não estará disponível por motivos óbvios.

Inclua um outro item com os seguintes valores:

Nome = Velocidade FAN 1A
Tipo = Agente IPMI
Chave = ipmi.fan.1a.tach
Sensor IPMI = Fan 1A Tach
Tipo de informação = Numérico (fracionário)
Unidades = RPM

Este item monitora a velocidade em RPM da ventoinha cujo sensor é Fan 1A Tach. O ideal é você verificar no manual do hardware qual é o elemento que o sensor está monitorando, justamente para essa informação não ficar vaga. Lembre-se: não basta monitorar, tem que saber o que está sendo monitorado.

Agora vamos criar uma trigger para alarmar caso a temperatura ambiente passar de 40° C. Na mesma tela de configuração de Hosts, clique em Triggers e preencha os seguintes campos:

Nome = Temperatura ambiente está acima do padrão em {HOSTNAME} 
Expressão = {SERVIDOR:ipmi.ambient.temp.last(0)}>40.


Configuração da trigger Temperatura Ambiente

Configure outra trigger para alarmar sobre a velocidade da FAN:
Nome =  RPM da Fan 1A está abaixo da velocidade padrão em {HOSTNAME}
Expressão = {SERVIDOR:ipmi.fan.1a.tach.last(0)}<530
O servidor ZABBIX vai coletar os itens que foram configurados anteriormente. Para a trigger de temperatura, se o último valor coletado for maior que 40, ou seja, a partir de 41° C já vai disparar um alarme. Obviamente, esta trigger poderá ser melhorada. No caso da trigger de velocidade da FAN, configurei para alarmar caso a FAN estiver menor velocidade menor do que 530 RPM.
É recomendado que você configure as triggers de acordo com os níveis de criticidade que o seu servidor recomenda. E isso pode ser verificado no manual do hardware ou mesmo acessando o frontend de gerenciamento.

Agora você pode incrementar o monitoramento configurando o envio de e-mail e SMS e ficar despreocupado. Esse tipo de monitoramento é importante, pois sua análise ajuda a resolver problemas que estão fora do alcance de um analista resolver. Por exemplo: variação de tensão de entrada na fonte do servidor; temperatura ambiente oscilando muito etc.

Bem pessoal, é isso. Utilizei estes exemplos apenas para demonstrar como seria um monitoramento simples de uma interface IPMI.

Comentários

  1. Além de temperatura e coolers, o que mais é possível monitorar com IPMI ?
    Tipo é possível monitorar fontes, "saúde do HD", etc ?

    ResponderExcluir
    Respostas
    1. Isso vai depender do que o seu servidor disponibiliza para ser monitorado.
      Veja um outro post sobre IPMI (http://janssenlima.blogspot.com/2012/06/monitoramento-via-ipmi.html) que explica como você obter os sensores disponíveis na interface IPMI do seu servidor.

      Excluir
  2. Parabéns amigo, seus dois posts acerca do IPMI e Zabbix ficaram muito bons!!!

    Me ajudou bastante, principalmente na parte de descoberta dos sensores, visto que a documentação do zabbix fala em habilitar o debug 4 no servidor para descobrir isso LOL

    ResponderExcluir
    Respostas
    1. Obrigado. Comentários como o seu é um incentivo a mais para eu postar assuntos que quase sempre não são abordados de forma objetiva.

      Excluir
  3. Bom dia

    realizei todos os procedimentos utilizando Zabbix 2.2.

    Ao realizar a monitoração de servidores HP Proliant, recebo o seguinte erro: error: cannot connect to IPMI host: [22] Invalid argument

    Tem alguma idéia de como resolver isso?

    ResponderExcluir
  4. E com configurar o zabbix para monitorar um sensor de vibração na shilde ethernet. Qual seria o procedimento a seguir, ou um manual.

    ResponderExcluir
  5. Olá boa tarde!

    Eu verifiquei conforme solicitou e não achei o font --with-openipmi no arquivo config.log

    A minha dúvida é, posso baixar o zabbix novamente e instalar somente o font desejado ?

    Ex:

    ./configure --with-openipmi
    make install

    Outra pergunta, preciso fazer com o serviço do zabbix parado, certo ?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Integração Zabbix + GLPI

Versão atualizada Essa atualização é em consequência de pedidos vindo dos gringos e também a pedido da Zabbix SIA por ser o 4.º conteúdo mais popular no recém criado  https://share.zabbix.com/  e o 1.º entre os brasileiros.   Para conferir a lista dos mais populares, acesse  https://share.zabbix.com/popular Há um tempo que eu queria desenvolver algo para integrar o Zabbix a algum outro sistema. Esse ano surgiu uma oportunidade de implementação de alguns sistemas de inventário e gerenciamento de chamados. Logo pensei em fazer uma integração para abertura e fechamento automático dos tickets quando ocorresse algum problema que o Zabbix identificasse. Porém, o meu entusiasmo foi logo caindo quando eu percebi que não era uma coisa tão trivial de se fazer. Pesquisei várias fontes em busca de informações a respeito dessa integração, porém não passavam de tutoriais ensinando como abrir tickets no GLPI enviando um e-mail. Estudando mais um pouco o GLPI, percebi que não era possível

Primeiros passos com API do Zabbix

Bom galera, Faz tempo que não posto nada sobre Zabbix. Então, quis presentear vocês com um conteúdo mais avançado. Espero que ao menos 1 vez por mês coloco mais assuntos como esse no blog. Vou mostrar para vocês como utilizar a API do Zabbix. Antes vou explicar de forma básica o que API para os que não sabem do que se trata. Programadores tem a obrigação de saber.  :P - API  - Application Programming Interface  - é um conjunto de rotinas e padrões estabelecidos por um software. Isso permite que aplicações de terceiros utilizem as funcionalidades oferecidas pelo software.

Usando LSOF para verificar porta usada por determinado processo

Outro dia fui realizar alguns testes em aplicações rodando no JBoss e verifiquei que nenhuma aplicação estava funcionando. Verifiquei no log do JBoss que o serviço iniciava e ocorria vários erros, informando que não conseguia fazer o deploy das aplicações. Mesmo parando o serviço do JBoss, verifiquei com a ferramenta nmap que a porta 8080 continuava aberta.