O Nagios é uma aplicação de monitoração de rede de código aberto. Ele pode monitorar tanto hosts quanto serviços através de alarmes de estado.
As configurações dos hosts e serviços no Nagios são configurados em vários arquivos de texto e isso além de trabalhoso é muito suscetível a erros, portanto será mostrado também a instalação e configuração de uma interface web para facilitar o controle dessas configurações com o adicional de armazená-las em banco de dados.
Apesar do Nagios existir nos repositórios do Debian, neste procedimento será apresentado a forma compilada de instalação. Isso permite um controle mais organizado das configurações
Instalação do Nagios
Pré-requisitos.
Requisitos para quem utiliza o MTA EXIM (padrão Debian):
# apt-get install sudo mailx lsb-release build-essential apache2 apache2-mpm-prefork php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-server libmysqlclient-dev rrdtool librrds-perl libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl snmp snmpd libnet-snmp-perl libsnmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev php-html-template-it
Requisitos para quem usa o MTA POSTFIX:
# apt-get install sudo mailx lsb-release build-essential apache2 apache2-mpm-prefork php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-server libmysqlclient15-dev rrdtool librrds-perl libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl snmp snmpd libnet-snmp-perl libsnmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev postfix php-html-template-it
Obs.: O RRDTool será instalado para que posteriormente seja possível a geração de gráficos.
Versões dos softwares instalados pelo APT:
Apache 2.2.15:
- apache2 2.2.15-3
- apache2-mpm-prefork 2.2.15-3
- apache2-utils 2.2.15-3
- apache2.2-bin 2.2.15-3
- apache2.2-common 2.2.15-3
- libapache2-mod-php5 5.3.2-1
MySQL 5.1:
- libdbd-mysql-perl 4.013-1
- libmysqlclient-dev 5.1.45-1
- libmysqlclient16 5.1.45-1
- mysql-client-5.1 5.1.45-1
- mysql-common 5.1.45-1
- mysql-server 5.1.45-1
- mysql-server-5.1 5.1.45-1
PHP 5.3.2:
- php5 5.3.2-1
- php-pear 5.3.2-1
- php5-cli 5.3.2-1
- php5-common 5.3.2-1
- php5-gd 5.3.2-1
- php5-ldap 5.3.2-1
- php5-mcrypt 5.3.2-1
- php5-mysql 5.3.2-1
- php5-snmp 5.3.2-1
- php5-suhosin 0.9.31-1
- libapache2-mod-php5 5.3.2-1
- libphp-adodb 5.10-1
E ainda:
- RRDTool 1.4.3-1
- Net-SNMP 5.4.2.1
- Perl 5.10.1
Configuração
Considerando que você possua o SNMP configurado, no Debian edite o arquivo
/etc/default/snmpd e altere o campo TRAPDRUN de 'no' para 'yes'. No
/etc/snmp/snmpd.conf habilite a extensão de agentes adicionando ou descomentando a linha abaixo:
master agentx
Nota de última hora: caso necessite instalar algum módulo do PEAR para o PHP e esteja utilizando um proxy será necessário ativá-lo para o que os plugins do PEAR possam ser instalados. Para fazer isso:
# pear config-set http_proxy http://my_proxy.com:port
Instalação do Nagios (versão 3.2.1)
A instalação do Nagios consiste na criação do usuário Nagios com um senha, compilação dos fontes, copia de arquivo e ajustes finais.
Criando o usuário:
# useradd -m nagios
# passwd nagios
Criando um grupo hábil a usar comandos externos:
# groupadd nagcmd
# usermod -G nagios,nagcmd nagios
O Apache deverá fazer parte do grupo nagios/nagcmd:
# usermod -G nagios,nagcmd www-data
Faça download da última versão do Nagios no site
www.nagios.org:
# cd /usr/local/src/
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
# tar -xzf nagios-3.2.1.tar.gz
# cd nagios-3.2.1
#./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
Não inicie o serviço do Nagios ainda, algumas configurações devem ser feitas.
Configurar a interface Web
Para instalar o arquivo de configuração web do Nagios no diretório conf.d do Apache:
# make install-webconf
Criar a conta nagiosadmin para logging na interface web do Nagios. Lembre-se da senha colocada nesta etapa.
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
O arquivo
/usr/local/nagios/etc/htpasswd.users é onde ficarão os usuários com permissão de acessar a interface web.
Para que as configurações da interface web tenham efeito é necessário reiniciar o Apache:
# invoke-rc.d apache2 reload
ou
# /etc/init.d/apache2 reload
Com o comando abaixo é possível criar os arquivos de inicialização do serviço do Nagios nos diferentes níveis de inicialização:
# update-rc.d nagios defaults
Desta forma é possível inicializar os serviços do Nagios através dos comandos:
# invoke-rc.d nagios start/restart/stop
ou
# /etc/init.d/nagios start/restart/stop
Não inicie o Nagios ainda, os plugins e configurações ainda não foram instalados/feitos.
ATENÇÃO: Da maneira em que o Nagios foi instalado, seus logs serão armazenados em /usr/local/nagios/var/. É aconselhável alterar este caminho no nagios.cfg posteriormente ou criar um link simbólico para isso.
Instalação dos plugins do Nagios (versão 1.4.14)
Caso esteja planejando instalar todos os plugins do Nagios é preciso instalar pacotes adicionais. Leia o arquivo REQUIREMENTS dentro do pacote de instalação dos plugins para mais informação.
Requisitos para os principais plugins:
Plugins | Instalação do requisito |
check_dns | apt-get install dnsutils fping |
check_ldaps, check_http --ssl | apt-get install libssl-dev |
check_tcp --ssl, check_smtp --starttls,check_ldap | apt-get install libldap2-dev |
check_pqsql | apt-get install libpq-dev |
check_radius | apt-get install libradiusclient-ng-dev |
# cd /usr/local/src
# wget http://ovh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
Obs.1: A opção --with-openssl é necessária para a utilização de ssl nos plugins.
Obs.2: A opção --enable-perl-modules é opcional e é usada caso utilize plugins em Perl.
Caso necessite de plugins do Perl que não estejam no repositório (o que é difícil, mas não impossível de ocorrer), o download pode ser feito em:
# tar -xzf nagios-plugins-1.4.14.tar.gz
# cd nagios-plugins-1.4.14
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules
# make
# make install
Neste momento o Nagios está instalado e pode ser utilizado, configurando os hosts e serviços através dos arquivos de exemplo que acompanham a instalação, mas como a intenção é utilizar uma interface gráfica para a configuração dos itens, não inicie o serviço ou qualquer outra configuração no momento.