Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NOTA.............................................................................................................................. 2
1. INTRODUÇÃO ........................................................................................................... 3
a) Propósito .............................................................................................................. 3
b) Visão Geral ao Design do NRPE ......................................................................... 3
2. EXEMPLOS DE USO ................................................................................................. 5
a) Checagens Diretas .............................................................................................. 5
b) Checagens Indiretas ............................................................................................ 5
3. INSTALAÇÃO ............................................................................................................ 6
a) Pré-requisitos ....................................................................................................... 6
b) Configurações pré-assumidas ............................................................................. 6
c) Instalação na máquina remota............................................................................. 7
d) Instalação no host de monitoramento ................................................................ 12
4. CUSTOMIZANDO SUA CONFIGURAÇÃO ............................................................. 18
a) Configuração na máquina remota...................................................................... 18
b) Configuração no host de monitoramento ........................................................... 19
5. ATUALIZANDO ........................................................................................................ 20
a) Atualizando o host de monitoramento ............................................................... 20
b) Atualizando as máquinas remotas ..................................................................... 21
6. RESOLUÇÃO DE PROBLEMAS ............................................................................. 22
Documentação do NRPE
______________________________________________________
NOTA
Este documento é resultante da tradução/atualização do documento oficial sobre o NRPE (Nagios
Remote Plugin Executor), que pode ser encontrado em http://nagios.org. Todos os fatores
informativos básicos do documento oficial foram mantidos, sendo que, os que necessitavam de
atualizações como: imagens, modelos, regras de firewall, arquivos de definição de objeto e
informações relativas ao Sistema Operacional específico, foram atualizados.
Até a finalização deste documento, a documentação original do NRPE tinha sua última atualização
datada em maio de 2007 e utilizava, como sistema operacional de exemplo, o Fedora Core 6. Esta
documentação, atualizada, utiliza o Ubuntu 9.10 como sistema operacional a ser usado para a
instalação e configuração do NRPE, bem como o Ubuntu Server 8.04 como o host que suporta o
servidor Nagios.
Detalhe Importante: Os arquivos de configuração, disponíveis neste guia (tal como no guia
oficial), levam em conta que você seguiu o modelo de instalação proposto no ‘Nagios QuickStart
Installation Guide’, que está disponível em http://nagios.sourceforge.net/docs/3_0/. Caso esteja
testando o NRPE e ainda não possua muita experiência com o Nagios, recomendo a instalação
do Nagios utilizando o QuickStart Guide (Guia de Início Rápido).
Qualquer dúvida e/ou sugestão de tradução/adaptação, por favor, contate-me por e-mail no
endereço: mailto:emaildoadrianovieira@gmail.com
Adriano Vieira
Membro da equipe Beagle Network TI
Aluno do Instituto Federal do Espírito Santo – Tecnólogo em Redes de Computadores
2
Documentação do NRPE
______________________________________________________
1. INTRODUÇÃO
a) Propósito
3
Documentação do NRPE
______________________________________________________
Nota: Para o funcionamento do daemon NRPE, é necessária a instalação dos plugins
do Nagios na máquina Linux/Unix remota. Sem estes plugins, o daemon ficaria
incapacitado de realizar qualquer monitoramento.
4
Documentação do NRPE
______________________________________________________
2. EXEMPLOS DE USO
a) Checagens Diretas
b) Checagens Indiretas
Você também pode usar o complemento NRPE para checar indiretamente serviços e
recursos “públicos”, de servidores remotos, que podem não estar diretamente visíveis
ao servidor de monitoramento (Nagios). Por exemplo, se o host remoto, o qual o
NRPE daemon e os plugins do Nagios estão instalados, pode “conversar” com um
servidor web remoto (mas sua implementação do Nagios não), você pode configurar o
daemon NRPE para permitir que o servidor web seja monitorado indiretamente. O
daemon NRPE estará, essencialmente, agindo como um Proxy neste caso.
5
Documentação do NRPE
______________________________________________________
3. INSTALAÇÃO
Para usar o complemento NRPE, você precisará realizar algumas tarefas tanto no
servidor de monitoramento, quando na máquina Linux/Unix remota onde o daemon
NRPE será instalado. Ambas as tarefas serão, separadamente, abordadas aqui.
Nota: Estas instruções são baseadas em um host remoto rodando Ubuntu 9.10.
Algumas convenções, comandos, etc, podem variar, dependendo da distribuição Linux
(ou variante UNIX) a ser utilizada, logo, as instruções dadas aqui podem ter de passar
por pequenas alterações para seu caso, em específico.
a) Pré-requisitos
Para que seja possível seguir este guia de instalação, será necessário:
b) Configurações pré-assumidas
Estas instruções assumem que você está instalando o NRPE em um sistema que
suporta TCP wrapper, e que será instalado o super-servidor xinetd (será instalado
neste guia). Se você possui um sistema mais antigo, que rode inetd (ao invés de
xinetd) e/ou não suporta TCP wrappers, ou você queira rodar o daemon NRPE sem
inetd ou xinetd, leia os seguintes arquivos para informações de como instalar o
complemento (ambos são encontrados no diretório principal de sua distribuição do
NRPE):
o README (inglês)
o SECURITY (inglês)
6
Documentação do NRPE
______________________________________________________
c) Instalação na máquina remota
Estas instruções devem ser realizadas na máquina Linux/Unix remota, na qual será
instalado o daemon NRPE. Nas configurações abaixo, serão instalados os plugins do
Nagios e o daemon NRPE.
sudo -s
useradd nagios
passwd nagios
apt-get update
Instale as bibliotecas.
Nota: Caso opte por utilizar uma conexão segura entre o servidor de monitoramento e
seus clientes (como, neste exemplo), esteja certo de instalar as bibliotecas, em todos
os sistemas envolvidos, antes da compilação dos plugin (como está sendo feito aqui).
Caso contrário, não será validada a instalação e o protocolo não será utilizado.
mkdir ~/downloads
7
Documentação do NRPE
______________________________________________________
cd ~/downloads
Baixe o código fonte em .tar.gz, dos plugins do Nagios (visite o site do nagios em
http://www.nagios.org/download/ para obter as últimas versões estáveis). Neste guia,
será utilizada a versão 1.4.14 dos plugins.
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.14/nagios-
plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure
make
make install
v. Instalando o xinetd
No Ubuntu 9.10 o xinetd não vem instalado por padrão. Você pode instalá-lo utilizando
o comando abaixo:
cd ~/downloads
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
Extraia os arquivos.
8
Documentação do NRPE
______________________________________________________
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
nano /etc/xinetd.d/nrpe
...
...
9
Documentação do NRPE
______________________________________________________
netstat –at | grep nrpe
/usr/local/nagios/libexec/check_nrpe –H localhost
Como retorno, você deve receber uma string dizendo a versão do NRPE instalada,
como a seguinte:
NRPE v2.12
Nota: Perceba que no primeiro comando acima, inserimos o IP do servidor o qual irá
fazer a requisição. Embora tenhamos definido anteriormente que o daemon NRPE
somente aceitaria requisições para os IPs cadastrados na diretiva only_from, é
interessante garantir isso também no iptables, tanto por questões de segurança
quanto desempenho. Nas regras acima, somente o servidor Nagios com o IP
cadastrado poderá obter os dados do daemon NRPE instalado.
10
Documentação do NRPE
______________________________________________________
passo 2. Você pode editar as definições existentes, inserir novos comandos, etc,
editando o arquivo de configuração do NRPE:
nano /usr/local/nagios/etc/nrpe.cfg
Assume-se que você esteja utilizando os comandos que estão definidos. Você pode
testar alguns deles rodando os seguintes comandos:
Até aqui, você instalou e configurou o NRPE na máquina Linux/Unix remota. Agora é
hora de instalar um componente NRPE e escrever algumas entradas em seu servidor
de monitoramento...
11
Documentação do NRPE
______________________________________________________
d) Instalação no host de monitoramento
Estas instruções assumem que você possui o Nagios instalado na máquina, de acordo
com o ‘Nagios Quickstart Installation Guide’, que pode ser encontrado em:
http://www.nagios.org. Os exemplos de configuração são demonstrados nos modelos
de referência. Estes modelos são definidos nos arquivos de exemplo: localhost.cfg e
commands.cfg. Estes arquivos foram instalados se você seguiu o ‘Quickstart Guide’.
i. Atualizando os repositórios
apt-get update
Nota: Caso opte por utilizar uma conexão segura entre o servidor de monitoramento e
seus clientes (como, neste exemplo), esteja certo de instalar as bibliotecas, em todos
os sistemas envolvidos, antes da compilação dos plugins (como está sendo feito neste
exemplo). Ambos os sistemas (servidor e cliente) devem ter seus plugins compilados,
com as bibliotecas SSL, para que seja possível a comunicação segura.
sudo -s
12
Documentação do NRPE
______________________________________________________
mkidr ~/downloads
cd downloads
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
Extraia os arquivos.
cd nrpe-2.12
./configure
make all
make install-plugin
/usr/local/nagios/libexec/check_nrpe -H <IP_MÁQUINA_REMOTA>
Como retorno, você deve receber uma string dizendo a versão do NRPE instalada,
como a seguinte:
NRPE v2.12
13
Documentação do NRPE
______________________________________________________
Você precisará criar uma definição de comando em um de seus arquivos de
configuração do Nagios para usar o check_nrpe. Abra o arquivo de exemplo
commands.cfg para edição...
nano /usr/local/nagios/etc/objects/command.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
É uma boa prática criar um novo modelo para cada tipo diferente de host que você
queira monitorar. Isso evidência diferenças e preferências de monitoramento para
cada tipo de host.
Vamos criar um novo modelo para sistemas Linux, monitorados por NRPE. Para isso,
edite o arquivo ‘templates.cfg’:
nano /usr/local/nagios/etc/objects/templates.cfg
define host{
name linux-nrpe ; Nome do modelo de host
use generic-host ; Herda valores padrão de…
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; NÃO REGISTRAR – ISTO É UM MODELO
}
14
Documentação do NRPE
______________________________________________________
Note que o modelo de definição ‘linux-nrpe’, acima, está herdando valores padrão do
modelo chamado ‘generic-host’ (que define configurações padrão para uma máquina
“genérica”). O modelo ‘generic-host’ pode ser encontrado no arquivo ‘templates.cfg’,
disponível quando você instala o Nagios seguindo o ‘Nagios QuickStart Installation
Guide’.
Agora, definiremos um novo host, que representará a máquina Linux/Unix remota que
será monitorada. Este novo host deve herdar características do modelo que criamos
anteriormente (‘linux_nrpe’):
define host{
use linux-nrpe ; herda valores padrão de um modelo
host_name Ubuntu-maq1 ; O nome que estamos dando ao host
alias Ubuntu 9.10 Desktop ; Um nome longo para o host
address 192.168.0.1 ; Endereço IP do host
}
Criamos uma nova definição para um host. Agora, definiremos alguns serviços a
serem monitorados na máquina Linux/Unix configurada com NRPE. Estes exemplos
de definições de serviços usarão os comandos de exemplo definidos anteriormente no
arquivo nrpe.cfg, na máquina remota.
O serviço a seguir irá monitorar a carga da CPU no máquina remota. Note que o
parâmetro “check_load”, passado para o comando check_nrpe, diz ao daemon NRPE
(residente na máquina remota) para rodar o comando “check_load” da forma definida
no arquivo nrpe.cfg.
define service{
use generic-service ;Herda valores genéricos para um serviço
host_name Ubuntu-maq1
service_description Carga da CPU
check_command check_nrpe!check_load
}
define service{
use generic-service ;Herda valores genéricos para um serviço
host_name Ubuntu-maq1
service_description Usuários Ativos Atualmente
check_command check_nrpe!check_users
}
15
Documentação do NRPE
______________________________________________________
O seguinte serviço irá monitorar o espaço livre em /dev/hda1 na máquina remota.
define service{
use generic-service ;Herda valores genéricos para um serviço
host_name Ubuntu-maq1
service_description Espaço livre em /dev/hda1
check_command check_nrpe!check_hda1
}
define service{
use generic-service ;Herda valores genéricos para um serviço
host_name Ubuntu-maq1
service_description Número de Processos
check_command check_nrpe!check_total_procs
}
define service{
use generic-service ;Herda valores genéricos para um serviço
host_name Ubuntu-maq1
service_description Processos Zombie
check_command check_nrpe!check_zombie_procs
}
/usr/local/nagios/Bin/nagios –v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios restart
16
Documentação do NRPE
______________________________________________________
É ISTO!!! Você deve, agora, poder ver a máquina e as definições de serviço criadas na
interface web do Nagios. Em alguns minutos, o Nagios já terá o estado atual da
máquina Linux/Unix monitorada.
Uma vez que queira monitorar mais serviços na máquina remota, é sugerido que você
leia a próxima sessão também.
Leia a sessão 5 para informações de como atualizar sua versão do NRPE. É rápido como
um estalar de dedos.
17
Documentação do NRPE
______________________________________________________
A qualquer momento que você desejar monitorar um novo serviço em uma máquina
remota, usando o complemento NRPE, você tem de fazer duas coisas:
Você pode utilizar o plugin check_swap para monitorar o uso de swap na máquina.
Assumindo que você seguiu as instruções neste documento, o plugin check_swap já
deve estar instalado em /usr/local/nagios/libexec/.
Agora que você conhece a linha de comando que deve ser executada, abra o arquivo
de configuração do NRPE.
nano /usr/local/nagios/etc/nrpe.cfg
Adicione uma nova definição de comando ‘check_swap’ que use a linha de comandos
mostrada acima, e salve o arquivo.
Se você estiver rodando o daemon NRPE como um daemon autônomo, você precisará
reiniciá-lo. Se você estiver o daemon sobre o super-servidor inetd/xinetd, você não
precisa fazer nada mais.
18
Documentação do NRPE
______________________________________________________
define service{
use generic-service
host_name Ubuntu-maq1
service_description Uso de Swap
check_command check_nrpe!check_swap
}
/usr/local/nagios/Bin/nagios –v /usr/local/nagios/etc/nagios.cfg
Pronto. Você está agora monitorando um novo serviço na máquina remota utilizando
NRPE. Quaisquer outros serviços que queira monitorar, basta seguir os mesmos
passos anteriores.
19
Documentação do NRPE
______________________________________________________
5. ATUALIZANDO
Em algum momento você irá querer atualizar sua versão do complemento NRPE. O
processo de atualização é particularmente simples. Aqui vão os detalhes...
mkdir ~/downloads
cd ~/downloads
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
Extraia os arquivos.
cd nrpe-2.12
./configure
make all
make install-plugin
20
Documentação do NRPE
______________________________________________________
Você precisará atualizar os daemons NRPE em todas as máquinas remotas que serão
monitoradas via complemento NRPE. Faça o seguinte
mkdir ~/downloads
cd ~/downloads
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
Extraia os arquivos.
cd nrpe-2.12
./configure
make all
make install-daemon
21
Documentação do NRPE
______________________________________________________
6. RESOLUÇÃO DE PROBLEMAS
Aqui vão algumas dicas para resolver problemas com alguns dos erros mais comuns
com o complemento NRPE. Se você encontrar problemas que não são abordados
aqui, envie um email para a lista de discussões dos usuários de Nagios. Mais
informações sobre a lista podem ser encontradas em http://www.nagios.org/support/.
22
Documentação do NRPE
______________________________________________________
A primeira coisa que você deve fazer é verificar o servidor por mensagens de erro. =D,
lógico. Este erro pode ter ocorrido devido aos seguintes problemas:
Este erro indica que o commando executado pelo daemon NRPE não retornou
nenhuma resposta. Isto pode ser uma indicação dos seguintes problemas:
23