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.