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.
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.
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
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.
Code language: JavaScript (javascript)
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.
Créditos desse tutorial do Blogspot Janssen Lima, link para publicação original pode ser acessada através deste link.