Monitoraggio Server · 14 min read · Nov 02, 2025

Come installare un server di monitoraggio Naemon pronto per la produzione

Naemon è la nuova suite di monitoraggio che mira ad essere veloce, stabile e innovativa, fornendoti una chiara visione dello stato della tua rete e delle tue applicazioni. Questo è un sostituto del server nagios, molto stabile e utilizza un fantastico dashboard chiamato thruk. Configurare naemon è molto semplice e ha uno stato live integrato. In questo tutorial, ti mostrerò come installare e configurare naemon in un ambiente di produzione insieme a pnp4nagios per i grafici. Naemon è molto stabile, ti mostrerò come mantenere le configurazioni in un ambiente su larga scala.

In questo tutorial, utilizzerò quattro server

  • 192.168.1.170 - Server Naemon - centos 7
  • 192.168.1.21 - client nrpe - centos 6
  • 192.168.1.182 - client nrpe - ubuntu
  • 192.168.1.75 - client nscp - windows server 2012R2

Installazione del Server Naemon

Sto utilizzando un host CentOS 7 con un’installazione minima, SELinux disabilitato e firewalld abilitato.

[root@naemon ~]# sestatus
SELinux status:                 disabled
[root@naemon ~]#

Installazione del repository:

[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpm

enabling the epel repo:

yum -y install epel-release

Installazione del pacchetto Naemon:

[root@naemon ~]# yum install naemon*

Naemon utilizza lo stesso plugin Nagios e nrpe per monitorare gli host. Ora li installeremo:

[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y

Aggiungeremo le regole 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 ~]#

Installazione di pnp4nagios.

yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wget

Scaricamento di 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

Riavviando e abilitando il servizio.

    [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

dovresti essere in grado di accedere all’URL da http://192.168.1.170/thruk

Interfaccia Thruk

Il nome utente predefinito è thrukadmin, la password è thrukadmin.

Nel caso tu voglia cambiare la password di thrukadmin, esegui:

[root@naemon ~]# htpasswd /etc/thruk/htpasswd thrukadmin

Installazione del Client di Monitoraggio per monitorare i nodi

Installazione dei client nrpe per monitorare gli host Linux

192.168.1.21 - client nrpe - centos 6

Installazione del plugin Nagios e del client nrpe:

[root@centos6 ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y

Fai un backup del nrpe.cfg:

[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp

Sostituisci il contenuto del file nrpe.conf con il contenuto sottostante:

[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 ~]#

Sotto allowed_host aggiungi l’indirizzo IP del server naemon, qui è 192.168.1.170.

Ora dobbiamo riavviare il servizio nrpe:

    [root@centos6 ~]# service nrpe restart
    [root@centos6 ~]# chkconfig nrpe on

192.168.1.182 - client nrpe - ubuntu

root@ubuntu:~# apt-get install nagios-nrpe-server nagios-plugins -y

Fai un backup del nrpe.cfg:

[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp

Sostituisci il contenuto del file nrpe.conf con il contenuto sottostante:

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:~#

Ora dobbiamo riavviare il servizio nrpe:

    root@ubuntu:~# systemctl restart nagios-nrpe-server.service
    root@ubuntu:~# systemctl enable nagios-nrpe-server.service

Installazione di Nscp su Windows

192.168.1.75 - client nscp - windows server 2012R2

Scarica nscp da questo sito:

https://www.nsclient.org/download/

Una volta scaricato, segui gli screenshot di installazione

Scegli generico.

Scegli completo:

Scegli il percorso predefinito:

Ora, sotto allowed hosts, aggiungi l’host naemon. Qui nella nostra configurazione è 192.168.1.170.

Assicurati di dare una password complessa. Per questo esempio, ho usato la password “howtoforge”. Successivamente controlla di abilitare nsclient e nrpe.

Una volta completata l’installazione, assicurati che il servizio sia attivo e funzionante.

Ora convalideremo dall’host naemon, per assicurarci di poterlo raggiungere.

Convalida nrpe e nscp dal Server Naemon per controllare la connettività

[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 ~]#

Monitoraggio dei Server

Monitoreremo le prestazioni del server in questo tutorial.

In un ambiente di produzione, dovremo monitorare l’utilizzo della CPU, della memoria e del disco rigido, insieme al controllo dell’alive dell’host.

Aggiungendo le seguenti righe nel file nrpe conf /etc/nrpe.d/base.cfg

192.168.1.21 - client 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$
  

Salva e riavvia il file, quindi riavvia nrpe.

[root@centos6 ~]# /etc/init.d/nrpe restart
Shutting down nrpe:                                        [FAILED]
Starting nrpe:                                             [  OK  ]
[root@centos6 ~]#
 

Il plugin di memoria non sarà disponibile come plugin predefinito. Utilizzeremo il plugin sottostante.

 [root@centos6 ~]# cd  /usr/lib64/nagios/plugins/
 [root@centos6 plugins]# vim check_memory

Aggiungi il contenuto sottostante.

#! /usr/bin/perl -w
##Included Perf data
#The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
#copies of the plugins under the terms of the GNU General Public License.
#
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
The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
copies of the plugins under the terms of the GNU General Public License.
EOF
        &print_usage();
        print "\n";
        exit 3;
}

Link per il download del plugin check_memory

Devi dare i permessi di esecuzione al file:

  [root@centos6 plugins]# chmod 755 check_memory

Aggiungendo le seguenti righe nel file nrpe conf /etc/nagios/nrpe.d/base.cfg

192.168.1.182 - client nrpe - ubuntu

Qui il percorso del file è diverso:

Il plugin folder è lib e non 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$
  

Aggiungi lo stesso script check_memory in /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:~#

Configurazione sul Server Naemon

Accedi come utente naemon:

[root@naemon ~]# su - naemon
Last login: Thu Mar  9 17:11:39 CET 2017 on pts/0
-sh-4.2$

Cambia l’email dell’amministratore in /etc/naemon/naemon.cfg

........
........
[email protected]
[email protected]
........
............

Ora configureremo i comandi personalizzati per effettuare il controllo in /etc/naemon/conf.d

Crea un file di comandi personalizzati chiamato custom_commands.cfg con il contenuto sottostante.

$ vim /etc/naemon/conf.d/custom_commands.cfg
## Controllo Alive dell'Host ##
# command '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 di Servizio ##
# command '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$
    }

# command 'nrpe'
define command{
    command_name                   nrpe
    command_line                   $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$
    }

# NRPE Con Argomenti
define command{
    command_name                   check_nrpe_a
    command_line                   $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
    }
#####################################
# Controlli Windows NSClient++
# command 'check_nt'
define command{
    command_name                   nt
    command_line                   $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $USER4$
    }

Per motivi di sicurezza, salva la password dei client nscp in /etc/naemon/resource.cfg

...........
...........
$USER4$=howtoforge
...........
............

Ora dobbiamo definire la configurazione dell’host.

Creiamo un file chiamato linux.cfg.

$ vim /etc/naemon/conf.d/linux.cfg
define 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
}

Facciamo lo stesso per l’host Windows.

$ vim /etc/naemon/conf.d/windows.cfg
define host {
  host_name                      ad.sunil.cc
  alias                          My Windows Server
  address                        192.168.1.75
  use                            windows-server
}

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Windows Servers
}

Ora dobbiamo definire la configurazione del servizio.

$ vim linux_services.cfg
define service {
  service_description            Disks Status
  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            Load Average
    check_command                  check_nrpe_a!load!30,25,20!45,40,35
}
define service{
    use                            generic-service
    hostgroup_name                 linux-servers
    service_description            Memory Usage
    check_command                  check_nrpe_a!memory!80!90
}

Per Windows, creiamo una configurazione simile.

$ vim window_services.cfg
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Disk - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Load Average
    check_command                  nt!CPULOAD!-l 60,90,95
}
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Memory Usage
    check_command                  nt!MEMUSE!-w 90 -c 95
}

