Surveillance Naemon · 15 min read · Nov 02, 2025

Comment installer un serveur de surveillance Naemon prêt pour la production

Naemon est la nouvelle suite de surveillance qui vise à être rapide, stable et innovante tout en vous offrant une vue claire de l’état de votre réseau et de vos applications. C’est un remplacement pour le serveur nagios et très stable et utilise un tableau de bord incroyable appelé thruk. Configurer naemon est très facile et a un statut en direct intégré. Dans ce tutoriel, je vais vous montrer comment installer et configurer naemon dans un environnement de production avec pnp4nagios pour les graphiques. Naemon est très stable, je vais vous montrer comment maintenir les configurations dans un environnement à grande échelle.

Dans ce tutoriel, j’utiliserai quatre serveurs

  • 192.168.1.170 - Serveur 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

Installation du serveur Naemon

J’utilise un hôte CentOS 7 avec une installation minimale, SELinux désactivé et firewalld activé.

[root@naemon ~]# sestatus
Statut de SELinux :                 désactivé
[root@naemon ~]#

Installation du dépôt :

[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

Installation du paquet Naemon :

[root@naemon ~]# yum install naemon*

Naemon utilise le même plugin Nagios et nrpe pour surveiller les hôtes. Nous allons maintenant les installer :

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

Nous allons ajouter les règles de pare-feu :


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

Installation de pnp4nagios.

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

Téléchargement de 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

Redémarrage et activation du service.

    [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

vous devriez pouvoir accéder à l’URL depuis http://192.168.1.170/thruk

Interface Thruk

Le nom d’utilisateur par défaut est thrukadmin, le mot de passe est thrukadmin.

Dans le cas où vous souhaitez changer le mot de passe de thrukadmin, exécutez :

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

Installation du client de surveillance pour surveiller les nœuds

Installation des clients nrpe pour surveiller les hôtes Linux

192.168.1.21 - client nrpe - centos 6

Installation du plugin Nagios et du client nrpe :

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

Prenez une sauvegarde du nrpe.cfg :

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

Remplacez le contenu du fichier nrpe.conf par le contenu ci-dessous :

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

Sous allowed_host, ajoutez l’adresse IP du serveur naemon, ici c’est 192.168.1.170.

Maintenant, nous devons redémarrer le service 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

Prenez une sauvegarde du nrpe.cfg :

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

Remplacez le contenu du fichier nrpe.conf par le contenu ci-dessous :

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

Maintenant, nous devons redémarrer le service nrpe :

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

Installation de Nscp sur Windows

192.168.1.75 - client nscp - windows server 2012R2

Téléchargez nscp depuis ce site :

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

Une fois téléchargé, veuillez suivre les captures d’écran d’installation

Choisissez générique.

Choisissez complet :

Choisissez le chemin par défaut :

Maintenant, sous hôtes autorisés, veuillez ajouter l’hôte naemon. Ici, dans notre configuration, c’est 192.168.1.170.

Assurez-vous de donner un mot de passe complexe. Pour cet exemple, j’ai utilisé le mot de passe “howtoforge”. Ensuite, vérifiez activer nsclient et nrpe.

Une fois l’installation terminée, veuillez vous assurer que le service est en cours d’exécution.

Nous allons maintenant valider depuis l’hôte naemon, pour nous assurer que nous pouvons y accéder.

Valider nrpe et nscp depuis le serveur Naemon pour vérifier la connectivité

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

Surveillance des serveurs

Nous allons surveiller les performances du serveur dans ce tutoriel.

Dans un environnement de production, nous devrons surveiller l’utilisation du CPU, de la mémoire et du disque dur, ainsi que vérifier si l’hôte est vivant.

Ajout des lignes suivantes dans la configuration nrpe /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$
  

Enregistrez et redémarrez le fichier, puis redémarrez nrpe.

[root@centos6 ~]# /etc/init.d/nrpe restart
Arrêt de nrpe :                                        [ÉCHOUÉ]
Démarrage de nrpe :                                             [  OK  ]
[root@centos6 ~]#
 

Le plugin de mémoire ne sera pas disponible en tant que plugin par défaut. Nous allons utiliser le plugin ci-dessous.

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

Ajoutez le contenu ci-dessous.

#! /usr/bin/perl -w
##Included Perf data
#Les plugins nagios sont fournis SANS AUCUNE GARANTIE. Vous pouvez redistribuer
#des copies des plugins sous les termes de la 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
Les plugins nagios sont fournis SANS AUCUNE GARANTIE. Vous pouvez redistribuer
copies des plugins sous les termes de la GNU General Public License.
EOF
        &print_usage();
        print "\n";
        exit 3;
}

Lien de téléchargement du plugin check_memory

Vous devez donner des permissions d’exécution au fichier :

  [root@centos6 plugins]# chmod 755 check_memory

Ajout des lignes suivantes dans la configuration nrpe /etc/nagios/nrpe.d/base.cfg

192.168.1.182 - client nrpe - ubuntu

Ici, le chemin du fichier est différent :

Le dossier des plugins est lib et 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$
  

Ajoutez le même script check_memory dans /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:~#

Configuration sur le serveur Naemon

Connectez-vous en tant qu’utilisateur naemon :

[root@naemon ~]# su - naemon
Dernière connexion : jeu. mars  9 17:11:39 CET 2017 sur pts/0
-sh-4.2$

Changez l’email admin dans /etc/naemon/naemon.cfg

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

Maintenant, nous allons configurer les commandes personnalisées pour effectuer la vérification dans /etc/naemon/conf.d

Créez une commande personnalisée appelée custom_commands.cfg avec le contenu ci-dessous.

$ vim /etc/naemon/conf.d/custom_commands.cfg
## Vérification de l'hôte vivant ##
# commande '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%
    }
