Monitoramento · 14 min read · Nov 02, 2025
Como Instalar um Servidor de Monitoramento Naemon Pronto para Produção
Naemon é a nova suíte de monitoramento que visa ser rápida, estável e inovadora, enquanto oferece uma visão clara do estado da sua rede e aplicações. Este é um substituto para o servidor nagios e muito estável, utilizando um incrível painel chamado thruk. Configurar o naemon é muito fácil e possui status ao vivo embutido. Neste tutorial, eu vou mostrar como instalar e configurar o naemon em um ambiente de produção junto com o pnp4nagios para gráficos. O Naemon é muito estável, e eu vou mostrar como manter as configurações em um ambiente de grande escala.
Neste tutorial, eu estarei usando quatro servidores
- 192.168.1.170 - Servidor Naemon - centos 7
- 192.168.1.21 - cliente nrpe - centos 6
- 192.168.1.182 - cliente nrpe - ubuntu
- 192.168.1.75 - cliente nscp - windows server 2012R2
Instalação do Servidor Naemon
Estou usando um host CentOS 7 com uma instalação mínima, SELinux desativado e firewalld ativado.
[root@naemon ~]# sestatus
Status do SELinux: desativado
[root@naemon ~]#Instalando o repositório:
[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpmenabling the epel repo:
yum -y install epel-releaseInstalando o pacote Naemon:
[root@naemon ~]# yum install naemon*O Naemon usa o mesmo plugin Nagios e nrpe para monitorar hosts. Agora vamos instalá-los:
[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yVamos adicionar as regras do firewall:
[root@naemon ~]# firewall-cmd --add-service=http --permanent
success
[root@naemon ~]# firewall-cmd --add-service=https --permanent
success
[root@naemon ~]# firewall-cmd --reload
success
[root@naemon ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno16777736
sources:
services: dhcpv6-client http https ssh
ports:
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
[root@naemon ~]#
Instalação do pnp4nagios.
yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wgetBaixando o pnp4nagios.
[root@naemon ~]# wget https://svwh.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz
[root@naemon ~]# tar -zxvf pnp4nagios-0.6.25.tar.gz
[root@naemon ~]# cd pnp4nagios-0.6.25/
[root@naemon pnp4nagios-0.6.25]# ./configure --with-nagios-user=naemon --with-nagios-group=naemon
[root@naemon pnp4nagios-0.6.25]# make all
[root@naemon pnp4nagios-0.6.25]# make fullinstall
[root@naemon pnp4nagios-0.6.25]# make install-webconf
[root@naemon pnp4nagios-0.6.25]# make install-config
[root@naemon pnp4nagios-0.6.25]# make install-init
Reiniciando e habilitando o serviço.
[root@naemon ~]# systemctl enable httpd && systemctl restart httpd
[root@naemon ~]# systemctl enable naemon && systemctl restart naemon
[root@naemon ~]# systemctl enable thruk && systemctl restart thruk
[root@naemon ~]# systemctl enable npcd && systemctl restart npcd
você deve ser capaz de acessar a URL de http://192.168.1.170/thruk

O nome de usuário padrão é thrukadmin, a senha é thrukadmin.
Caso você queira mudar a senha do thrukadmin, execute:
[root@naemon ~]# htpasswd /etc/thruk/htpasswd thrukadminInstalação do Cliente de Monitoramento para monitorar os nós
Instalação dos clientes nrpe para monitorar hosts Linux
192.168.1.21 - cliente nrpe - centos 6
Instalação do plugin Nagios e cliente nrpe:
[root@centos6 ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yFaça um backup do nrpe.cfg:
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpSubstitua o conteúdo do arquivo nrpe.conf pelo conteúdo abaixo:
[root@centos6 ~]# cat /etc/nagios/nrpe.cfg
log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=127.0.0.1,192.168.1.170
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/
[root@centos6 ~]#
Sob allowed_host adicione o endereço IP do servidor naemon, aqui é 192.168.1.170.
Agora precisamos reiniciar o serviço nrpe:
[root@centos6 ~]# service nrpe restart
[root@centos6 ~]# chkconfig nrpe on
192.168.1.182 - cliente nrpe - ubuntu
root@ubuntu:~# apt-get install nagios-nrpe-server nagios-plugins -yFaça um backup do nrpe.cfg:
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpSubstitua o conteúdo do arquivo nrpe.conf pelo conteúdo abaixo:
root@ubuntu:~# cat /etc/nagios/nrpe.cfg
log_facility=daemon
pid_file=/var/run/nagios/nrpe.pid
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1,192.168.1.170
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nagios/nrpe.d/
root@ubuntu:~#
Agora precisamos reiniciar o serviço nrpe:
root@ubuntu:~# systemctl restart nagios-nrpe-server.service
root@ubuntu:~# systemctl enable nagios-nrpe-server.service
Instalação do Nscp no Windows
192.168.1.75 - cliente nscp - windows server 2012R2
Baixe o nscp deste site:
https://www.nsclient.org/download/
Uma vez baixado, siga as capturas de tela de instalação

Escolha genérico.

Escolha completo:

Escolha o caminho padrão:

Agora, sob hosts permitidos, adicione o host naemon. Aqui na nossa configuração é 192.168.1.170.
Certifique-se de dar uma senha complexa. Para este exemplo, eu usei a senha “howtoforge”. Em seguida, marque habilitar nsclient e nrpe.


Uma vez que a instalação esteja completa, certifique-se de que o serviço esteja ativo e em execução.
Agora vamos validar a partir do host naemon, para garantir que conseguimos alcançá-lo.
Validar nrpe e nscp do Servidor Naemon para verificar a conectividade
[root@naemon ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.182
NRPE v2.15
[root@naemon ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.21
NRPE v2.15
[root@naemon ~]#
[root@naemon ~]# /usr/lib64/nagios/plugins/check_nt -H 192.168.1.75 -p 12489 -v CLIENTVERSION -s 'howtoforge'
NSClient++ 0.5.0.62 2016-09-14
[root@naemon ~]#
Monitoramento de Servidores
Vamos monitorar o desempenho do servidor neste tutorial.
Em um ambiente de produção, precisaremos monitorar a CPU, memória e utilização do disco rígido, juntamente com a verificação de host ativo.
Adicionando as seguintes linhas no nrpe conf /etc/nrpe.d/base.cfg
192.168.1.21 - cliente nrpe - centos 6
[root@centos6 ~]# cat /etc/nrpe.d/base.cfg
command[check_disks]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -X nfs -X cifs -X none -X tmpfs -w $ARG1$ -c $ARG2$
command[memory]=/usr/lib64/nagios/plugins/check_memory -w $ARG1$ -c $ARG2$
command[load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_procs_c]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -C $ARG2$
command[check_procs_a]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
Salve e reinicie o arquivo, depois reinicie o nrpe.
[root@centos6 ~]# /etc/init.d/nrpe restart
Desligando nrpe: [FAILED]
Iniciando nrpe: [ OK ]
[root@centos6 ~]#
O plugin de memória não estará disponível como plugin padrão. Usaremos o plugin abaixo.
[root@centos6 ~]# cd /usr/lib64/nagios/plugins/
[root@centos6 plugins]# vim check_memory
Adicione o conteúdo abaixo.
#! /usr/bin/perl -w
##Incluído Perf data
#Os plugins nagios vêm com ABSOLUTAMENTE NENHUMA GARANTIA. Você pode redistribuir
#cópias dos plugins sob os termos da Licença Pública Geral GNU.
#
use strict;
use Getopt::Long;
my ($opt_f, $opt_h, $opt_c, $opt_w);
my ($result, $message, $ram_percent);
my $PROGNAME="check_memory";
$opt_f = "";
Getopt::Long::Configure('bundling');
GetOptions(
"h" => \$opt_h, "help" => \$opt_h,
"c=s" => \$opt_c, "Warning_Percentage" => \$opt_c,
"w=s" => \$opt_w, "Critical_Percentage" => \$opt_w,
);
if ($opt_h) {
&print_help();
exit 0;
}
$opt_w = shift unless ($opt_w);
$opt_c = shift unless ($opt_c);
if (! $opt_c && ! $opt_w) {
print "Warning and Critical must be specified\n";
exit 3;
}
if ($opt_c <= $opt_w){
print "Critical must be greater than Warning CRITICAL: $opt_c WARNING: $opt_w\n";
exit 3;
}
$result = 'OK';
open(FREE_M, "free -m|");
while (my $line = ){
if ($line =~ /^Mem/){
my ($junk,$total_mem,$used_mem,$free_mem,$shared_mem,$buffered_mem,$cached_mem)=split(/\s+/,$line);
$ram_percent=int(($total_mem-($free_mem+$cached_mem+$buffered_mem))/$total_mem*100*100)/100;
}
}
close(FREE_M);
if ($ram_percent > $opt_c){
print "Memory usage is: CRITICAL: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 2;
}elsif ($ram_percent > $opt_w) {
print "Memory usage is: WARNING: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 1;
}
else{
print "Memory usage is: $result: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 0;
}
sub print_usage () {
print "Usage:\n";
print " $PROGNAME -f \n";
print " $PROGNAME -c \n";
print " $PROGNAME -w \n";
print " $PROGNAME [-h | --help]\n";
print " $PROGNAME [-V | --version]\n";
}
sub print_help () {
print << EOF;
$PROGNAME v1.0.01
Os plugins nagios vêm com ABSOLUTAMENTE NENHUMA GARANTIA. Você pode redistribuir
cópias dos plugins sob os termos da Licença Pública Geral GNU.
EOF
&print_usage();
print "\n";
exit 3;
}
Link de download do plugin check_memory
Você deve dar permissões de execução ao arquivo:
[root@centos6 plugins]# chmod 755 check_memoryAdicionando as seguintes linhas na configuração do nrpe /etc/nagios/nrpe.d/base.cfg
192.168.1.182 - cliente nrpe - ubuntu
Aqui o caminho do arquivo é diferente:
O diretório do plugin é lib e não lib64.
root@ubuntu:~# cat /etc/nagios/nrpe.d/base.cfg
command[check_disks]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_disk]=/usr/lib/nagios/plugins/check_disk -X nfs -X cifs -X none -X tmpfs -w $ARG1$ -c $ARG2$
command[memory]=/usr/lib/nagios/plugins/check_memory -w $ARG1$ -c $ARG2$
command[load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_procs_c]=/usr/lib/nagios/plugins/check_procs -c $ARG1$ -C $ARG2$
command[check_procs_a]=/usr/lib/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
Adicione o mesmo script check_memory em /usr/lib/nagios/plugins.
root@ubuntu:~# vim /usr/lib/nagios/plugins/check_memory
root@ubuntu:~# chmod 755 /usr/lib/nagios/plugins/check_memory
root@ubuntu:~# systemctl restart nagios-nrpe-server.service
root@ubuntu:~#
Configuração no Servidor Naemon
Faça login como usuário naemon:
[root@naemon ~]# su - naemon
Último login: Qui Mar 9 17:11:39 CET 2017 em pts/0
-sh-4.2$
Altere o e-mail do administrador em /etc/naemon/naemon.cfg
........
........
[email protected]
[email protected]
........
............Agora vamos configurar os comandos personalizados para fazer a verificação em /etc/naemon/conf.d
Crie um arquivo de comandos personalizados chamado custom_commands.cfg com o conteúdo abaixo.
$ vim /etc/naemon/conf.d/custom_commands.cfg## Verificação de Host Ativo ##
# comando 'check_icmp Host Alive'
define command{
command_name host_alive
command_line $USER1$/check_icmp -H $HOSTADDRESS$ -n 1 -w 3000.00,80% -c 5000.00,100%
}
### Comando de Serviço ##
# comando 'check_nrpe_disks'
define command{
command_name check_nrpe_disks
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c check_disks -a $ARG1$ $ARG2$ $ARG3$
}
# comando 'nrpe'
define command{
command_name nrpe
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$
}
# NRPE Com Argumentos
define command{
command_name check_nrpe_a
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
}
#####################################
# Verificações do Windows NSClient++
# comando 'check_nt'
define command{
command_name nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $USER4$
}
Para segurança, salve a senha dos clientes nscp em /etc/naemon/resource.cfg
...........
...........
$USER4$=howtoforge
...........
............Agora precisamos definir a configuração do host.
Criamos um arquivo chamado linux.cfg.
$ vim /etc/naemon/conf.d/linux.cfgdefine host {
host_name centos6.sunil.cc
alias Centos
address 192.168.1.21
use linux-server
hostgroups linux-servers
}
define host {
host_name ubuntu.sunil.cc
alias Ubuntu
address 192.168.1.182
use linux-server
hostgroups linux-servers
}
Fazemos o mesmo para o host Windows.
$ vim /etc/naemon/conf.d/windows.cfgdefine host {
host_name ad.sunil.cc
alias Meu Servidor Windows
address 192.168.1.75
use windows-server
}
define hostgroup {
hostgroup_name windows-servers
alias Servidores Windows
}
Agora precisamos definir a configuração do serviço.
$ vim linux_services.cfgdefine service {
service_description Status dos Discos
hostgroup_name linux-servers
use generic-service
check_command check_nrpe_a!check_disk!15%!5%
}
define service{
use generic-service
hostgroup_name linux-servers
service_description Carga Média
check_command check_nrpe_a!load!30,25,20!45,40,35
}
define service{
use generic-service
hostgroup_name linux-servers
service_description Uso de Memória
check_command check_nrpe_a!memory!80!90
}
Para Windows, criamos uma configuração semelhante.
$ vim window_services.cfgdefine service{
use generic-service
hostgroup_name windows-servers
service_description Disco - C:
check_command nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use generic-service
hostgroup_name windows-servers
service_description Carga Média
check_command nt!CPULOAD!-l 60,90,95
}
define service{
use generic-service
hostgroup_name windows-servers
service_description Uso de Memória
check_command nt!MEMUSE!-w 90 -c 95
}
Agora vamos mudar o endereço de e-mail de contato.
$ vim contacts.cfgdefine contact {
contact_name naemonadmin ; Nome curto do usuário
alias Administrador Naemon ; Nome completo do usuário
use generic-contact ; Herdar valores padrão do template generic-contact (definido acima)
email [email protected] ; <<*** MUDAR ISSO PARA SEU ENDEREÇO DE E-MAIL ****
}
Agora removemos as configurações desnecessárias que não são necessárias.
$ mv switch.cfg switch.cfg.bkp$ mv printer.cfg printer.cfg.bkpPara validar as configurações.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-presente Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
License: GPL
Website: http://www.naemon.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 20 services.
Checked 4 hosts.
Checked 1 contacts.
Checked 2 host groups.
Checked 0 service groups.
Checked 1 contact groups.
Checked 29 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 4 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
-sh-4.2$
Faça login como root e reinicie o serviço naemon.
[root@naemon conf.d]# systemctl restart naemon
[root@naemon conf.d]# systemctl status naemon
? naemon.service - Daemon de Monitoramento Naemon
Loaded: loaded (/usr/lib/systemd/system/naemon.service; enabled; vendor preset: disabled)
Active: active (running) since Qui 2017-03-09 19:14:36 CET; 7s ago
Docs: http://naemon.org/documentation
Process: 5112 ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg (code=exited, status=0/SUCCESS)
Process: 5110 ExecStartPre=/usr/bin/chown -R naemon:naemon /var/run/naemon/ (code=exited, status=0/SUCCESS)
Process: 5108 ExecStartPre=/usr/bin/mkdir /var/run/naemon (code=exited, status=1/FAILURE)
Main PID: 5114 (naemon)
CGroup: /system.slice/naemon.service
??5114 /usr/bin/naemon --daemon /etc/naemon/naemon.cfg
??5115 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
??5116 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
??5117 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
??5118 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
??5119 /usr/bin/naemon --daemon /etc/naemon/naemon.cfg
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Starting Daemon de Monitoramento Naemon...
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Failed to read PID from file /var/run/naemon/naemon.pid: Invalid argument
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Started Daemon de Monitoramento Naemon.
[root@naemon conf.d]#
Faça login no painel e você deve ver os serviços ativos e em execução.
Vemos que os serviços falham para o host Ubuntu.
Observa-se que o pacote nrpe compilado para ubuntu teve argumentos habilitados desativados por vulnerabilidade de segurança e essa é a razão pela qual está falhandoPrecisaremos recompilar o pacote para habilitar argumentos, para gerenciar a afinação a partir do naemon.
O link abaixo mostra como ele pode ser recompilado. Você também encontrará o pacote já compilado com argumentos habilitados neste site. Eu usarei este pacote pré-compilado para este tutorial.
https://www.claudiokuenzler.com/blog/626/nrpe-debian-jessie-command-ags-arguments-not-working-errorroot@ubuntu:~# wget https://www.claudiokuenzler.com/downloads/nrpe/nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.debInstale o pacote.
root@ubuntu:~# dpkg -i nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb
(Reading database ... 79576 files and directories currently installed.)
Preparing to unpack nagios-nrpe-server (2.15-1ubuntu2) over (2.15-1ubuntu1) ...
Unpacking nagios-nrpe-server (2.15-1ubuntu2) ...
Setting up nagios-nrpe-server (2.15-1ubuntu2) ...
Processing triggers for systemd (229-4ubuntu16) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
root@ubuntu:~#Reinicie o NRPE.
root@ubuntu:~# systemctl restart nagios-nrpe-server.serviceAgora estamos monitorando todos os hosts usando naemon.
Configuração do pnp4nagios
Precisamos configurar o pnp4nagios para o gráfico de desempenho.
Agora usaremos o mesmo método de autenticação que o painel thruk, primeiro faremos um backup do arquivo e mudaremos as seguintes linhas.
[root@naemon conf.d]# cd /etc/httpd/conf.d/
[root@naemon conf.d]# cp pnp4nagios.conf pnp4nagios.conf.bkp
[root@naemon share]# cat /etc/httpd/conf.d/pnp4nagios.conf
# TRECHOS DE CONFIGURAÇÃO DE AMOSTRA PARA O SERVIDOR WEB APACHE
Alias /pnp4nagios "/usr/local/pnp4nagios/share"
AllowOverride None
Order allow,deny
Allow from all
#
# Use o mesmo valor definido em nagios.conf
#
AuthName "Acesso Thruk"
AuthType Basic
AuthUserFile /etc/thruk/htpasswd
Require valid-user
# Ativar reescrita de URL
RewriteEngine On
Options symLinksIfOwnerMatch
# Diretório de instalação
RewriteBase /pnp4nagios/
# Proteger arquivos e diretórios de aplicação e sistema de serem visualizados
RewriteRule "^(?:application|modules|system)/" - [F]
# Permitir que quaisquer arquivos ou diretórios que existam sejam exibidos diretamente
RewriteCond "%{REQUEST_FILENAME}" !-f
RewriteCond "%{REQUEST_FILENAME}" !-d
# Reescrever todas as outras URLs para index.php/URL
RewriteRule "^.*$" "index.php/$0" [PT]
[root@naemon share]#
[root@naemon conf.d]# systemctl restart httpd.service
Agora precisamos mudar a página de configuração.
[root@naemon share]# cd /usr/local/pnp4nagios/share/
[root@naemon share]# mv install.php install.php.txt
Agora precisamos mudar o arquivo de configuração do pnp4nagios.
Mude nagios para naemon no arquivo de configuração.
[root@naemon conf.d]# vi /usr/local/pnp4nagios/etc/config_local.php
............................
................................
$conf['nagios_base'] = "/naemon/cgi-bin";
..................................
............................Ative os dados de desempenho de 0 para 1.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
.....................
.....................
process_performance_data=1
......................
......................Adicione as linhas abaixo ao final do naemon.conf.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg#
# dados de desempenho do serviço
#
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
#
#
#
dados de desempenho do host
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
Agora precisamos adicionar as linhas abaixo no custom_commands.conf.
[root@naemon conf.d]# vim /etc/naemon/conf.d/custom_commands.cfg
define command{
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
Agora criamos um template para gráfico de desempenho do host e gráfico de desempenho do serviço.
$ cd /etc/naemon/conf.d/templates/
$ cat pnp.cfg
define host {
name host-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name service-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
Agora, para acessar o gráfico de desempenho para os serviços que você precisa, precisamos atualizar o arquivo service.cfg.
$ cat linux_services.cfg
define service {
service_description Status dos Discos
hostgroup_name linux-servers
use generic-service,service-pnp ; Nome do template de serviço a ser usado
check_command check_nrpe_a!check_disk!15%!5%
}
define service{
use generic-service,service-pnp
hostgroup_name linux-servers
service_description Carga Média
check_command check_nrpe_a!load!30,25,20!45,40,35
}
define service{
use generic-service,service-pnp
hostgroup_name linux-servers
service_description Uso de Memória
check_command check_nrpe_a!memory!80!90
}
$ cat window_services.cfg
define service{
use generic-service,service-pnp
hostgroup_name windows-servers
service_description Disco - C:
check_command nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use generic-service,service-pnp
hostgroup_name windows-servers
service_description Carga Média
check_command nt!CPULOAD!-l 60,90,95
}
define service{
use generic-service,service-pnp
hostgroup_name windows-servers
service_description Uso de Memória
check_command nt!MEMUSE!-w 90 -c 95
}
Para verificar o gráfico do host, precisamos incluí-lo no arquivo abaixo.
$ cat linux.cfg
define host {
host_name centos6.sunil.cc
alias Centos
address 192.168.1.21
use linux-server,host-pnp
hostgroups linux-servers
}
define host {
host_name ubuntu.sunil.cc
alias Ubuntu
address 192.168.1.182
use linux-server,host-pnp
hostgroups linux-servers
}
$ cat windows.cfg
define host {
host_name ad.sunil.cc
alias Meu Servidor Windows
address 192.168.1.75
use windows-server,host-pnp
}
define hostgroup {
hostgroup_name windows-servers
alias Servidores Windows
}
Valide a configuração.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-presente Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
License: GPL
Website: http://www.naemon.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 20 services.
Checked 4 hosts.
Checked 1 contacts.
Checked 2 host groups.
Checked 0 service groups.
Checked 1 contact groups.
Checked 31 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 4 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
Reinicie os serviços.
[root@naemon ~]# systemctl enable npcd
npcd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig npcd on
[root@naemon ~]# systemctl restart npcd
[root@naemon ~]# systemctl restart naemon


Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.

