Instalação Nagisk Nagios NRPE

Sistema operacional CentOS 6.3

Imagem 34

No servidor cliente, que contem o asterisk e será monitorado:

1 – Criar um usuário com nome nagios juntamente com uma senha.

2 – Instalar a última versão do nagios plugins:
mkdir ~/downloads
cd ~/downloads

(verificar o download mais recente http://sourceforge.net/projects/nagiosplug/files/nagiosplug/)
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnagiosplug%2Ffiles%2Fnagiosplug%2F1.4.16%2F&ts=1370370296&use_mirror=freefr

tar xzf nagios-plugins-*
cd nagios-plugins-1.4.6
Compile and install the plugins.
./configure
make
make install

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

3 – Foi necessária instalação:
yum install sudo.i686
yum install perl
yum install mod_ssl
yum install openssl
yum install xinetd

4 – Instalar NRPE:
cd ~/downloads

Verificar a ultima versão, abaixo irei baixar a versão 2.14:
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz?r=http%3A%2F%2Fexchange.nagios.org%2Fdirectory%2FAddons%2FMonitoring-Agents%2FNRPE–2D-Nagios-Remote-Plugin-Executor%2Fdetails&ts=1370370488&use_mirror=ufpr

tar xzf nrpe-*
cd nrpe-2.8

Compile the NRPE addon.
./configure
make all

Instalar NRPE plugin (for testing), daemon, e sample daemon config file.

make install-plugin
make install-daemon
make install-daemon-config

Instalar NRPE daemon como um serviço sobre o xinetd.

make install-xinetd

Editar o /etc/xinetd.d/nrpe file e adicionar o ip do servidor nagios:

only_from = 127.0.0.1 200.21.21.24 192.168.218.22

Adicionar a porta ao serviço em /etc/services
nrpe 5666/tcp # NRPE

Restartar o serviço xinetd
service xinetd restart
ou /etc/init.d/xinetd restart

Verificar se o serviço esta rodando:
netstat -at | grep nrpe
Terá que ter uma saída como essa:
tcp 0 0 *:nrpe *:* LISTEN

Se tudo ocorreu certo teremos então após o comando:
/usr/local/nagios/libexec/check_nrpe -H localhost
Uma saída como esta:
NRPE v2.14

6 – Se utilizar firewall na rede liberar a porta 5666 para o iptables podemos ter uma regra como essa:
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT
service iptables save

7 – Instalação Nagisk
wget http://sourceforge.net/projects/nagisk/files/nagisk/nagisk-1.2/nagisk-1.2.2.tgz/download
tar -xvf nagisk-1.2.2.tgz
cd nagisk-1.2.2
cp nagisk.pl /usr/local/nagios/libexec

chown nagios:nagios /usr/local/nagios/libexec/nagisk.pl
chmod 750 /usr/local/nagios/libexec/nagisk.pl

Em /etc/sudoers edite o arquivo adicionando (edite com o comando visudo):
nagios ALL= NOPASSWD: /usr/sbin/asterisk

E comentando o arquivo:
#Defaults requiretty

Adicione os comandos em /usr/local/nagios/etc/nrpe.cfg:
command[check_asterisk_version]=/usr/local/nagios/libexec/nagisk.pl -c version
command[check_asterisk_peers]=/usr/local/nagios/libexec/nagisk.pl -c peers
command[check_asterisk_channels]=/usr/local/nagios/libexec/nagisk.pl -c channels
command[check_asterisk_zaptel]=/usr/local/nagios/libexec/nagisk.pl -c zaptel
command[check_asterisk_span]=/usr/local/nagios/libexec/nagisk.pl -c span -s 1

Sendo que os comandos que cadastrará no servidor nagios será sempre os iniciais disponibilizados no inicio das linhas acima (check_asterisk_version, etc).

Trocar essa linha do arquivo /usr/local/nagios/etc/nrpe.cfg:
dont_blame_nrpe=0 para dont_blame_nrpe=1
e verificar se consta em outra linha a permissão:
allowed_hosts=127.0.0.1

A minha linha ficou assim pois adicionei mais monitoramentos e transformei o nagisk para funcionar com o dahdi ao invés de zaptel:
# The following examples use hardcoded command arguments…
command[check_ntp_time]=/usr/local/nagios/libexec/check_ntp_time -H localhost
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -d asterisk -H localhost -P 3306 -u root -p zoltrix90
command[check_dig]=/usr/local/nagios/libexec/check_dig -l www.google.com.br -H localhost -c 3 -w 1
#MEMORY Check
# check_mem = MEMORY at defined warning and critical use %.
command[check_mem]=/usr/local/nagios/libexec/check_mem.sh 75 85
#command[check_mysql_query]=/usr/local/nagios/libexec/check_mysql_query -q “SELECT round(SUM(duration)/60) Minutos FROM cdr WHERE calldate > ( NOW( ) – INTERVAL 30 DAY ) AND dst = ‘s’ AND dcontext = ‘recebesp2300′” -d asterisk -H localhost -P 3306 -u root -p senha
command[check_asterisk_peer]=/usr/local/nagios/libexec/nagisk.pl -c peer
command[check_asterisk_peer2]=/usr/local/nagios/libexec/nagisk.pl -c peer2
command[check_asterisk_version]=/usr/local/nagios/libexec/nagisk.pl -c version
command[check_asterisk_peers]=/usr/local/nagios/libexec/nagisk.pl -c peers
command[check_asterisk_channels]=/usr/local/nagios/libexec/nagisk.pl -c channels
command[check_asterisk_dahdi]=/usr/local/nagios/libexec/nagisk.pl -c dahdi
command[check_asterisk_span]=/usr/local/nagios/libexec/nagisk.pl -c span -s 1
command[check_asterisk_teste]=/usr/sbin/asterisk -rx “core show channels”

Restartar o serviço nrpe
/etc/init.d/nrpe restart
ou
/etc/init.d/xinetd restart

Teste para verificar se o retorno deu certo:
cd /usr/local/nagios/libexec
./check_nrpe -H localhost -c check_asterisk_version
Asterisk 11.2.1

NO SERVIDOR NAGIOS:

/etc/nagios/config/hosts.cfg

define host{
use generic-box
host_name ipbx
alias Asterisk Escritorio
address 201.20.20.238
}

/etc/nagios/config/commands.cfg
define command{
command_name check_nrpe2
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

/etc/nagios/config/services.cfg

define service{
use local-service ; Name of service template to use
host_name ipbx
service_description Uso da CPU
check_command check_nrpe2!check_load
}

define service{
use local-service
host_name ipbx
service_description Versao do asterisk
check_command check_nrpe2!check_asterisk_version
}

define service{
use local-service
host_name ipbx
service_description Checagem dos ramais conectados
check_command check_nrpe2!check_asterisk_peers
}
define service{
use local-service
host_name ipbx
service_description Placa Digium e Aligera
check_command check_nrpe2!check_asterisk_dahdi
}

define service{
use local-service
host_name ipbx
service_description Tronco Digital E1 Embratel
check_command check_nrpe2!check_asterisk_span
}

define service{
use local-service
host_name ipbx
service_description Numero virtual Vono
check_command check_nrpe2!check_asterisk_peer
}

define service{
use local-service
host_name ipbx
service_description Checagem de ligacoes ativas
check_command check_nrpe2!check_asterisk_channels
}
define service{
use local-service
host_name ipbx
service_description Integridade Mysql database Asterisk
check_command check_nrpe2!check_mysql
}
define service{
use local-service
host_name ipbx
service_description Checagem do funcionamento DNS
check_command check_nrpe2!check_dig
}
define service{
use local-service
host_name ipbx
service_description Memoria usada
check_command check_nrpe2!check_mem
}

define service{
use local-service
host_name ipbx
service_description Tamanho Sda
check_command check_nrpe2!check_sda
}

Deixe um comentário