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

  1. 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.
  2. 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.
  3. Os dados relevantes de cada host é extraido pelo plugin e automaticamente armazenado na base de dados (RRD)
  4. 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:

  1. Nagios 3.0.X, 3.1.X ou 3.2.X (somente no servidor)
  2. Python 2.X (servidor e cliente)
    PS.: Check_mk não é compatível com python 3
  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


2 Responses to “Nagios com Check_MK”

  • Ronaldo Says:

    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…

  • Italux Says:

    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

Leave a Reply