Você está na página 1de 24

CABEÇALHO RETIRADO

GUIA DE 
INSTALAÇÃO E 
CONFIGURAÇÃO 
DO NAGIOS – 
LINUX

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 1
CABEÇALHO RETIRADO

ÍNDICE

1 – PRÉ­INSTALAÇÃO......................................................................................................................3
1.1 – O Nagios.................................................................................................................................3
1.2 – Requisitos................................................................................................................................3
1.3 – Licença....................................................................................................................................3
1.4 – Observações............................................................................................................................3
2 – INSTALAÇÃO...............................................................................................................................4
2.1 – Adição do usuário/grupo 'nagios' ao Sistema.........................................................................4
2.2 – Download, Descompactação e Instalação do Nagios e dos plugins.......................................4
2.3 – Configuração da Interface Web – Apache..............................................................................5
2.4 – Configuração do Nagios.........................................................................................................6
2.4.1 – Configuração utilizando­se o arquivo minimal.cfg.........................................................6
2.4.2 – Configuração utilizando­se arquivos específicos para cada item...................................6
2.4.2.1 – nagios.cfg................................................................................................................7
2.4.2.2 – cgi.cfg......................................................................................................................7
2.4.2.3 – timeperiods.cfg........................................................................................................7
2.4.2.4 – checkcommands.cfg................................................................................................7
2.4.2.5 – contacts.cfg..............................................................................................................8
2.4.2.6 – contactgroups.cfg....................................................................................................8
2.4.2.7 – hosts.cfg...................................................................................................................8
2.4.2.8 – hostgroups.cfg.........................................................................................................9
2.4.2.9 – services.cfg..............................................................................................................9
2.5 – Checagem da Configuração e Inicialização do Nagios........................................................11
2.6 – Monitoramento da Rede........................................................................................................12
2.7 – Execução de Plugins em Hosts Remotos – Addon NRPE....................................................12
2.7.1 – Adição do usuário/grupo 'nagios' aos Hosts Remotos..................................................12
2.7.1.1 – Host Remoto Linux...............................................................................................12
2.7.1.2 – Host Remoto FreeBSD..........................................................................................12
2.7.2 – Download, Instalação e Configuração do NRPE nos Hosts Remotos..........................13
2.7.2.1 – Host Remoto Linux...............................................................................................13
2.7.2.2 – Host Remoto FreeBSD..........................................................................................13
2.7.2.3 – Ambos Linux e FreeBSD......................................................................................14
2.7.3 – Configuração do NRPE no Host Local (Nagios)..........................................................14
2.7.4 – Inicialização do NRPE nos Hosts Remotos..................................................................16
2.8 – Inicialização Automática do Sistema de Monitoramento.....................................................16
2.8.1 – Iniciando o Nagios com o Boot do Sistema (Host Local).............................................16
2.8.2 – Iniciando o NRPE com o Boot do Sistema (Hosts Remotos).......................................17
2.8.2.1 – Método 1 – INETD ou XINETD...........................................................................17
2.8.2.2 – Método 2 – Edição de Arquivos de Inicialização..................................................17
2.8.2.2.1 – Host Remoto Linux (Arquivo rc.local)..........................................................17
2.8.2.2.2 – Host Remoto FreeBSD (Arquivo rc.conf).....................................................17

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 2
CABEÇALHO RETIRADO

1 – PRÉ-INSTALAÇÃO
1.1 – O Nagios
O Nagios é um aplicativo de monitoramento de sistemas e de redes. Ele checa clientes e serviços, por você especificados, 
alertando quando as coisas estão indo mal ou se restabelecendo.
O Nagios foi originalmente desenhado para rodar no Linux, apesar dele poder funcionar na maioria dos unices. Para mais 
informações sobre em qual sistema operacional o Nagios irá, ou não, funcionar, veja a página de portabilidade em sistemas 
operacionais, acessível em http://www.nagios.org/ports.shtml.
Alguma das várias ferramentas do Nagios incluem:
­ Monitoramento de rede e serviços (SMTP, POP3, HTTP, NNTP, PING, etc.);
­ Monitoramento dos recursos de clientes (carga de processador, uso de disco, etc.);
­ Organização simples de plugins que permite aos usuários desenvolverem seus próprios serviços de checagem;
­ Checagem paralela de serviços;
­ Habilidade para definir hierarquia de redes de clientes usando clientes pais (parent hosts), permitindo a detecção e 
distinção entre clientes que estão desativados e aqueles que estão inalcançáveis;
­ Notificação de contatos quando problemas em serviços e clientes ocorrerem ou forem resolvidos (via email, pager, ou 
métodos definidos pelo usuário);
­ Habilidade para definir tratadores de eventos (event handlers) que serão executados durante eventos de serviços ou 
clientes na tentativa de resolução de problemas;
­ Rotatividade automática de arquivos de logs;
­ Suporte para implementação de clientes de monitoramento redundantes;
­ Interface web para visualização do status atual da rede, histórico de notificações e problemas, arquivos de log, etc.

1.2 – Requisitos
A única exigência para rodar o Nagios é ter um computador rodando Linux (ou variantes do UNIX) e um compilador C. 
Você provavelmente necessitará ter o TCP/IP configurado já que a maioria das checagens de serviços serão feitas através da rede.
Você não é obrigado a usar os CGIs incluídos com o Nagios. No entanto, se você optar por usá­los, você precisará dos 
seguintes programas instalados:
1) Um servidor Web (de preferência Apache);
2) Biblioteca GD (gd library) de Thomas Boutell versão 1.6.3 ou superior (exigida pelas CGIs statusmap e trends).

