O Nagios é uma excelente ferramenta de monitoração, desde hosts e serviços até temperatura (dependendo do plugin e do hardware que você usa
), já o vimos aqui no artigo Monitorando Servidores com Nagios, mas como alguns leitores pediram vamos colocar o Nagios com o Check_MK, ele é um plugin que substitui o NRPE (plugin remoto de checagem) e tem até uma interface mais agradável do que o Nagios, além de consumir menos recursos no servidor.
Vamos instalar a versão mais atual do Nagios e do Check_MK no Ubuntu server 12.04
Primeiro vamos instalar as dependências para baixar e compilar o Nagios, como root faça:
# apt-get install build-essential wget libgd2-xpm libgd2-xpm-dev libssl-dev
Obs: O libssl-dev é opcional, serve para que o Nagios possa utilizar o plugin de ssl.
Vamos instalar os programas utilizados para interface, visualização e funcionamento do Nagios:
# apt-get install apache2 php5-gd libapache2-mod-php5
Crie, sem diretório HOME nem shell, o usuário nagios:
# useradd -M -d /opt/nagios -s /bin/false nagios
Adicione o usuário www-data e usuários nagios ao grupo nagios:
# usermod -a -G nagios www-data
# usermod -a -G nagios nagios
Vamos para o diretório /usr/src e baixemos o Nagios e seus plugins:
OBS: Se você utiliza proxy lembre-se de configurá-lo antes de tentar baixar.
# cd /usr/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
Vamos descompactar os arquivos baixados:
# tar xvf nagios-3.4.3.tar.gz
# tar xvf nagios-plugins-1.4.16.tar.gz
Agora vamos compilar o Nagios (melhor parte
):
# cd nagios
# ./configure --prefix /opt/nagios --sysconfdir=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagios
Assim iremos compilar o Nagios com diretório de instalação /opt, de configuração /etc com usuários e grupo nagios para execução do servidor e dos comandos.
Depois de executarmos o configure teremos esse resultado:
*** Configuration summary for nagios 3.4.3 11-30-2012 ***:
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /opt/nagios
Lock file: ${prefix}/var/nagios.lock
Check result directory: ${prefix}/var/spool/checkresults
Init directory: /etc/init.d
Apache conf.d directory: /etc/apache2/conf.d
Mail program: /bin/mail
Host OS: linux-gnu
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
Agora vamos: compilar, instalar, instalar os arquivos de inicialização, os arquivos de configuração e os arquivos de comandos e configuração do Apache para o Nagios.
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf
Agora vamos compilar e instalar os plugins:
Instale o perl-snmp para os plugins do Nagios:
# perl -MCPAN -e ‘install Net::SNMP’
# cd /usr/src
# cd nagios-plugins-1.4.16/
# ./configure --prefix /opt/nagios --with-nagios-user=nagios --with-nagios-group=nagios
Agora é só compilar e instalar:
# make
# make install
Vamos criar o arquivo com o usuário e senha para autenticação na interface Web:
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
Coloque a senha de acesso e pronto.
Agora vamos configurar a inicialização do nagios, verificar se existem erros nos arquivos e executar o serviço:
# update-rc.d -f nagios defaults
# /opt/nagios/bin/nagios -v /etc/nagios/nagios.cfg
# /etc/init.d/nagios start
O Nagios está compilado e pronto para acessar, só o básico e nada configurado
, mas vamos deixar isso pro check_mk.
Agora reincie o servidor Apache:
# /etc/init.d/apache2 restart
Para acessar a interface padrão utilize o seguinte endereço no browser:
http://ip-do-servidor/nagios
Utilize a senha do nagiosadmin que foi criada anteriormente.
Para o check_mk funcionar é preciso o módulo de Python para Apache, instale com o seguinte comando:
# apt-get install libapache2-mod-python
Vamos instalar o check_mk, primeiro vamos baixá-lo dentro do /usr/src:
# wget http://mathias-kettner.de/download/check_mk-1.2.0p3.tar.gz
# tar xvf check_mk-1.2.0p3.tar.gz
# cd check_mk-1.2.0p3
# ./setup.sh
Agora verifique os locais apontados para instalação, lembrando que o nosso Nagios está instalado no /opt/nagios e os plugins estão em /opt/nagios/libexec, incluindo o plugin check_icmp, por isso troque o caminho do plugin para /opt/nagios/libexec/check_icmp quando for perguntado.
Lembre-se que os caminhos apresentados pelo check_mk são obtidos por consultas do Nagios, exceto o do plugin check_mk.
Logo que ele compilar basta reiniciar o Apache e o Nagios para começar a usar:
# service apache2 restart
# service nagios restart
Agora instale os pacotes dos agentes nos clientes e não esqueça de liberar no firewall deles o acesso a porta 6556.
Baixe o cliente para sua distribuição Linux e para o Microsoft Windows aqui: http://mathias-kettner.com/check_mk_download.html
Lembrando que se você usa Ubuntu ou Debian deve ter o sudo e xinetd instalados.
Para instalar no Windows faça o seguinte:
1 – Baixe o agente no diretório C:
2 – Descompacte o agente
3 – Execute com :
cd C:\check_mk-1.1.10p3\agents\windows
check_mk_agent.exe install
net start check_mk_agent
No edite o /etc/hosts com o IP e o nome(nome que você quer escolher) para cada cliente, acrescentando no final:
# vi /etc/hosts
.
.
.
#####
# Lista de Servidores para o Check_MK #
192.168.1.252 Debian-Server
192.168.1.251 Windows2008-AD
192.168.1.250 Windows2008-DFS
#######################################
Criada as máquinas no /etc/hosts e os agentes já instalados, vamos adicioná-las ao check_mk:
# vi /etc/check_mk/main.mk
all_hosts = [ "Debian-Server", "Windows2008-AD", "Windows2008-DFS" ]
Agora basta forçar a checagem manual dos hosts e a atualização do Nagios:
# check_mk -I Debian-Server
# check_mk -I Windows2008-AD
# check_mk -I Windows2008-DFS
# check_mk -O
Pronto pode acessar a interface do Nagios com as informações do Check_MK ou na interface do próprio Check_MK:
http://ip-do-servidor/nagios
ou
http://ip-do-servidor/check_mk
A tela do check_mk é a seguinte:
Agora é só monitorar os hosts, lembrando que na interface do check_mk é possível configurar alertas e criar novos usuários para acessar a monitoração.
Não esqueça de comentar e curtir nossa página no Facebook.