### Commande de service ##
# commande '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$
    }

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

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

Pour des raisons de sécurité, enregistrez le mot de passe des clients nscp dans /etc/naemon/resource.cfg

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

Maintenant, nous devons définir la configuration de l’hôte.

Nous créons un fichier appelé 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
}

Nous faisons de même pour l’hôte Windows.

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

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Serveurs Windows
}

Maintenant, nous devons définir la configuration du service.

$ vim linux_services.cfg
define service {
  service_description            État des disques
  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            Charge moyenne
    check_command                  check_nrpe_a!load!30,25,20!45,40,35
}
define service{
    use                            generic-service
    hostgroup_name                 linux-servers
    service_description            Utilisation de la mémoire
    check_command                  check_nrpe_a!memory!80!90
}

Pour Windows, nous créons une configuration similaire.

$ vim window_services.cfg
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Disque - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Charge moyenne
    check_command                  nt!CPULOAD!-l 60,90,95
}
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Utilisation de la mémoire
    check_command                  nt!MEMUSE!-w 90 -c 95
}

Maintenant, nous allons changer l’adresse e-mail de contact.

$ vim contacts.cfg
define contact {
  contact_name                   naemonadmin                         ; Nom court de l'utilisateur
  alias                          Administrateur Naemon                        ; Nom complet de l'utilisateur
  use                            generic-contact                     ; Hérite des valeurs par défaut du modèle generic-contact (défini ci-dessus)
  email                          [email protected]             ; <<*** CHANGEZ CECI EN VOTRE ADRESSE EMAIL ***
}

Nous allons maintenant supprimer les configurations inutiles qui ne sont pas requises.

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

Pour valider les configurations.

$ naemon -v /etc/naemon/naemon.cfg

Naemon Core 1.0.6-pkg
Copyright (c) 2013-présent Équipe de développement de Naemon Core et contributeurs de la communauté
Copyright (c) 2009-2013 Équipe de développement de Nagios Core et contributeurs de la communauté
Copyright (c) 1999-2009 Ethan Galstad
Licence : GPL