1.3 – Licença
O Nagios é distribuído sob os termos da GNU General Public License Versão 2 como foi publicado pela Free Software 
Foundation. Isto lhe garante permissão de copiar, distribuir e modificar o Nagios sob certas condições. Leia o arquivo 'LICENSE' 
que veio na distribuição do Nagios ou leia a versão online da licença para maiores detalhes.
O Nagios é fornecido SEM QUALQUER GARANTIA DE QUALQUER TIPO, INCLUINDO A GARANTIA DE 
DESENHO, MECANTIBILIDADE E ADEQUAÇÃO PARA UM PROPÓSITO PARTICULAR.

1.4 – Observações
O Manual do Nagios pode ser baixado do endereço www.nagios.org/docs. Uma versão traduzida do Manual pode ser 
encontrada em http://www2.dcc.ufmg.br/~leoh/nagios. Os três itens acima (1.1, 1.2 e 1.3), por exemplo, foram extraídos dessa 
última. Destarte, meus sinceros agradecimentos a Leonardo Henrique Machado, mantenedor do site, pelo ótimo trabalho realizado. 
A leitura de um desses documentos, previamente à instalação do Nagios, é altamente recomendável.
O Sistema Operacional utilizado como base para a elaboração desse guia foi o Red Hat 9 com kernel linux 2.4.22.
Nagios e o logotipo Nagios são marcas registradas de Ethan Galstad. Todos as demais marcas, servicemarks, marcas 
registradas, e servicemarks registrados deverão ser de propriedade de seu(s) respectivo(s) dono(s).

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 3
CABEÇALHO RETIRADO

2 – INSTALAÇÃO

2.1 – Adição do usuário/grupo 'nagios' ao Sistema


#adduser nagios1

