Nagios com Check_MK
Check_MK é um plugin que traz uma nova abordagem de monitoração para sistemas operacionais e componentes de rede, substituindo as forma mais obsoletas de checagem como NRPE.
Uma das suas principais caraciterísticas é melhorar a performance da maquina responsável pelo nagios, reduzindo a utilização de CPU da mesma. Outro ponto característico desse plugin é a possibilidade de criação de um inventário de checagens automático no host a ser monitorado.
Principio Básico
- Por padrão o Nagios dispara uma checagem atiava para cada um dos hosts, o que chama o plugin do check_mk que está instalado na maquina responsável pelo nagios.
- O Check_MK por sua vez dispara uma chamada via TCP para o host que ativa o chck_mk_agent que recupera todos os dados da maquina e devolve uma resposta em texto puro.
- Os dados relevantes de cada host é extraido pelo plugin e automaticamente armazenado na base de dados (RRD)
- A partir dos dados obtidos de cada um dos hosts o Check_MK compara os mesmo com as configurações de alarmes (warning / critical) de cada serviço através de checagens passivas.
Características
O check_mk é implementado em Python e o mesmo deve instalado no servidor de monitoração, ou seja, o mesmo em que o nagios se encontra instalado.
O agent do check_mk deve ser instalado nos hosts que serão monitorados, esse plugin é implementado em shell script e tem o principio básico de trazer todas as informações relevantes da maquina para que o check_mk.
Uma das facilidades desse plugin é que, para cada item verificado o mesmo cria automaticamente os arquivos de configuração do nagios.
O check_mk possui suporte a monitoração de dispositivos de rede via SNMP e já tem incluído um inventário automático de Ethernet e switches para FibreChannel utilizados e portas.
Além de todos os itens acima citados o check_mk tem integração total com o nagios, pois para o servidor de nagios o mesmo trata-se apenas de um plugin como qualquer outro.
Instalação
A instalação desse plugin é muito simples, principalmente pelo fato de já possui um script que realiza todos os passos da instalação, bem como a instalação de todas as dependências e softwares para o correto .
PS.: Esse script realiza a instalação automática apenas nos S.O: Red hat, Debian, Ubuntu, Centos OS e Suse
Pré-requisitos
Para o correto funcionamento do plugin é preciso possuir instalado no servidor os seguintes pacotes:
- Nagios 3.0.X, 3.1.X ou 3.2.X (somente no servidor)
- Python 2.X (servidor e cliente)
PS.: Check_mk não é compatível com python 3 - Xinetd (servidor e cliente)
Instalando check_mk plugin
Faça o download do script de instalação no link:
# wget http://mathias-kettner.de/download/install_nagios-1.1.X.sh
Esse script deve ter permissão de execução, nesse caso execute:
# chmod 755 install_nagios-1.1.X.sh
Execute o script e siga as informações para completar a instalação. Após a execução do script você receberá a seguinte mensagem:
=======
Now you can point your browser to to http://ubuntu/nagios/
and login with 'nagiosadmin' and 'test'. You can change the password with # htpasswd /etc/nagios/htpasswd nagiosadmin The new Check_MK Multisite GUI is awaiting you here: http://localhost/check_mk/ =======
Faça a troca da senha do usuário nagiosadmin para acesso a interface webmail do nagios – http://localhost/nagios/
# htpasswd /etc/nagios/htpasswd nagiosadmin
Instalando check_mk_agent
Faça o download dos pacote no link de acordo com a distribuição linux que você esteja utilizando, o check_mk possui pacotes do tipo RPM, DEB ou source. Para que relizar a instalação basta executar:
RPM # rpm -i check_mk-agent-1.0.36-1.noarch.rpm
DEB # dpkg -i check-mk-agent_1.0.36-2_all.deb
Após basta executar o comando “check_mk_agent” que o mesmo lhe exibirá as informações da maquina.
Adicionando hosts
Todos os hosts a serem checados são configurados em um único arquivo. Para adicionar um host no nagios é muito simples, edite o arquivo main.mk (/etc/check_mk/main.mk) e adicione os hosts o seguinte padrão:
all_hosts = [ "localhost", "host1", "host2", "host3", "host4", "host5", "host6" ]
Adicionando checagens
Assim que realizar a inserção de todos os servidores (hosts) à serem monitorados é preciso informar o plugin quais os serviços que o mesmo deve verificar quando fizer a chamada do plugin agent. Nesse caso o check_mk verifica quais os resultados enviados pelo check_mk_agent e com isso cria os padrões de checagem.
Para executar esse procedimento basta executar o seguinte comando:
root@ubuntu# check_mk -I alltcp cpu.loads 1 new checks cpu.threads 1 new checks df 3 new checks diskstat 2 new checks ipmi nothing new kernel.util 1 new checks local nothing new logwatch nothing new lsi.array nothing new lsi.disk nothing new md nothing new mem.used 1 new checks multipath nothing new netctr.combined 1 new checks netif.link 1 new checks
Com esse comando você irá adicionar todas as checagens disponíveis de todos os hosts adicionados no arquivo main.mk, porém caso queria adicionar nova checagens para um host específico basta executar
root@ubuntu# check_mk -I alltcp host
Após adicoinar todos os hosts e as checagens dos mesmos basta reiniciar o check_mk e o nagios para que todas as alterações sejam validadas e os alarmes passem a ser exibidos, para isso execute:
root@ubuntu# check_mk -R Generating Nagios configuration for hosts...OK Generating Nagios configuration for services...OK Validating Nagios configuration...OK Precompiling host checks...OK Restarting Nagios...OK
Visto que o check_mk é totoalmente integrado com o nagios, você terá uma interface como essa:

Mais informações no site oficial do plugin - http://mathias-kettner.de/check_mk.html

julho 7th, 2010 at 14:22
Como vai Italu, por acaso vc sabe me dizer como configurar o recebimento de alertas via email com esta implementação do check_mk e se al alguma maneira de monitorarmos o HTTP HTTPs e MYSQL ou as portas destes serviços…
julho 16th, 2010 at 16:53
Sobre o envio de e-mails eu não tenho essa informação mesmo por que não utilizo esse recurso e não pesquisei ou testei isso, mas recomendo que entre na lista de discussão pois você pode encontrar muitas informações.
Sobre a checagem do HTTP, você pode utilizar os plugins do nagios comum (check_tcp) através do MRPE – http://mathias-kettner.de/checkmk_mrpe.html – ou se preferir pode desenvolver o seu próprio plugin – http://mathias-kettner.de/checkmk_writing_checks.html