Site Web : http://www.naemon.org
Lecture des données de configuration...
   Fichier de configuration principal lu avec succès...
   Fichiers de configuration d'objet lus avec succès...

Exécution de la vérification pré-vol sur les données de configuration...

Vérification des objets...
        20 services vérifiés.
        4 hôtes vérifiés.
        1 contacts vérifiés.
        2 groupes d'hôtes vérifiés.
        0 groupes de services vérifiés.
        1 groupes de contacts vérifiés.
        29 commandes vérifiées.
        5 périodes de temps vérifiées.
        0 escalades d'hôtes vérifiées.
        0 escalades de services vérifiées.
Vérification des chemins circulaires...
        4 hôtes vérifiés
        0 dépendances de services vérifiées
        0 dépendances d'hôtes vérifiées
        5 périodes de temps vérifiées
Vérification des gestionnaires d'événements globaux...
Vérification des commandes de processeur obsessionnel-compulsif...
Vérification des paramètres divers...

Total des avertissements : 0
Total des erreurs :   0

Tout semble correct - Aucun problème sérieux n'a été détecté lors de la vérification pré-vol
-sh-4.2$

Connectez-vous en tant que root et redémarrez le service naemon.

[root@naemon conf.d]# systemctl restart naemon
[root@naemon conf.d]# systemctl status naemon
? naemon.service - Daemon de surveillance Naemon
   Chargé : chargé (/usr/lib/systemd/system/naemon.service; activé; paramètre du fournisseur : désactivé)
   Actif : actif (en cours d'exécution) depuis jeu. 2017-03-09 19:14:36 CET; 7s ago
     Docs: http://naemon.org/documentation
  Processus: 5112 ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg (code=exité, statut=0/SUCCESS)
  Processus: 5110 ExecStartPre=/usr/bin/chown -R naemon:naemon /var/run/naemon/ (code=exité, statut=0/SUCCESS)
  Processus: 5108 ExecStartPre=/usr/bin/mkdir /var/run/naemon (code=exité, statut=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]: Démarrage du daemon de surveillance Naemon...
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Échec de la lecture du PID à partir du fichier /var/run/naemon/naemon.pid : Argument invalide
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Démarrage du daemon de surveillance Naemon.
[root@naemon conf.d]#

Connectez-vous au tableau de bord et vous devriez voir les services en cours d’exécution.

Nous voyons que les services échouent pour l’hôte Ubuntu.

Il est constaté que le paquet nrpe compilé pour ubuntu avait désactivé les arguments pour une vulnérabilité de sécurité et c'est la raison pour laquelle il échoue

Nous devrons recompiler le paquet pour activer les arguments, afin de gérer le réglage depuis naemon.

Le lien ci-dessous vous montre comment il peut être recompilé. Vous trouverez également le paquet déjà compilé avec les arguments activés sur ce site. J’utiliserai ce paquet précompilé pour ce tutoriel.

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

Installez le paquet.

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

Redémarrez NRPE.

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

Maintenant, nous surveillons tous les hôtes en utilisant naemon.

Configuration de pnp4nagios

Nous devrons configurer pnp4nagios pour le graphique de performance.

Maintenant, nous allons utiliser la même méthode d’authentification que le tableau de bord thruk, nous allons d’abord faire une sauvegarde du fichier et changer les lignes suivantes.

[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
# EXEMPLES DE CONFIGURATION POUR LE SERVEUR WEB APACHE

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


        AllowOverride None
        Order allow,deny
        Allow from all
        #
        # Utilisez la même valeur que celle définie dans nagios.conf
        #
        AuthName "Accès Thruk"
        AuthType Basic
        AuthUserFile /etc/thruk/htpasswd
        Require valid-user
        
                # Activer la réécriture d'URL
                RewriteEngine On
                Options symLinksIfOwnerMatch
                # Répertoire d'installation
                RewriteBase /pnp4nagios/
                # Protéger les fichiers d'application et système contre l'affichage
                RewriteRule "^(?:application|modules|system)/" - [F]
                # Autoriser tous les fichiers ou répertoires existants à être affichés directement
                RewriteCond "%{REQUEST_FILENAME}" !-f
                RewriteCond "%{REQUEST_FILENAME}" !-d
                # Réécrire toutes les autres URL vers index.php/URL
                RewriteRule "^.*$" "index.php/$0" [PT]
        
[root@naemon share]#
[root@naemon conf.d]# systemctl restart httpd.service

Maintenant, nous devrons changer la page de configuration.

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

Maintenant, nous devrons changer le fichier de configuration pour pnp4nagios.

Changez nagios en naemon dans le fichier de configuration.

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

Activez les données de performance de 0 à 1.

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

Ajoutez les lignes ci-dessous à la fin du naemon.conf.

[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
#
# données de performance du service
#
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

Maintenant, nous devons ajouter les lignes ci-dessous dans 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$
}

Maintenant, nous créons un modèle pour le graphique de performance de l’hôte et du service.

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

Maintenant, pour accéder au graphique de performance des services, nous devons mettre à jour le fichier service.cfg.

$ cat linux_services.cfg
define service {
  service_description            État des disques
  hostgroup_name                  linux-servers
  use                            generic-service,service-pnp                       ; Nom du modèle de service à utiliser
  check_command                  check_nrpe_a!check_disk!15%!5%
}
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 linux-servers
    service_description            Charge moyenne
    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            Utilisation de la mémoire
    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            Disque - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Charge moyenne
    check_command                  nt!CPULOAD!-l 60,90,95
    }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Utilisation de la mémoire
    check_command                  nt!MEMUSE!-w 90 -c 95
}

