Nagios com Check-MK

nagios+check

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

tela-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:

tela-check-mk

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.




Sobre Vagner Fonseca

Consultor de TI, Formando em Gestão com muitos anos de experiência na área de Tecnologia, sempre de bem com a vida e procurando novos desafios. Uso de tecnologias Open Source e voltado para segurança e confiabilidade nas empresas . Sempre disposto a aprender e desenvolver equipes para melhoria nos processos nas empresas.
Esta entrada foi publicada em Gerenciamento, Linux, Monitoramento, Redes, Servidor e marcada com a tag , , , . Adicione o link permanente aos seus favoritos.

46 respostas a Nagios com Check-MK

  1. Douglas disse:

    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.

  2. Gustavo Lago disse:

    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.


  3. Ó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.


  4. 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.

  5. Thiago Guedes disse:

    Mais um artigo com o padrão Fonseca de qualidade, Parabéns.

  6. Marcio Rodrigues disse:

    Vagner,

    Obrigado mesmo por compartilhar o post do nagios com check_mk. Não conseguia fazer funcionar, mas agora esta tudo funcionando.

    Obrigado

  7. Douglas disse:

    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.

      • Douglas disse:

        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


  8. 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.

  9. Jefferson disse:

    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

  10. Pedro Gustavo Dias Diogenes disse:

    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?

  11. Luis Paulo Cruz disse:

    Muito Legal..vai ajudar muita gente!!
    Parabéns!!

  12. Bernardo G. L disse:

    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!!

  13. Leandro Barros disse:

    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???

  14. André disse:

    Vagner,

    Para configurar um email para receber as notificações posso fazer no Check_MK?

  15. Oliveira disse:

    Vagner,

    O snmp e o snmpd, pode ser instalado via apt-get depois da compilação?

  16. Oliveira disse:

    O Grande problema dessa compilação é os path descrito nos plugins baixado no nagios exchange, tem de mudar tudo!

  17. Oliveira disse:

    Um pequeno problema…
    Livestatus problem: Cannot connect to ‘unix:/var/log/nagios/rw/live’: [Errno 2] No such file or directory

  18. Oliveira disse:

    Tenho que instalar o livestatus?

  19. Oliveira disse:

    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 .

      • Oliveira disse:

        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.

  20. Roberto Fujiki disse:

    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

Deixe uma resposta