Monitoreo · 15 min read · Nov 02, 2025
Cómo instalar un servidor de monitoreo Naemon listo para producción
Naemon es el nuevo conjunto de monitoreo que tiene como objetivo ser rápido, estable e innovador, mientras te brinda una vista clara del estado de tu red y aplicaciones. Este es un reemplazo para el servidor nagios y es muy estable, utilizando un increíble panel llamado thruk. Configurar naemon es muy fácil y tiene estado en vivo incorporado. En este tutorial, te mostraré cómo instalar y configurar naemon en un entorno de producción junto con pnp4nagios para gráficos. Naemon es muy estable, te mostraré cómo mantener las configuraciones en un entorno a gran escala.
En este tutorial, estaré usando cuatro 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
Instalación del Servidor Naemon
Estoy usando un host CentOS 7 con una instalación mínima, SELinux deshabilitado y firewalld habilitado.
[root@naemon ~]# sestatus
Estado de SELinux: deshabilitado
[root@naemon ~]#Instalando el repositorio:
[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpmenabilitando el repositorio epel:
yum -y install epel-releaseInstalando el paquete Naemon:
[root@naemon ~]# yum install naemon*Naemon utiliza el mismo plugin de Nagios y nrpe para monitorear hosts. Ahora los instalaremos:
[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yAgregaremos las reglas del 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 ~]#
Instalación de pnp4nagios.
yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wgetDescargando 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 y habilitando el servicio.
[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
Deberías poder acceder a la URL desde http://192.168.1.170/thruk

El nombre de usuario predeterminado es thrukadmin, la contraseña es thrukadmin.
En caso de que desees cambiar la contraseña de thrukadmin, ejecuta:
[root@naemon ~]# htpasswd /etc/thruk/htpasswd thrukadminInstalación del Cliente de Monitoreo para monitorear los nodos
Instalación de clientes nrpe para monitorear hosts Linux
192.168.1.21 - cliente nrpe - centos 6
Instalación del plugin de Nagios y cliente nrpe:
[root@centos6 ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yToma una copia de seguridad del nrpe.cfg:
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpReemplaza el contenido del archivo nrpe.conf con el siguiente contenido:
[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 ~]#
Bajo allowed_host agrega la dirección IP del servidor naemon, aquí es 192.168.1.170.
Ahora necesitamos reiniciar el servicio 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 -yToma una copia de seguridad del nrpe.cfg:
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpReemplaza el contenido del archivo nrpe.conf con el siguiente contenido:
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:~#
Ahora necesitamos reiniciar el servicio nrpe:
root@ubuntu:~# systemctl restart nagios-nrpe-server.service
root@ubuntu:~# systemctl enable nagios-nrpe-server.service
Instalación de Nscp en Windows
192.168.1.75 - cliente nscp - windows server 2012R2
Descarga nscp desde este sitio web:
https://www.nsclient.org/download/
Una vez descargado, sigue las capturas de pantalla de instalación

Elige genérico.

Elige completo:

Elige la ruta predeterminada:

Ahora, bajo hosts permitidos, agrega el host naemon. Aquí en nuestra configuración es 192.168.1.170.
Asegúrate de dar una contraseña compleja. Para este ejemplo, he utilizado la contraseña como “howtoforge”. A continuación, verifica habilitar nsclient y nrpe.


Una vez completada la instalación, asegúrate de que el servicio esté en funcionamiento.
Ahora validaremos desde el host naemon, para asegurarnos de que podamos alcanzarlo.
Validar nrpe y nscp desde el Servidor Naemon para verificar la conectividad
[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 ~]#
Monitoreo de Servidores
Monitorearemos el rendimiento del servidor en este tutorial.
En un entorno de producción, necesitaremos monitorear la CPU, la memoria y la utilización del disco duro, junto con la verificación de la vida del host.
Agregando las siguientes líneas en la configuración nrpe /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$
Guarda y reinicia el archivo, luego reinicia nrpe.
[root@centos6 ~]# /etc/init.d/nrpe restart
Apagando nrpe: [FALLIDO]
Iniciando nrpe: [ OK ]
[root@centos6 ~]#
El plugin de memoria no estará disponible como plugin predeterminado. Usaremos el siguiente plugin.
[root@centos6 ~]# cd /usr/lib64/nagios/plugins/
[root@centos6 plugins]# vim check_memory
Agrega el siguiente contenido.
#! /usr/bin/perl -w
##Incluido Perf data
#Los plugins de nagios vienen con ABSOLUTAMENTE NINGUNA GARANTÍA. Puedes redistribuir
#copias de los plugins bajo los términos de la Licencia Pública General de 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;
}elseif (\$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
Los plugins de nagios vienen con ABSOLUTAMENTE NINGUNA GARANTÍA. Puedes redistribuir
copias de los plugins bajo los términos de la Licencia Pública General de GNU.
EOF
&print_usage();
print "\n";
exit 3;
}
Enlace de descarga del plugin check_memory
Debes dar permisos de ejecución al archivo:
[root@centos6 plugins]# chmod 755 check_memoryAgregando las siguientes líneas en la configuración nrpe /etc/nagios/nrpe.d/base.cfg
192.168.1.182 - cliente nrpe - ubuntu
Aquí la ruta del archivo es diferente:
El folder de plugins es lib y no 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$
Agrega el mismo script check_memory en /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:~#
Configuración en el Servidor Naemon
Inicia sesión como usuario naemon:
[root@naemon ~]# su - naemon
Último inicio de sesión: Jue Mar 9 17:11:39 CET 2017 en pts/0
-sh-4.2$
Cambia el correo electrónico del administrador en /etc/naemon/naemon.cfg
........
........
[email protected]
[email protected]
........
............Ahora configuraremos los comandos personalizados para realizar la verificación en /etc/naemon/conf.d
Crea un archivo de comandos personalizados llamado custom_commands.cfg con el siguiente contenido.
$ vim /etc/naemon/conf.d/custom_commands.cfg## Verificación de Host Vivo ##
# 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 Servicio ##
# 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 Con Argumentos
define command{
command_name check_nrpe_a
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
}
#####################################
# Verificaciones de Windows NSClient++
# comando 'check_nt'
define command{
command_name nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $USER4$
}
Por motivos de seguridad, guarda la contraseña de los clientes nscp en /etc/naemon/resource.cfg
...........
...........
$USER4$=howtoforge
...........
............Ahora necesitamos definir la configuración del host.
Creamos un archivo llamado 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
}
Hacemos lo mismo para el host de Windows.
$ vim /etc/naemon/conf.d/windows.cfgdefine host {
host_name ad.sunil.cc
alias Mi Servidor Windows
address 192.168.1.75
use windows-server
}
define hostgroup {
hostgroup_name windows-servers
alias Servidores Windows
}
Ahora necesitamos definir la configuración del servicio.
$ vim linux_services.cfgdefine service {
service_description Estado de 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 Promedio
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 Memoria
check_command check_nrpe_a!memory!80!90
}
Para Windows, creamos una configuración similar.
$ 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 Promedio
check_command nt!CPULOAD!-l 60,90,95
}
define service{
use generic-service
hostgroup_name windows-servers
service_description Uso de Memoria
check_command nt!MEMUSE!-w 90 -c 95
}
Ahora cambiaremos la dirección de correo electrónico de contacto.
$ vim contacts.cfgdefine contact {
contact_name naemonadmin ; Nombre corto del usuario
alias Administrador de Naemon ; Nombre completo del usuario
use generic-contact ; Heredar valores predeterminados de la plantilla generic-contact (definida arriba)
email [email protected] ; <<*** CAMBIA ESTO A TU DIRECCIÓN DE CORREO ELECTRÓNICO ****
}
Ahora eliminamos las configuraciones innecesarias que no son requeridas.
$ mv switch.cfg switch.cfg.bkp$ mv printer.cfg printer.cfg.bkpPara validar las configuraciones.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Licencia: GPL
Sitio web: http://www.naemon.org
Leyendo datos de configuración...
Archivo de configuración principal leído correctamente...
Archivos de configuración de objetos leídos correctamente...
Ejecutando verificación previa de vuelo en los datos de configuración...
Verificando objetos...
Se verificaron 20 servicios.
Se verificaron 4 hosts.
Se verificaron 1 contactos.
Se verificaron 2 grupos de hosts.
Se verificaron 0 grupos de servicios.
Se verificaron 1 grupos de contactos.
Se verificaron 29 comandos.
Se verificaron 5 períodos de tiempo.
Se verificaron 0 escalaciones de hosts.
Se verificaron 0 escalaciones de servicios.
Verificando caminos circulares...
Se verificaron 4 hosts
Se verificaron 0 dependencias de servicios
Se verificaron 0 dependencias de hosts
Se verificaron 5 períodos de tiempo
Verificando controladores de eventos globales...
Verificando comandos de procesador obsesivo compulsivo...
Verificando configuraciones misceláneas...
Total de Advertencias: 0
Total de Errores: 0
Las cosas parecen estar bien - No se detectaron problemas graves durante la verificación previa de vuelo
-sh-4.2$
Inicia sesión como root y reinicia el servicio naemon.
[root@naemon conf.d]# systemctl restart naemon
[root@naemon conf.d]# systemctl status naemon
? naemon.service - Daemon de Monitoreo Naemon
Cargado: cargado (/usr/lib/systemd/system/naemon.service; habilitado; configuración de proveedor: deshabilitada)
Activo: activo (en ejecución) desde Jue 2017-03-09 19:14:36 CET; hace 7s
Docs: http://naemon.org/documentation
Proceso: 5112 ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg (código=salió, estado=0/SUCCESS)
Proceso: 5110 ExecStartPre=/usr/bin/chown -R naemon:naemon /var/run/naemon/ (código=salió, estado=0/SUCCESS)
Proceso: 5108 ExecStartPre=/usr/bin/mkdir /var/run/naemon (código=salió, estado=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]: Iniciando Daemon de Monitoreo Naemon...
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Falló al leer PID del archivo /var/run/naemon/naemon.pid: Argumento inválido
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Iniciado Daemon de Monitoreo Naemon.
[root@naemon conf.d]#
Inicia sesión en el panel y deberías ver los servicios en funcionamiento.
Vemos que los servicios fallan para el host Ubuntu.
Se observa que el paquete nrpe compilado para ubuntu tenía habilitados los argumentos deshabilitados por vulnerabilidad de seguridad y esa es la razón por la que está fallandoNecesitaremos recompilar el paquete para habilitar los argumentos, para gestionar la sintonización desde naemon.
El siguiente enlace muestra cómo se puede recompilar. También puedes encontrar el paquete ya compilado con argumentos habilitados en este sitio. Usaré este paquete precompilado 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.debInstala el paquete.
root@ubuntu:~# dpkg -i nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb
(Leyendo base de datos ... 79576 archivos y directorios actualmente instalados.)
Preparando para desempaquetar nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb ...
Desempaquetando nagios-nrpe-server (2.15-1ubuntu2) sobre (2.15-1ubuntu1) ...
Configurando nagios-nrpe-server (2.15-1ubuntu2) ...
Procesando activadores para systemd (229-4ubuntu16) ...
Procesando activadores para ureadahead (0.100.0-19) ...
Procesando activadores para man-db (2.7.5-1) ...
root@ubuntu:~#
Reinicia NRPE.
root@ubuntu:~# systemctl restart nagios-nrpe-server.serviceAhora estamos monitoreando todos los hosts usando naemon.
Configuración de pnp4nagios
Necesitaremos configurar pnp4nagios para gráficos de rendimiento.
Ahora usaremos el mismo método de autenticación que el panel de thruk, primero haremos una copia de seguridad del archivo y cambiaremos las siguientes líneas.
[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
# MUESTRA DE SNIPPETS DE CONFIGURACIÓN PARA EL SERVIDOR WEB APACHE
Alias /pnp4nagios "/usr/local/pnp4nagios/share"
AllowOverride None
Order allow,deny
Allow from all
#
# Usa el mismo valor que se define en nagios.conf
#
AuthName "Acceso Thruk"
AuthType Basic
AuthUserFile /etc/thruk/htpasswd
Require valid-user
# Activar reescritura de URL
RewriteEngine On
Options symLinksIfOwnerMatch
# Directorio de instalación
RewriteBase /pnp4nagios/
# Proteger archivos de aplicación y sistema de ser vistos
RewriteRule "^(?:application|modules|system)/" - [F]
# Permitir que cualquier archivo o directorio que exista se muestre directamente
RewriteCond "%{REQUEST_FILENAME}" !-f
RewriteCond "%{REQUEST_FILENAME}" !-d
# Reescribir todas las demás URL a index.php/URL
RewriteRule "^.*$" "index.php/$0" [PT]
[root@naemon share]#
[root@naemon conf.d]# systemctl restart httpd.service
Ahora necesitaremos cambiar la página de configuración.
[root@naemon share]# cd /usr/local/pnp4nagios/share/
[root@naemon share]# mv install.php install.php.txt
Ahora necesitaremos cambiar el archivo de configuración para pnp4nagios.
Cambia nagios a naemon en el archivo de configuración.
[root@naemon conf.d]# vi /usr/local/pnp4nagios/etc/config_local.php
............................
................................
$conf['nagios_base'] = "/naemon/cgi-bin";
..................................
............................Habilita los datos de rendimiento de 0 a 1.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
.....................
.....................
process_performance_data=1
......................
......................Agrega las siguientes líneas al final del naemon.conf.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg#
# datos de rendimiento del servicio
#
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
#
#
#
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
Ahora necesitamos agregar las siguientes líneas en 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$
}
Ahora creamos una plantilla para el rendimiento del host y el gráfico de rendimiento del servicio.
$ 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
}
Ahora, para acceder al gráfico de rendimiento de los servicios que necesitas, debemos actualizar el archivo service.cfg.
$ cat linux_services.cfg
define service {
service_description Estado de Discos
hostgroup_name linux-servers
use generic-service,service-pnp ; Nombre de la plantilla de servicio a usar
check_command check_nrpe_a!check_disk!15%!5%
}
define service{
use generic-service,service-pnp
hostgroup_name linux-servers
service_description Carga Promedio
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 Memoria
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 Promedio
check_command nt!CPULOAD!-l 60,90,95
}
define service{
use generic-service,service-pnp
hostgroup_name windows-servers
service_description Uso de Memoria
check_command nt!MEMUSE!-w 90 -c 95
}
Para verificar el gráfico del host, necesitamos incluirlo en el archivo a continuación.
$ 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 Mi Servidor Windows
address 192.168.1.75
use windows-server,host-pnp
}
define hostgroup {
hostgroup_name windows-servers
alias Servidores Windows
}
Valida la configuración.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Licencia: GPL
Sitio web: http://www.naemon.org
Leyendo datos de configuración...
Archivo de configuración principal leído correctamente...
Archivos de configuración de objetos leídos correctamente...
Ejecutando verificación previa de vuelo en los datos de configuración...
Verificando objetos...
Se verificaron 20 servicios.
Se verificaron 4 hosts.
Se verificaron 1 contactos.
Se verificaron 2 grupos de hosts.
Se verificaron 0 grupos de servicios.
Se verificaron 1 grupos de contactos.
Se verificaron 31 comandos.
Se verificaron 5 períodos de tiempo.
Se verificaron 0 escalaciones de hosts.
Se verificaron 0 escalaciones de servicios.
Verificando caminos circulares...
Se verificaron 4 hosts
Se verificaron 0 dependencias de servicios
Se verificaron 0 dependencias de hosts
Se verificaron 5 períodos de tiempo
Verificando controladores de eventos globales...
Verificando comandos de procesador obsesivo compulsivo...
Verificando configuraciones misceláneas...
Total de Advertencias: 0
Total de Errores: 0
Las cosas parecen estar bien - No se detectaron problemas graves durante la verificación previa de vuelo
Reinicia los servicios.
[root@naemon ~]# systemctl enable npcd
npcd.service no es un servicio nativo, redirigiendo a /sbin/chkconfig.
Ejecutando /sbin/chkconfig npcd on
[root@naemon ~]# systemctl restart npcd
[root@naemon ~]# systemctl restart naemon


Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.