2.2 – Download,
Download, Descompactação e Instalação do Nagios e dos plugins
#mkdir /home/nagios/tmp
­­> Fazer o download do Nagios e dos plugins (www.nagios.org/download) para o diretório acima.
#cd /home/nagios/tmp
#ls ­a
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
. nagios­2.0.tar.gz
.. nagios­plugins­1.4.2.tar.gz
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Descompactar os arquivos:
#tar xvfz <nome_do_arquivo_do_Nagios> (ex.: #tar xvfz nagios­2.0.tar.gz)
#tar xvfz <nome_do_arquivo_dos_plugins> (ex.: #tar xvfz nagios­plugins­1.4.2.tar.gz)
­­> Entrar no diretório do Nagios criado (ex.: #cd /home/nagios/tmp/nagios­2.0).
­­> Rodar o script de configuração do Nagios (Para ver as opções: #./configure ­­help):
­­prefix: diretório de instalação do Nagios;
­­with­nagios­user: usuário padrão;
­­with­nagios­group: grupo padrão;
­­with­htmurl: endereço web de acesso ao Nagios (padrão: http://<endereço_local>/nagios);
­­with­cgiurl: endereço web dos CGIs (padrão: http://<endereço_local>/nagios/cgi­bin).
#./configure ­­prefix=/usr/local/nagios ­­with­nagios­user=nagios ­­with­nagios­group=nagios ­­with­htmurl=/nagios ­­with­
cgiurl=/nagios/cgi­bin
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
*** Configuration summary for nagios 2.0 02­07­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
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

#make all (Compila os fontes)
1
Nesse guia como um todo, as linhas iniciadas pelo caractere '#' referem­se a comandos a serem entrados no modo shell. Os trechos que se 
encontram entre linhas pontilhadas, quando não se tratarem de observações, referem­se a resultados obtidos com a entrada do comando que lhes 
antecede.
Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>
RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 4
CABEÇALHO RETIRADO

#make install (Instala o programa principal, as CGIs e os arquivos HTML)
#make install­init (Instala o script de inicialização em /etc/rc.d/init.d)
#make install­commandmode (Instala e configura permissões para o diretório que conterá o arquivo de comandos externos)
#make install­config (Instala arquivos de configuração de exemplo [*SAMPLE*] em /usr/local/nagios/etc)

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 5
CABEÇALHO RETIRADO

­­> Ir para o diretório onde foram baixados os plugins: (ex.: #cd /home/nagios/tmp/nagios­plugins­1.4.2)
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Para poderem ser usados, alguns dos plugins precisam que se tenha instalados no computador certos programas e/ou 
bibliotecas específicos. No caso da inexistência desses últimos na máquina, os plugins deles dependentes geralmente não são 
compilados. Destarte, antes de se iniciar a instalação dos plugins é recomendável a leitura do arquivo REQUIREMENTS.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Rodar o script de configuração dos plugins (Para ver as opções: #./configure ­­help):
#./configure ­­prefix=/usr/local/nagios ­­with­nagios­user=nagios ­­with­nagios­group=nagios
#make all
#make install
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Caso se experimente algum problema relativo a acesso, pode ser necessário alterar algumas permissões.
­­> Diretório de instalação do Nagios (/usr/local/nagios): #chown nagios:nagios /usr/local/nagios
­­> Diretório de instalação dos plugins (/usr/local/nagios/libexec): #chown nagios:nagios /usr/local/nagios/libexec
­­> Arquivos dos plugins: #chown nagios:nagios /usr/local/nagios/libexec/*
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

2.3 – Configuração da Interface Web – Apache


­­> Localizar o arquivo httpd.conf:
#find / ­name httpd.conf (ex.: /etc/httpd/conf/httpd.conf)
# vi /.../httpd.conf (colocar o caminho correto)
­­> Editar o arquivo, adicionando as linhas abaixo:
###############################################################################
# HTML (http://localhost/nagios) AND CGI APACHE AUTHENTICATION
###############################################################################
ScriptAlias /nagios/cgi­bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
        AllowOverride AuthConfig
        Options ExecCGI
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        require valid­user
</Directory>

Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
        AllowOverride AuthConfig
        Options None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        require valid­user
</Directory>
###############################################################################

­­> Criar o arquivo com o usuário e senha de acesso ao Nagios:
#htpasswd ­c /usr/local/nagios/etc/htpasswd.users usuario1
­­> Reiniciar o Apache:
#/usr/sbin/httpd ­k restart

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 6
CABEÇALHO RETIRADO

­­> Após isso, já deve ser possível visualizar a interface web do Nagios a partir do endereço http://localhost/nagios no navegador. 
Entretanto, as CGIs não fornecerão informação alguma (ainda é necessário configurar corretamente o Nagios).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Caso se experimente algum problema relativo a acesso, pode ser necessário alterar as permissões do arquivo htpasswd.users:
#chown apache:apache /usr/local/nagios/etc/htpasswd.users (verificar o usuário e grupo do Apache).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 7
CABEÇALHO RETIRADO

2.4 – Configuração do Nagios


­­> Fazer backup dos arquivos de exemplo:
#mkdir /usr/local/nagios/etc/sample
#cp /usr/local/nagios/etc/*.cfg­sample /usr/local/nagios/etc/sample
­­> Renomear os arquivos .cfg­sample para .cfg:
#for i in *cfg­sample; do mv $i `echo $i|sed ­e s/cfg­sample/cfg/`; done;
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Se o comando acima não funcionar, renomear um por um (ex.: #mv cgi.cfg­sample cgi.cfg).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

2.4.1 – Configuração utilizando-se o arquivo minimal.cfg


­­> Descrição dos arquivos de configuração utilizados:
­ nagios.cfg: arquivo principal de configuração do Nagios;
­ cgi.cfg: arquivo de configuração das CGIs;
­ minimal.cfg: arquivo de configuração minimalístico (utilizado sobretudo para fins de teste da instalação do Nagios);
­ resource.cfg: arquivo contendo macros definidas pelo usuário.
­­> Para testar, primeiro edite o arquivo nagios.cfg (#vi nagios.cfg), comentando as linhas abaixo:
cfg_file=/usr/local/nagios/etc/checkcommands.cfg ­­> #cfg_file=/usr/local/nagios/etc/checkcommands.cfg
cfg_file=/usr/local/nagios/etc/misccommands.cfg ­­> #cfg_file=/usr/local/nagios/etc/misccommands.cfg
­­> Edite o arquivo minimal.cfg (contacts, hosts, services) para que este fique de acordo com as configurações desejadas:
# vi minimal.cfg
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: A descrição e um detalhamento maior dos diferentes itens desse arquivo (Time Periods, Commands, Contacts...) podem ser 
encontrados nas seções Object Definitions e Template­Based Object Configuration do Manual do Nagios.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

2.4.2 – Configuração utilizando-se arquivos específicos para cada item


­­> Ao invés de se utilizar um único e extenso arquivo de configuração (minimal.cfg), é possível separar esse arquivo em uma série 
de arquivos distintos, cada um contendo as informações relativas a apenas um item específico de configuração.
­­>Descrição dos arquivos de configuração utilizados:
­ nagios.cfg, cgi.cfg, resource.cfg: descritos no item anterior;
­ timeperiods.cfg: definições de horários considerados válidos para a realização de checagens e envio de notificações;
­ checkcommands.cfg: definições dos comandos de checagem de hosts e serviços;
­ misccommands.cfg: definições dos comandos de notificação e de processamento de dados de performance;
­ contacts.cfg: indivíduos que, possivelmente, deverão ser notificados no caso de problemas na rede;
­ contactgroups.cfg: usado para juntar os contatos em grupos, para fins de envio de alertas/notificações; 
­ hosts.cfg: define servidores, estações de trabalho e demais dispositivos da rede em geral;
­ hostgroups.cfg: usado para juntar os hosts em grupos, para fins de sua exibição nas CGIs;
­ services.cfg: identificam os “serviços” que estão sendo monitorados nos diferentes hosts;
­ servicegroups.cfg: usado para juntar os  serviços  em grupos, para fins de sua exibição nas CGIs;
­ servicedependencies.cfg: permite a supressão de checagens e notificações para um serviço, com base no status de outro(s);
­ serviceescalations.cfg: permite o escalonamento de notificações para um determinado serviço;
­ hostdependencies.cfg: permite a supressão de checagens e notificações para um host, com base no status de outro(s);
­ hostescalations.cfg: permite o escalonamento de notificações para um determinado host;
­ ext_host_info.cfg: usado para incrementar a saída das CGIs status, statusmap, statuswrl e extinfo;
­ ext_service_info.cfg: usado para incrementar a saída das CGIs status e extinfo.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Para os casos em que os arquivos descritos não existirem previamente (timeperiods.cfg, hosts.cfg, hostgroups.cfg...), eles 
deverão ser criados (ex.: #vi hosts.cfg), copiando­se e colando­se a parte relativa aos mesmos constante no arquivo minimal.cfg.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Perceba que nem todos os arquivos descritos são estritamente necessários. Entretanto, eles poderão ser usados nos casos em que 

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 8
CABEÇALHO RETIRADO

se deseje realizar uma configuração mais avançada do Nagios (fazendo­se uso de dependências e escalonamentos, por exemplo). 
No nosso caso, não utilizaremos nenhum dos arquivos a partir de servicegroups.cfg, inclusive. Em todo caso, conforme já dito 
anteriormente, é possível encontrar a descrição e um detalhamento maior dos diferentes itens que irão compor os arquivos acima 
nas seções Object Definitions e Template­Based Object Configuration do Manual do Nagios.

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 9
CABEÇALHO RETIRADO

2.4.2.1 – nagios.cfg

#vi nagios.cfg
­­> Comentar a linha referente ao arquivo de configuração minimalístico (minimal.cfg):
cfg_file=/usr/local/nagios/etc/minimal.cfg ­­> #cfg_file=/usr/local/nagios/etc/minimal.cfg
­­> Descomentar as linhas referentes aos arquivos de configuração que serão utilizados:
#cfg_file=/usr/local/nagios/etc/timeperiods.cfg ­­> cfg_file=/usr/local/nagios/etc/timeperiods.cfg
#cfg_file=/usr/local/nagios/etc/checkcommands.cfg ­­> cfg_file=/usr/local/nagios/etc/checkcommands.cfg
#cfg_file=/usr/local/nagios/etc/misccommands.cfg ­­> cfg_file=/usr/local/nagios/etc/misccommands.cfg
#cfg_file=/usr/local/nagios/etc/contacts.cfg ­­> cfg_file=/usr/local/nagios/etc/contacts.cfg
#cfg_file=/usr/local/nagios/etc/contactgroups.cfg ­­> cfg_file=/usr/local/nagios/etc/contactgroups.cfg
#cfg_file=/usr/local/nagios/etc/hosts.cfg ­­> cfg_file=/usr/local/nagios/etc/hosts.cfg
#cfg_file=/usr/local/nagios/etc/hostgroups.cfg ­­> cfg_file=/usr/local/nagios/etc/hostgroups.cfg
#cfg_file=/usr/local/nagios/etc/services.cfg ­­> cfg_file=/usr/local/nagios/etc/services.cfg
­­> Alterar a opção de formatação da data (DATE FORMAT OPTION) para o padrão europeu:
date_format=us ­­> date_format=euro

2.4.2.2 – cgi.cfg

#vi cgi.cfg
­­> Realizar as alterações abaixo (e descomentar, se for o caso):
use_authentication=1
authorized_for_system_information=usuario1
authorized_for_configuration_information=usuario1
authorized_for_system commands=usuario1
authorized_for_all_services=usuario1
authorized_for_all_hosts=usuario1
authorized_for_all_service_commands=usuario1
authorized_for_all_host_commands=usuario1

2.4.2.3 – timeperiods.cfg

#vi timeperiods.cfg
­­> Realizar as alterações abaixo:
###############################################################################
# TIME PERIODS
###############################################################################
                                                                                                                            
define timeperiod{
        timeperiod_name 24x7
        alias 24 Hours A Day, 7 Days A Week
        sunday 00:00­24:00
        monday 00:00­24:00
        tuesday 00:00­24:00
        wednesday 00:00­24:00
        thursday 00:00­24:00
        friday 00:00­24:00
        saturday 00:00­24:00
        }

2.4.2.4 – checkcommands.cfg

#vi checkcommands.cfg
­­> Realizar a seguinte alteração na definição do comando 'check_local_procs':
$USER1$/check_procs ­w $ARG1$ ­c $ARG2$ ­s $ARG3$ ­­> $USER1$/check_procs ­w $ARG1$ ­c $ARG2$

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 10
CABEÇALHO RETIRADO

2.4.2.5 – contacts.cfg

#vi contacts.cfg
­­> Realizar as alterações abaixo:
###############################################################################
# CONTACTS
###############################################################################
                                                                                                                           
define contact{
        contact_name usuario1
        alias Usuario 1
        service_notification_period 24x7
        host_notification_period 24x7
        service_notification_options w,u,c,r
        host_notification_options d,u,r
        service_notification_commands notify­by­email
        host_notification_commands host­notify­by­email
        email email@localhost.localdomain  # Endereco de e­mail do usuario1.
        }

2.4.2.6 – contactgroups.cfg

#vi contactgroups.cfg
­­> Realizar as alterações abaixo:
###############################################################################
# CONTACT GROUPS
###############################################################################
 
define contactgroup{
        contactgroup_name admins
        alias Administradores do Nagios
        members usuario1
        }

2.4.2.7 – hosts.cfg

#vi hosts.cfg
­­> Realizar as alterações abaixo:
###############################################################################
# HOSTS
###############################################################################
                                                                                                                           
# Template!
define host{
        name generic­host  ; The name of this host template
        notifications_enabled 1  ; Host notifications are enabled
        event_handler_enabled 1  ; Host event handler is enabled
        flap_detection_enabled 1  ; Flap detection is enabled
        failure_prediction_enabled 1  ; Failure prediction is enabled
        process_perf_data 1  ; Process performance data
        retain_status_information 1  ; Retain status information across program restarts
        retain_nonstatus_information 1  ; Retain non­status information across program restarts
        register 0  ; DONT REGISTER ­ ITS NOT A REAL HOST, JUST A TEMPLATE!
        }

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 11
CABEÇALHO RETIRADO

# Localhost
define host{
        use generic­host  ; Name of host template to use
        host_name localhost
        alias localhost
        address 127.0.0.1
        check_command check­host­alive
        max_check_attempts 10
        notification_interval 120
        notification_period 24x7
        notification_options  d,r
        contact_groups admins
        }

2.4.2.8 – hostgroups.cfg

#vi hostgroups.cfg
­­> Realizar as alterações abaixo:
###############################################################################
# HOST GROUPS
###############################################################################
                                                                                                                            
define hostgroup{
        hostgroup_name servers
        alias Servidores
        members localhost
        }

2.4.2.9 – services.cfg

#vi services.cfg
­­> Realizar as alterações abaixo:
###############################################################################
#
# SERVICES
#
###############################################################################
                                                                                                                            
###############################################################################
# LOCALHOST ­ NAGIOS
###############################################################################

# Template!
define service{
        name generic­service  ; The name of this service template
        active_checks_enabled 1  ; Active service checks are enabled
        passive_checks_enabled 1  ; Passive service checks are enabled/accepted
        parallelize_check 1  ; Active service checks should be parallelized
# (disabling this can lead to major performance problems)
        obsess_over_service 1  ; We should obsess over this service (if necessary)
        check_freshness 0  ; Default is to NOT check service 'freshness'
        notifications_enabled 1  ; Service notifications are enabled
        event_handler_enabled 1  ; Service event handler is enabled
        flap_detection_enabled 1  ; Flap detection is enabled
        failure_prediction_enabled 1  ; Failure prediction is enabled

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 12
CABEÇALHO RETIRADO

        process_perf_data  1  ; Process performance data
        retain_status_information 1  ; Retain status information across program restarts
        retain_nonstatus_information 1  ; Retain non­status information across program restarts
        register 0  ; DONT REGISTER ­ ITS NOT A REAL SERVICE, JUST A TEMPLATE!
        }

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 13
CABEÇALHO RETIRADO

# Serviço de checagem do espaço em disco na partição root da máquina local.
# Warning se < 20% livre, Critical se < 10% livre.
define service{
        use generic­service  ; Name of service template to use
        host_name localhost
        service_description Root Partition
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_local_disk!20%!10%!/
        }

# Serviço de checagem do número de usuários correntemente logados na máquina local.
# Warning se > 20 usuários, Critical se > 50 usuários.
define service{
        use generic­service  ; Name of service template to use
        host_name localhost
        service_description Current Users
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_local_users!20!50
        }

# Serviço de checagem do número de processos correntemente rodando na máquina local.
# Warning se > 250 processos, Critical se > 400 processos.
define service{
        use generic­service  ; Name of service template to use
        host_name localhost
        service_description Total Processes
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_local_procs!250!400
        }

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 14
CABEÇALHO RETIRADO

# Serviço de checagem da carga na máquina local.
define service{
        use generic­service  ; Name of service template to use
        host_name localhost
        service_description Current Load
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }

# Serviço de "ping" da máquina local
define service{
        use generic­service  ; Name of service template to use
        host_name localhost
        service_description PING
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_ping!100.0,20%!500.0,60%
        }
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Para se obter uma descrição do que realizam, exemplos, bem como detalhes relativos ao uso e às várias opções de 
parâmetros aceitas por cada um dos plugins, basta dar o comando '#./nome_do_plugin ­h[elp]' no diretório em que estes estejam 
(ex.: /usr/local/nagios/libexec).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Alterar a permissão dos arquivos criados:
#chown nagios:nagios /usr/local/nagios/etc/*.cfg

2.5 – Checagem da Configuração e Inicialização do Nagios


­­> Para checar se está tudo OK:
#/usr/local/nagios/bin/nagios ­v /usr/local/nagios/etc/nagios.cfg
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Caso haja erro de configuração, o comando acima apontará o respectivo arquivo e linha em que esse se encontra. Nesse caso, 
basta ir corrigindo seqüencialmente os mesmos, executando­se o mesmo comando até que nenhum erro seja mais indicado.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Para iniciar/parar/reiniciar o Nagios:
#/etc/rc.d/init.d/nagios start [stop] [restart]
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Caso se experimente algum tipo de problema ou comportamento inesperado, convém verificar se:
i) as permissões para o usuário e grupo 'nagios' foram adequadamente alteradas (observação final do item 2.2);

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 15
CABEÇALHO RETIRADO

ii) o Apache está corretamente configurado e rodando (referir­se ao item 2.3);
ii) os arquivos de configuração (/usr/local/nagios/etc/*.cfg) foram editados corretamente (referir­se ao item 2.4).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Após se iniciar o Nagios, é possível conferir se este está mesmo rodando (e ver o seu PID) a partir do comando:
#ps ­aux | grep nagios

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 16
CABEÇALHO RETIRADO

2.6 – Monitoramento da Rede


­­> Agora que tanto o Apache quanto o Nagios já estão configurados e rodando, entre novamente com o endereço 
http://localhost/nagios no navegador e confira o resultado das configurações efetuadas (Fig. 01).

Figura 01 – Detalhe do monitoramento do host local obtido a partir da guia “Service Detail” na interface web do Nagios.

­­> Para habilitar o envio de comandos externos ao Nagios, por exemplo, por meio da interface web:
#vi /usr/local/nagios/etc/nagios.cfg ­­> check_external_commands=1
#chown ­R nagios:apache /usr/local/nagios/var/rw

2.7 – Execução de Plugins em Hosts Remotos – Addon NRPE


­­> Para permitir a execução de checagens ativas em hosts remotos, é necessária a instalação do plugin NRPE (check_nrpe) no 
computador que irá rodar o Nagios, bem como de clientes NRPE (daemons) nos computadores a serem monitorados remotamente.

2.7.1 – Adição do usuário/grupo 'nagios' aos Hosts Remotos

2.7.1.1 – Host Remoto Linux

#adduser nagios

2.7.1.2 – Host Remoto FreeBSD

#pw group add nagios
#adduser nagios
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Username   : nagios
Password   : *****
Full Name  : Nagios
Uid        : 10222
Class      :
Groups     : nagios
Home       : /home/nagios
Shell      : /usr/local/bin/bash
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (nagios) to the user database.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 17
CABEÇALHO RETIRADO

2.7.2 – Download,
Download, Instalação e Configuração do NRPE nos Hosts Remotos

2.7.2.1 – Host Remoto Linux

­­> Fazer o download do addon NRPE (ex.: nrpe­2.3.tar.gz, www.nagios.org/download) para o diretório /home/nagios/tmp.
#cd /home/nagios/tmp
#tar xvfz <nome_do_arquivo_do_NRPE> (ex.: #tar xvfz nrpe­2.3.tar.gz)
­­> Entrar no diretório do NRPE criado (ex.: #cd /home/nagios/tmp/nrpe­2.3).
#./configure
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
*** Configuration summary for nrpe 2.3 01­23­2006 ***:
 
 General Options:
 ­­­­­­­­­­­­­­­­­­­­­­­­­
 NRPE port:  5666
 NRPE user:  nagios
 NRPE group: nagios
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

#make all
­­> Realizar, no host remoto, o procedimento de download e instalação dos plugins, conforme descrito no item 2.2, tomando­se 
apenas o cuidado de alterar a linha abaixo adequadamente:
#./configure ­­prefix=/home/nagios ­­with­nagios­user=nagios –with­nagios­group=nagios

2.7.2.2 – Host Remoto FreeBSD

­­> Instalar o addon NRPE a partir do mecanismo ports do FreeBSD:
#cd /usr/ports
#make search name=nrpe
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Port:   nrpe2­2.0_1
Info:   Nagios Remote Plugin Executor
Path:   /usr/ports/net­mgmt/nrpe2
Maint:  paul@nerdlabs.com
B­deps: perl­5.8.7
R­deps: nagios­plugins­1.4_3,1 perl­5.8.7
WWW:    http://www.nagios.org/
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

#cd /usr/ports/net­mgmt/nrpe2 (#cd <Path>)
#make all
­­> Marcar as opções SSL (SSL support) e ARGS (Enable command arguments) e dar OK.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
*** Configuration summary for nrpe 2.0 09­08­2003 ***:
 
 General Options:
 ­­­­­­­­­­­­­­­­­­­­­­­­­
 NRPE port:  5666
 NRPE user:  nagios
 NRPE group: nagios
(...)
*** Compile finished ***
(...)
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: No caso do FreeBSD, a instalação do addon NRPE pelo ports cuida automaticamente, também, da instalação dos plugins.

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 18
CABEÇALHO RETIRADO

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 19
CABEÇALHO RETIRADO

2.7.2.3 – Ambos Linux e FreeBSD

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Apesar de não ser necessário instalar o Nagios, também, em cada um dos hosts remotos, é preciso, sim, instalar nestes, 
conforme explicitado acima, os plugins, de modo que estes hosts sejam capazes de efetuar, entre outras coisas, certas checagens de 
recursos “locais” como, por exemplo, a verificação do espaço em disco, a partir da interação com o addon NRPE.
OBS2.: Se os sistemas operacionais forem compatíveis, pode ser viável (e, dependendo do caso, menos trabalhoso) realizar­se a 
simples cópia do diretório dos plugins da máquina onde foi originalmente instalado o Nagios (/usr/local/nagios/libexec) para 
/home/nagios no host remoto, como, por exemplo, no caso em que seja possível fazer um acesso remoto de uma máquina para outra
(ex.: #scp /usr/local/nagios/libexec [­r] <IP_do_host_remoto>:/home/nagios).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Editar o arquivo de configuração do NRPE, nrpe.cfg (ex.: #vi /home/nagios/tmp/nrpe­2.3/sample­config/nrpe.cfg), adicionando 
a seguinte linha de definição de comando em COMMAND DEFINITIONS:
command[check_local_disk]=/home/nagios/libexec/check_disk ­w 20% ­c 10% ­p /
­­> Adicionar a seguinte linha no arquivo /etc/services:
nrpe            5666/tcp   #NRPE (Nagios)
­­> Adicionar entrada ao arquivo /etc/hosts.allow para habilitar o acesso do host que irá rodar o Nagios ao serviço nrpe:
nrpe : <IP_do_host_do_Nagios> : allow

2.7.3 – Configuração do NRPE no Host Local (Nagios)


­­> Realizar, no host local (Nagios), o procedimento de download e instalação do addon NRPE, conforme descrito no item 2.7.2.
­­> Copiar o arquivo “check_nrpe” gerado para o diretório dos plugins do Nagios:
#cp /home/nagios/tmp/nrpe­2.3/src/check_nrpe /usr/local/nagios/libexec
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: O procedimento acima se faz necessário tão somente pela necessidade de se ter no host local (Nagios) o plugin check_nrpe, 
gerado com a instalação do addon NRPE. Se os sistemas operacionais forem compatíveis, pode ser viável (e, dependendo do caso, 
menos trabalhoso) realizar­se a simples cópia desse arquivo do host remoto no qual o addon já foi instalado (item 2.7.2) para o host 
local (que rodará o Nagios), como, por exemplo, no caso em que seja possível acessar remotamente uma máquina a partir da outra
(ex.: #scp /home/nagios/tmp/nrpe­2.3/src/check_nrpe <IP_do_host_do_Nagios>:/usr/local/nagios/libexec).
OBS2.: Para que o addon NRPE funcione corretamente, é preciso atentar para certos detalhes como, por exemplo, utilizar a mesma 
versão do daemon NRPE (host remoto) e do plugin check_nrpe (host do Nagios), habilitar/desabilitar o SSL em todos os hosts, 
rever as permissões de alguns arquivos (ex.: nrpe.cfg), permitir, no(s) host(s) remoto(s), o acesso ao endereço IP da máquina que 
rodará o Nagios (arquivo hosts.allow, linha “only_from” do arquivo de configuração do xinetd). Para maiores informações a 
respeito dos possíveis erros que podem aparecer, favor consultar o FAQ do Nagios (www.nagios.org/faqs).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Inserir, ao final do arquivo de configuração de comandos do Nagios (#vi /usr/local/nagios/etc/checkcommands.cfg):
################################################################################
# NRPE COMMAND
################################################################################
                                                                                                                           
# 'check_nrpe' command definition
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe ­H $HOSTADDRESS$ ­c $ARG1$
        }

­­> As definições de serviços que façam uso do plugin/daemon NRPE para obter seus resultados deverão seguir o modelo abaixo:
define service{
        use generic­service  ; Name of service template to use
        host_name algum_host_remoto
        service_description algum_serviço_remoto
        ... etc ...
        check_command check_nrpe!yourcommand

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 20
CABEÇALHO RETIRADO

        }
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: “yourcommand” é o nome de um comando definido no arquivo nrpe.cfg do host remoto, a exemplo do que foi estabelecido 
no item 2.7.1 (command[check_local_disk]=/home/nagios/libexec/check_disk ­w 20% ­c 10% ­p /).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 21
CABEÇALHO RETIRADO

­­> Exemplo: Adicionar ao final do arquivo services.cfg
###############################################################################
# HOST REMOTO ­ ALGUM_HOST_REMOTO
###############################################################################

# Serviço de checagem do espaço em disco na partição root do host remoto.
# Warning se < 20% livre, Critical se < 10% livre.
define service{
        use generic­service  ; Name of service template to use
        host_name host_remoto
        service_description Particao Root
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_nrpe!check_local_disk
        }

# Serviço de "ping" de host remoto
define service{
        use generic­service  ; Name of service template to use
        host_name host_remoto
        service_description PING
        is_volatile 0
        check_period 24x7
        max_check_attempts 4
        normal_check_interval 5
        retry_check_interval 1
        contact_groups admins
        notification_options w,u,c,r
        notification_interval 960
        notification_period 24x7
        check_command check_ping!100.0,20%!500.0,60%
        }
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Perceba como, no caso do primeiro serviço definido acima (Partição Root), se fez uso do plugin NRPE (check_nrpe 
chamando o comando check_local_disk, definido no arquivo nrpe.cfg do host remoto), por se tratar da checagem de um recurso 
local da máquina remota (espaço em disco), não verificável diretamente pela rede. Já a checagem definida no segundo serviço 
(PING), por outro lado, é possível de ser realizada diretamente pela rede, não necessitando, assim, recorrer ao plugin NRPE.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Reiniciar o Nagios:
#/etc/rc.d/init.d/nagios restart

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 22
CABEÇALHO RETIRADO

2.7.4 – Inicialização do NRPE nos Hosts Remotos


>>> PARA CADA UM DOS HOSTS REMOTOS A SEREM MONITORADOS, realizar os passos a seguir:
#/home/nagios/tmp/nrpe­2.3/src/nrpe ­c /home/nagios/tmp/nrpe­2.3/sample­config/nrpe.cfg ­d
­­> Após se iniciar o NRPE, é possível conferir se este está mesmo rodando (e ver o seu PID) a partir do comando:
#ps ­aux | grep nrpe
­­> A partir desse momento, o Nagios já deve ser capaz de monitorar, também, o host remoto (Fig. 02).

Figura 02 – Detalhe do monitoramento dos hosts local e remoto obtido a partir da guia “Service Detail” na interface web do Nagios.

2.8 – Inicialização Automática do Sistema de Monitoramento

2.8.1 – Iniciando o Nagios com o Boot do Sistema (Host


(Host Local)
­­> Verificar em /etc/inittab o runlevel padrão (0­6) em que o sistema está sendo iniciado (procurar pela linha 'initdefault'):
#more /etc/inittab (ex.: id:3:initdefault:)
­­> Listar os arquivos do diretório de inicialização correspondente ao runlevel padrão encontrado acima:
#ls ­l /etc/rc.d/rc?.d (ex.: ls ­l /etc/rc.d/rc3.d)
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
lrwxrwxrwx    1 root     root           14 Jun 13  2005 K05innd ­> ../init.d/innd
lrwxrwxrwx    1 root     root           19 Jun 13  2005 K05saslauthd ­> ../init.d/saslauthd
lrwxrwxrwx    1 root     root           17 Jun 13  2005 K09privoxy ­> ../init.d/privoxy
lrwxrwxrwx    1 root     root           16 Jun 13  2005 K10psacct ­> ../init.d/psacct
(...)
lrwxrwxrwx    1 root     root           15 Jun 13  2005 S97rhnsd ­> ../init.d/rhnsd
lrwxrwxrwx    1 root     root           11 Jun 13  2005 S99local ­> ../rc.local
lrwxrwxrwx    1 root     root           19 Jun 13  2005 S99mdmonitor ­> ../init.d/mdmonitor
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Como se pode perceber, nenhum dos scripts que efetivamente iniciam ou param os serviços em questão estão realmente 
localizados nesse diretório (no caso, /etc/rc.d/rc3.d). O que se tem aqui são apenas links simbólicos (soft links) para os mesmos, os 
quais se localizam, em efeito, no diretório /etc/rc.d/init.d. Isso é feito para que seja possível reconfigurar a inicialização dos 
diferentes runlevels por meio da criação, modificação e deleção de links simbólicos apenas, sem, contudo, afetar os próprios scripts 
por eles referenciados. Os nomes dos links podem ser iniciados por K ou por S, seguidos de um número. Os links K referem­se a 
processos que serão interrompidos (killed) na inicialização do runlevel (execução do comando '/etc/rc.d/init.d/<processo> stop'), ao 
passo que os links S representam processos que serão, por sua vez, iniciados (started; execução de '/etc/rc.d/init.d/<processo> 
start'). O procedimento de interrupção de processos (links K) ocorre primeiro que o de inicialização (links S), em ambos os casos 
obedecendo a ordem numérica respectiva. No caso de processos com a mesma numeração, segue­se a ordem alfabética do nome.
­­> Criar, no diretório de inicialização do runlevel padrão (ex.: /etc/rc.d/rc3.d), um link simbólico para o lançamento do Nagios 
(/etc/rc.d/init.d/nagios) com o boot do sistema (ex.: #ln ­s /etc/rc.d/init.d/nagios /etc/rc.d/rc3.d/S99nagios).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: Opcionalmente, realizar o mesmo procedimento para o lançamento automático do serviço httpd (Apache) na inicialização:
­­> Criar, no diretório de inicialização do runlevel padrão (ex.: /etc/rc.d/rc3.d), um link simbólico para o lançamento do serviço 
httpd (/etc/rc.d/init.d/httpd) com o boot do sistema (ex.: #ln ­s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S99httpd).
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 23
CABEÇALHO RETIRADO

2.8.2 – Iniciando o NRPE com o Boot do Sistema (Hosts


(Hosts Remotos)

2.8.2.1 – Método 1 – INETD ou XINETD

>>> PARA CADA UM DOS HOSTS
>>> PARA CADA UM DOS HOSTS REMOTOS A SEREM MONITORADOS, realizar os passos a seguir:
 REMOTOS A SEREM MONITORADOS, realizar os passos a seguir:
­­> Adicionar entradas para o daemon NRPE ao arquivo de configuração, dependendo do sistema, do inetd ou xinetd:
a) INETD (/etc/inetd.conf ou /etc/inet/inetd.conf)
i) WITH tcpwrappers: nrpe stream tcp nowait <user> /.../tcpd <nrpebin> ­c <nrpecfg> ­­inetd
(obs.: /.../tcpd = /usr/sbin/tcpd, /usr/libexec/tcpd ou /usr/etc/tcpd, por exemplo, conforme o caso)
ii) WITHOUT tcpwrappers: nrpe stream tcp nowait <user> <nrpebin> ­c <nrpecfg> ­­inetd
b) XINETD: Criar um arquivo chamado 'nrpe' no diretório /etc/xinetd.d contendo:
# default: on
# description: NRPE
service nrpe
{
flags = REUSE
socket_type = stream
wait = no
user = <user>
server = <nrpebin>
server_args = ­c <nrpecfg> ­­inetd
log_on_failure += USERID
disable = no
only_from = <ipaddress1> <ipaddress2> ...
}
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
OBS.: <user>: usuário em nome do qual o servidor nrpe deve rodar;
<nrpebin>: caminho do binário nrpe no sistema (ex.: /home/nagios/tmp/nrpe­2.3/src/nrpe);
<nrpecfg>: caminho do arquivo de configuração nrpe no sistema (ex.: /home/nagios/tmp/nrpe­2.3/sample­config/nrpe.cfg);
<ipaddress>: endereços IP dos hosts permitidos a se conectar com o daemon NRPE. Funciona apenas caso o xinetd tenha 
sido compilado com suporte a tcpwrappers.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

­­> Reiniciar o inetd ou xinetd, conforme seja o caso:
#/etc/rc.d/inetd [xinetd] restart

2.8.2.2 – Método 2 – Edição de Arquivos de Inicialização

2.8.2.2.1 – Host Remoto Linux (Arquivo rc.local)

>>> PARA CADA UM DOS HOSTS REMOTOS LINUX A SEREM MONITORADOS, realizar o procedimento a seguir:
­­> Editar o arquivo rc.local (#vi /etc/rc.d/rc.local), adicionando uma linha referente à chamada de execução do cliente NRPE 
(ex.: /home/nagios/tmp/nrpe­2.3/src/nrpe ­c /home/nagios/tmp/nrpe­2.3/sample­config/nrpe.cfg ­d).

2.8.2.2.2 – Host Remoto FreeBSD (Arquivo rc.conf)

>>> PARA CADA UM DOS HOSTS REMOTOS FREEBSD A SEREM MONITORADOS, realizar o procedimento a seguir:
­­> Copiar o script de inicialização do NRPE (ex.: /usr/ports/net­mgmt/nrpe2/work/nrpe2.sh) para /usr/local/etc/rc.d:
#cp /usr/ports/net­mgmt/nrpe2/work/nrpe2.sh /usr/local/etc/rc.d
­­> Editar o arquivo rc.conf (#vi /etc/rc.conf), adicionando, de forma diferente da acima, a referida linha de chamada automática de 
execução do NRPE (nrpe2_enable=”YES”).

Regis Soares Machado – Administrador de Redes <regiswork[at]gmail.com>


RODAPÉ RETIRADO

Distribuído sob a licença Creative Commons (CC) Attribution-NonCommercial-ShareAlike 2.5 (details at http://creativecommons.org/licenses/by-nc-sa/2.5)
http://creativecommons.org/licenses/by-nc-sa/2.5) 24

Você também pode gostar