Ficou show,sempre que tento rodar o nagios não consigo ,vou seguir esse tuto e ver o que da.
Posso monitorar as estações também ? tem descobrimento automatico
Douglas,
O descobrimento automático só diria se o host está online ou não, é preciso instalar o agente nos clientes para obter as informações necessárias. Pode monitorar estações e servidores.
Boa! Uso o Nagios com o Centreon pra administrá-lo.
Gustavo,
O bom do Check_MK é que não precisa criar o arquivo de configuração do host. O comando check_mk -I HOST , cria a entrada com as configurações em /etc/nagios/check_mk.d/check_mk_objects.cfg.
Podemos habilitar alarmes, comandos e muito mais pela interface web.
Ótimo material Vagner (yoda), só me perdi na instalação do check_mk, tudo o que aparecer eu tenho que apontar para o caminho /opt/nagios ?
João,
Todos os valores estão certos, menos o do check_icmp, esse é o único que deve ser modificado, o resto está certo, fiz vários testes aqui e ele assume os valores do nagios.
Vagner, Muito bom o seu Post. Utilizo mais o Zabbix pela facilidade de configuração. Mais vendo seu post vi que configurar o Nagios + CheckMK parece ser bem simples.
Emerson,
Com o check_mk quase não se mexe em arquivos. Quase tudo é pela interface.
Mais um artigo com o padrão Fonseca de qualidade, Parabéns.
Thiago,
Valeu meu amigo, a idéia é falar de coisas que sejam úteis para os profissionais.
Abraços.
Vagner,
Obrigado mesmo por compartilhar o post do nagios com check_mk. Não conseguia fazer funcionar, mas agora esta tudo funcionando.
Obrigado
me perdi ,após o comando abaixo :
./setup.sh….
Check_MK configuration
Directory where check_mk looks for its main configuration file main.mk.
An example configuration file will be installed there if no main.mk is
present from a previous version:
( default –> /etc/check_mk): “não consgio alterar o caminho do plugin ” help…
Douglas,
A compilação do Nagios e dos plugins ocorreu sem problemas?
Parece que o script do check_mk não está encontrando as informações necessárias. Descompacte de novo e tente.
agora me deparei com esse erro,acho que estou errando em alterar o caminho do plugin.
Proceed with installation (y/n)? y
mkdir: cannot create directory `/usr/src/check_mk-1.2.0p3/y/logwatch’: File exists
./setup.sh: line 693: /usr/src/check_mk-1.2.0p3/y: Is a directory
./setup.sh: line 694: /usr/src/check_mk-1.2.0p3/y: Is a directory
Douglas,
Faça “make clean” , pois isso parece erro de compilações anteriores.
Se não funcionar remova o diretório e depois faça novamente.
Vagner,
Tinha necessidade mesmo de compilar tudo? com o apt-get não resolveria tudo?
Abraços, òtimo post
Welbster,
Ao fazer por apt-get não teria as versões mais recentes dos programas, ao compilar temos programas mais de acordo com nossas necessidades, independente do que as distribuições consideram necessários nos pacotes.
Vagner,
Na empresa onde trabalho estamos querendo fazer a implementação de um novo nagios, até porque o que estamos utilizando já está bem desatualizado. Comecei a instalação da nova versão e também coloquei o check_mk, mais como sou um novato em linux e também a ferramenta parece ser um pouco complexa, gostaria de algumas dicas para cadastro de hosts e serviços nessa versão. Achei extremamente interessante, a interface é muito agradável. Algumas dicas de configurações de serviços cairia otimamente bem, pois não tem muito na internet sobre o check_mk.
Muito bom o seu post, obrigado por divulgar sobre essa ferramenta!
Att,
Jefferson
Jefferson,
Você pode criar arquivos com configurações manuais para cada host ou pode adicionar hosts pelo check_mk (check_mk -I HOST ; check_mk -R), ele cria entradas para cada host no arquivo /etc/nagios/chech_mk.d/check_mk_objects.cfg
Excelente o tutorial Vagner. Fiz aqui e funcionou beleza.
Eu ja tinha o nagios mais estava desatualizado, e com o check_mk ficou otimo.
Eu so tenho uma duvida: como eu faço para incluir switches e roteadores pelo check_mk?
Pedro,
A intenção é sempre facilitar a vida do profissional de TI.
Quanto a fazer ingresso de equipamentos de rede, posso fazer um post sobre isso. Que acha?
Abraços.
Eu acho ótimo. Seria excelente, porque na minha organização eu monitoro roteadores que fazem link com outras cidades, alem de vários switches.
Fico no aguardo desse post. Obrigado.
Ora ai esta uma grande ideia…
Muito Legal..vai ajudar muita gente!!
Parabéns!!
Parabens, ja tinha tempo que estava procurando um bom tutorial sobre o MK. Ja instalei e coloquei para funcionar. Mais não estou conseguindo achar como configura a notificação por email.
Obrigado!!
Olá Bom dia parabéns pelo post muito bom mesmo!!!!
Estou implementando o nagios com check_mk mais estamos com dificuldade para configurar serviços a ser monitorado.
Nosso caso e que precisamos monitorar serviço especifico através da porta COM.
E possível???
Leandro,
Nunca monitorei serviços pela porta serial, o que seria?
Seria software para coleta de dados maquina processamento clínico!!!
Leandro, é para monitorar se a porta está ativa ou não?
Para monitorar se esta transmitindo ou não!!!!
Leandro,
Não dá pra monitorar o que não possui ip, mas se o equipamento onde a porta está conectado possuir snmp pode fazer a coleta de informações por esse protocolo.
Vagner,
Para configurar um email para receber as notificações posso fazer no Check_MK?
André,
Sim, pode fazer. Basta configurar um smtp de saída nesta máquina.
Vagner,
O snmp e o snmpd, pode ser instalado via apt-get depois da compilação?
Podem ser instalados sim,
O Grande problema dessa compilação é os path descrito nos plugins baixado no nagios exchange, tem de mudar tudo!
Eu uso apenas os plugins do check_MK, por isso não tenho problemas na compilação
Um pequeno problema…
Livestatus problem: Cannot connect to ‘unix:/var/log/nagios/rw/live’: [Errno 2] No such file or directory
Verfica os passos de compilação e os caminhos na hora de responder as perguntas do check_mk.
Tenho que instalar o livestatus?
Ele é instalado na compilação.
Wagner, parabéns em!!!! belo post! Agora como faço para colocar ou retirar serviços especificos de cada host? qual o arquivo de conf do check_mk?
Oliveira,
O arquivo onde o check_mk cria os hosts é: /etc/nagios/check_mk.d/check_mk_objects.cfg .
De fato! Bem similar ao Nagios, porem mesmo apagando a entrada do serviço no arquivo e restartando o Nagios apache e mk ele não sai, isso tbm acontece com o mrpe queé similar ao NRPE! Obg pela atenção Vagner!
Oliveira,
Pelo WATO você consegue escolher quais serviços vão ser monitorados sem ter que escolher via linha de comando, quando você cadastra os serviços pela linha de comando, mesmo apagando do arquivo ele é criado de novo.
Alguém pode me ajudar, estou tentando instalar o check_mk, mas da erro na compilação do check_mk.d, quando digito: check_mk -o aparece o seguinte erro: Error in plugin file /usr/share/check_mk/checks/3ware_disks: name ‘checkgroup_of’ is not defined