Pour vérifier le graphique de l’hôte, nous devons l’inclure dans le fichier ci-dessous.

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

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Serveurs Windows
}

Validez la configuration.

$ naemon -v /etc/naemon/naemon.cfg

Naemon Core 1.0.6-pkg
Copyright (c) 2013-présent Équipe de développement de Naemon Core et contributeurs de la communauté
Copyright (c) 2009-2013 Équipe de développement de Nagios Core et contributeurs de la communauté
Copyright (c) 1999-2009 Ethan Galstad
Licence : GPL

Site Web : http://www.naemon.org
Lecture des données de configuration...
   Fichier de configuration principal lu avec succès...
   Fichiers de configuration d'objet lus avec succès...

Exécution de la vérification pré-vol sur les données de configuration...

Vérification des objets...
        20 services vérifiés.
        4 hôtes vérifiés.
        1 contacts vérifiés.
        2 groupes d'hôtes vérifiés.
        0 groupes de services vérifiés.
        1 groupes de contacts vérifiés.
        31 commandes vérifiées.
        5 périodes de temps vérifiées.
        0 escalades d'hôtes vérifiées.
        0 escalades de services vérifiées.
Vérification des chemins circulaires...
        4 hôtes vérifiés
        0 dépendances de services vérifiées
        0 dépendances d'hôtes vérifiées
        5 périodes de temps vérifiées
Vérification des gestionnaires d'événements globaux...
Vérification des commandes de processeur obsessionnel-compulsif...
Vérification des paramètres divers...

Total des avertissements : 0
Total des erreurs :   0

Tout semble correct - Aucun problème sérieux n'a été détecté lors de la vérification pré-vol

Redémarrez les services.

[root@naemon ~]# systemctl enable npcd
npcd.service n'est pas un service natif, redirection vers /sbin/chkconfig.
Exécution de /sbin/chkconfig npcd on
[root@naemon ~]# systemctl restart npcd
[root@naemon ~]# systemctl restart naemon

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.