O documento descreve a instalação e configuração do Nagios, um sistema de monitoramento de infraestrutura, e seus componentes principais: o servidor Nagios, o gerenciador NCONF e o cliente NRPE. Ele explica como instalar cada parte, configurar checks em hosts remotos usando o NRPE e definir serviços, hosts e comandos de checagem no NCONF.
2. What is Nagios?
Nagios é uma poderosa e importante ferramenta que monitora
processos e serviços a partir de plugins feitos por scripts em
diversas linguagens (Python, ruby, shell, C etc…) para
garantir a integridade da infraestrutura, emitindo alertas e
notificações através de avisos e e-mails.
3. Instalação - Server
A instalação do servidor é feito via pacote:
sudo apt-get install nagios3
Já esta incluso: nagios-images, nagios3-cgi, nagios-common e nagios3-core.
Essas são as libs necessárias para o Nagios.
4. Instalação - Gerenciador (NCONF)
nConf é uma ferramenta WEB para criação de serviços, hosts, grupos, contatos e
comandos. Esta ferramenta foi implementada para a melhor manipulação das
configurações já que o Nagios por padrão realizada suas inclusões através de
arquivos de configurações dentro do servidor.
A Instalação é complexa feita através de suas sources. Segue link para instalação e
configuração:
http://www.nconf.org/dokuwiki/doku.php?id=nconf:help:documentation:start:installation
5. Instalação - Client (NRPE)
O NRPE ou ( Nagios remote plugin executer ) é um client do nagios para servidores
remotos que necessitam de checks.
A instalação também feita via pacote:
sudo apt-get install nagios-nrpe-server nagios-plugins
7. Configuração Client - Arquivo NRPE.CFG
Neste aquivo de configuração vamos alterar o allowed_hosts e também vamos acrescentar os comandos que
serão executados pelo client.
allowed_hosts=127.0.0.1, IP_DO_SERVIDOR
Após isso, procure por command e altere da forma que for realizar seu check. Exemplo:
command[check_service]=/usr/lib/nagios/plugins/check_procs -a status_count_one -w 1:5 -c 1:3
Onde:
Parâmetro -a : argumento(nome do serviço).
Parâmetro -w: warning(range MIN:MAX de processos).
Parâmetro -c: critical(range MIN:MAX de processos).
OBS: No nosso caso, o único script que está de forma diferente é o check_ps, feito exclusivamente para o
Workers.
8. Configuração server - NCONF
Para realizarmos todas as configurações necessárias no servidor utilizamos apenas o
gerenciador nConf. Ele escreve em todos os arquivos de configurações necessários
do Nagios e depois compila e reinicia o serviço.
Acesso: http://IP_DO_SERVIDOR/nconf/
9. Configuração server - Adicionando um HOST.
Para adicionarmos um host seguimos os seguintes passos:
1. Clicar para adicionar.
2. Informar o nome do Host.
3. Informar o endereço.
4. O S.O do servidor.
5. Adicionar a flag host collector para filtrar as informações.
Após isso, é necessário compilar o arquivo de configuração do nagios, clicando em:
“Generate nagios config”
10. Configuração server - Adicionando checkcommands.
O check-command é o lugar aonde vamos setar os parâmetros dos comandos. Para
adicionarmos os serviços esse cara já deve estar configurado.
1. Clicar em adicionar.
2. Nome do comando: ( No nosso exemplo: check_nrpe )
3. Linha de comando: ( No nosso exemplo: $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ ).
4. Quantidade de parâmetros: ( No nosso exemplo: 1 )
11. Configuração server - Adicionando serviço.
A inclusão do serviço requer obrigatoriamente um host. Para adicionarmos,
seguimos os seguintes passos:
1. Clicar em adicionar.
2. Informar o service name.
3. Enable service = YES.
4. Check_command = (Para servers remotos: check_nrpe)
5. Host de destino.
6. Os intervalos de checks também são adicionados alí. Porem aconselho o uso de grupos para isso.
7. Params of check command = No nosso caso, como setamos o check_service lá no arquivo de configuração do NRPE.cfg
adicionamos ali para o parametro -c, incluido no checkcommands, enxergar este script e executar.