O
NAGIOS é um programa de monitoramento de Rede independente de plataforma ou equipamento. Com ele é possível verificar o status de equipamentos ou de toda a rede. Também é possível criar grupos de usuários para receber determinados alertas.
Sistema Operacional:
Linux
Mandriva Linux release 2006.0 for i586
Kernel 2.6.12-12mdk on an i686
Ambiente de Teste: Celeron 1.8, 512 RAM, HD 40GB
Pré-Requisitos:
- Servidor Apache com suporte a CGI
- Bibliotecas de Imagem para o Status Map (Mapa da Rede)
- Plugin de VRML no Browser para o 3D- Status Map
Instalação
Instalando Servidor Apache 2.0 no Mandriva
Instale o servidor Web Apache através dos repositórios do Mandriva. Caso desejar poderá instalar o apache através do fonte.
# urpmi apache-modules-2.0.54-13mdk apache-conf-2.0.54-12mdk apache-mpm-prefork-2.0.54-13mdk apache-base-2.0.54-13mdk
Instalando as bibliotecas necessárias de imagem:
# urpmi libgd2 libgd2-devel libpng3 libpng3-devel libjpeg62 libjpeg62-devel zlib1 zlib1-devel
Lista de pacotes das bibliotecas de imagem:
libexpat0-devel-1.95.8-1mdk.i586
libfontconfig1-devel-2.3.2-5mdk.i586
libfreetype6-devel-2.1.10-8mdk.i586
libgd2-2.0.33-3mdk.i586
libgd2-devel-2.0.33-3mdk.i586
libjpeg62-devel-6b-37mdk.i586
libpng3-devel-1.2.8-1mdk.i586
libxorg-x11-devel-6.9-1.cvs20050915.2mdk.i586
libxpm4-devel-3.4k-31mdk.i586
pkgconfig-0.19-2mdk.i586
zlib1-devel-1.2.3-1mdk.i586
Antes de prosseguir a instalação e configuração do Nagios, certifique-se que o servidor Apache está no ar, checando o estado da porta 80:
# netstat -anp | grep -w 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* OUÇA 3955/httpd
Obtendo o código fonte
Acesse o site oficial do Nagios para realizar o download da versão mais recente do Nagios:
Esse manual está baseado na versão 2.4 lançada dia 31 de maio de 2006.
Você poderá também usar o comando wget para baixar o código fonte direto no servidor caso o mesmo não possua interface gráfica habilitada.
# wget http://superbeast.dl.sourceforge.net/sourceforge/nagios/nagios-2.4.tar.gz
Compilando o Nagios
Antes de descompactar o código fonte do Nagios e realizar a compilação é necessário criar o usuário e grupo que irão controlar os processos desse serviço já definindo o home do mesmo como sendo o diretório onde o Nagios será instalado:
# adduser nagios -d /usr/local/nagios
CheckList:
# tail -1 /etc/passwd
# tail -q /etc/group
# ls -ld /usr/local/nagios
Descompacte o arquivo do código fonte na pasta /usr/local/src por ser a pasta mais indicada pela FHS (File Hierarchy Standard) para armazenamento de fontes:
# tar -xvzf nagios-2.4.tar.gz -C /usr/local/src/
# cd /usr/local/nagios-2.4
Iremos compilar o Nagios sem suporte a banco de dados, então temos apenas que definir algumas informações referente a localizações.
- --prefix=/usr/local/nagios -> Diretório de Instalação
- --with-nagios-user=nagios -> Usuário do Nagios
- --with-nagios-grp=nagios -> Grupo do Nagios
- --with-cgiurl=/nagios/cgi-bin -> Endereço das páginas CGI's
- --with-htmurl=/nagios -> Endereço da url principal.
# ./configure --prefix=/usr/local/nagios \
--with-nagios-user=nagios \
--with-nagios-grp=nagios \
--with-cgiurl=/nagios/cgi-bin \
--with-htmurl=/nagios
OBS: Preste atenção enquanto o "configure" checa todas as dependências, pois caso falte alguma ele mostra uma mensagem de aviso na tela.
Para prosseguir a instalação verifique se as informações de instalação foram definidas corretamente. Exemplo:
*** Configuration summary for nagios 2.4 05-31-2006 ***:
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Init directory: /etc/rc.d/init.d
Host OS: linux-gnu
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP): /usr/sbin/traceroute
Caso alguma informação acima esteja errada, você poderá executar o comando "make clean" e repetir o processo de checagem com o configure.
Para concluir a instalação você deverá executar os seguintes comandos:
Criação dos binários do nagios:
# make all
Instalação dos binários no diretório /usr/local/nagios:
# make install
Instalação do script de inicialização:
# make install-init
Configuração das permissões para os arquivos de comando:
# make install-commandmode
Criação dos arquivos de configuração (/usr/local/nagios/etc):
# make install-config
Instalando os plugins do Nagios
Plugins são basicamente executáveis compilados ou scripts, desenvolvidos em Perl, Shell e etc que podem ser executados na linha de comando para checar o status de um cliente ou um serviço. O Nagios usa o resultado dos plugins para determinar o status atual dos clientes e serviços da rede. Nagios sem plugins não tem utilidade nenhuma.
No site oficial do Nagios você poderá obter o pacote básico de plugins do Nagios. Estarei nesse manual usando a versão 1.4 dos plugins:
# wget -r http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.3.tar.gz
Descompacte o source dos plugins no diretório /usr/local/src para manter um padrão de File System:
# tar -xvzf nagios-plugins-1.4.3.tar.gz -C /usr/local/src
Compilação dos plugins oficiais do Nagios:
# cd /usr/local/src/nagios-plugins-1.4.3/
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-grp=nagios
# make all
# make install
CheckList:
# ls /usr/local/nagios/libexec
Todos os plugins instalados do Nagios deverão ficar no diretório /usr/local/nagios/libexec sempre com o prefixo "check".
Exemplos:
- check_ping - Plugin para checar se um host está ativo.
- check_ssh - Plugin para checar se a porta do ssh está ativa.
- check_http - Plugin para checar se a página web está no ar.
- check_dns - Plugin para checar se o DNS está resolvendo nome.
No site
www.nagiosexchange.org existem vários plugins desenvolvidos pela Comunidade Software Livre. Alguns exemplos estarão sendo configurados mais adiante.