Click here to enlarge

O Nagios é uma excelente ferramenta de monitoração, desde hosts e serviços até temperatura (dependendo do plugin e do hardware que você usa :-)), mas como alguns 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 https://assets.nagios.com/downloads/...s-4.1.1.tar.gz
# wget http://www.nagios-plugins.org/downlo...s-2.1.1.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:

Código:
*** 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

Click here to enlarge

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/c...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:

# nano /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:

# nano /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:

Click here to enlarge

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.