Ora cambiamo l’indirizzo email di contatto.

$ vim contacts.cfg
define contact {
  contact_name                   naemonadmin                         ; Short name of user
  alias                          Naemon Admin                        ; Full name of user
  use                            generic-contact                     ; Inherit default values from generic-contact template (defined above)
  email                          [email protected]             ; <<*** CAMBIA QUESTO CON IL TUO INDIRIZZO EMAIL ***
}

Ora rimuoviamo le configurazioni non necessarie che non sono richieste.

$ mv switch.cfg switch.cfg.bkp
$ mv printer.cfg printer.cfg.bkp

Per convalidare le configurazioni.

$ 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
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$

Accedi come root e riavvia il servizio naemon.

[root@naemon conf.d]# systemctl restart naemon
[root@naemon conf.d]# systemctl status naemon
? naemon.service - Naemon Monitoring Daemon
   Loaded: loaded (/usr/lib/systemd/system/naemon.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 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 Naemon Monitoring Daemon...
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 Naemon Monitoring Daemon.
[root@naemon conf.d]#

Accedi al dashboard e dovresti vedere i servizi attivi e funzionanti.

Vediamo che i servizi falliscono per l’host Ubuntu.

Si è visto che il pacchetto nrpe compilato per ubuntu aveva disabilitato gli argomenti per vulnerabilità di sicurezza ed è per questo che sta fallendo

Dovremo ricompilare il pacchetto per abilitare gli argomenti, per gestire la regolazione da naemon.

Il link sottostante mostra come può essere ricompilato. Troverai anche il pacchetto già compilato con argomenti abilitati in questo sito. Utilizzerò questo pacchetto precompilato per questo tutorial.

https://www.claudiokuenzler.com/blog/626/nrpe-debian-jessie-command-ags-arguments-not-working-error
root@ubuntu:~# wget https://www.claudiokuenzler.com/downloads/nrpe/nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb

Installa il pacchetto.

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_amd64.xenial.deb ...
Unpacking nagios-nrpe-server (2.15-1ubuntu2) over (2.15-1ubuntu1) ...
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:~#

Riavvia NRPE.

root@ubuntu:~# systemctl restart nagios-nrpe-server.service

Ora stiamo monitorando tutti gli host utilizzando naemon.

Configurazione di pnp4nagios

Dovremo configurare pnp4nagios per il grafico delle prestazioni.

Ora utilizzeremo lo stesso metodo di autenticazione del dashboard thruk, prima faremo un backup del file e cambieremo le seguenti righe.

[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
# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER

Alias /pnp4nagios "/usr/local/pnp4nagios/share"


        AllowOverride None
        Order allow,deny
        Allow from all
        #
        # Use the same value as defined in nagios.conf
        #
        AuthName "Thruk Access"
        AuthType Basic
        AuthUserFile /etc/thruk/htpasswd
        Require valid-user
        
                # Turn on URL rewriting
                RewriteEngine On
                Options symLinksIfOwnerMatch
                # Installation directory
                RewriteBase /pnp4nagios/
                # Protect application and system files from being viewed
                RewriteRule "^(?:application|modules|system)/" - [F]
                # Allow any files or directories that exist to be displayed directly
                RewriteCond "%{REQUEST_FILENAME}" !-f
                RewriteCond "%{REQUEST_FILENAME}" !-d
                # Rewrite all other URLs to index.php/URL
                RewriteRule "^.*$" "index.php/$0" [PT]
        
[root@naemon share]#
[root@naemon conf.d]# systemctl restart httpd.service

Ora dobbiamo cambiare la pagina di configurazione.

[root@naemon share]# cd /usr/local/pnp4nagios/share/
[root@naemon share]# mv install.php install.php.txt

Ora dobbiamo cambiare il file di configurazione per pnp4nagios.

Cambia nagios in naemon nel file di configurazione.

[root@naemon conf.d]# vi /usr/local/pnp4nagios/etc/config_local.php
............................
................................
$conf['nagios_base'] = "/naemon/cgi-bin";
..................................
............................

Abilita i dati delle prestazioni da 0 a 1.

[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
.....................
.....................
process_performance_data=1
......................
......................

Aggiungi le seguenti righe in fondo al naemon.conf.

[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
#
# service performance data
#
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

Ora dobbiamo aggiungere le seguenti righe in 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$
}

Ora creiamo un template per il grafico delle prestazioni dell’host e del servizio.

$ 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
}

Ora, per accedere al grafico delle prestazioni per i servizi, dobbiamo aggiornare il file service.cfg.

$ cat linux_services.cfg
define service {
  service_description            Disks Status
  hostgroup_name                  linux-servers
  use                            generic-service,service-pnp                       ; Nome del template di servizio da utilizzare
  check_command                  check_nrpe_a!check_disk!15%!5%
}
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 linux-servers
    service_description            Load Average
    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            Memory Usage
    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            Disk - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Load Average
    check_command                  nt!CPULOAD!-l 60,90,95
    }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Memory Usage
    check_command                  nt!MEMUSE!-w 90 -c 95
}

Per controllare il grafico dell’host, dobbiamo includerlo nel file sottostante.

$ 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                          My Windows Server
  address                        192.168.1.75
  use                            windows-server,host-pnp
}

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Windows Servers
}

Convalida la configurazione.

$ 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
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

Riavvia i servizi.

[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

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.