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.rpmenabling the epel repo:
yum -y install epel-releaseInstallation 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 -yNous 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 wgetTé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

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 thrukadminInstallation 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 -yPrenez une sauvegarde du nrpe.cfg :
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpRemplacez 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 -yPrenez une sauvegarde du nrpe.cfg :
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpRemplacez 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_memoryAjout 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.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
}
Nous faisons de même pour l’hôte Windows.
$ vim /etc/naemon/conf.d/windows.cfgdefine 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.cfgdefine 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.cfgdefine 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.cfgdefine 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.bkpPour 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 échoueNous 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-errorroot@ubuntu:~# wget https://www.claudiokuenzler.com/downloads/nrpe/nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.debInstallez 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.serviceMaintenant, 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


Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.

