Überwachung · 14 min read · Nov 02, 2025
So installieren Sie einen produktionsbereiten Naemon-Überwachungsserver
Naemon ist die neue Überwachungssoftware, die schnell, stabil und innovativ sein soll und Ihnen einen klaren Überblick über den Zustand Ihres Netzwerks und Ihrer Anwendungen bietet. Dies ist ein Ersatz für den Nagios-Server und sehr stabil und verwendet ein erstaunliches Dashboard namens Thruk. Die Einrichtung von Naemon ist sehr einfach und hat einen integrierten Live-Status. In diesem Tutorial zeige ich Ihnen, wie Sie Naemon in einer Produktionsumgebung zusammen mit PNP4Nagios für Grafiken installieren und konfigurieren. Naemon ist sehr stabil, ich werde Ihnen zeigen, wie Sie die Konfigurationen in einer großflächigen Umgebung verwalten.
In diesem Tutorial werde ich vier Server verwenden
- 192.168.1.170 - Naemon-Server - CentOS 7
- 192.168.1.21 - NRPE-Client - CentOS 6
- 192.168.1.182 - NRPE-Client - Ubuntu
- 192.168.1.75 - NSCP-Client - Windows Server 2012R2
Installation des Naemon-Servers
Ich verwende einen CentOS 7-Host mit einer minimalen Installation, SELinux deaktiviert und Firewalld aktiviert.
[root@naemon ~]# sestatus
SELinux-Status: deaktiviert
[root@naemon ~]#Installation des Repos:
[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpmAktivieren des EPEL-Repos:
yum -y install epel-releaseInstallation des Naemon-Pakets:
[root@naemon ~]# yum install naemon*Naemon verwendet dasselbe Nagios-Plugin und NRPE, um Hosts zu überwachen. Wir werden sie jetzt installieren:
[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yWir fügen die Firewall-Regeln hinzu:
[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 (aktiv)
Ziel: default
icmp-block-inversion: nein
Schnittstellen: eno16777736
Quellen:
Dienste: dhcpv6-client http https ssh
Ports:
Protokolle:
masquerade: nein
forward-ports:
sourceports:
icmp-blocks:
rich rules:
[root@naemon ~]#
Installation von PNP4Nagios.
yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wgetHerunterladen von 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
Neustart und Aktivierung des Dienstes.
[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
Sie sollten in der Lage sein, die URL von http://192.168.1.170/thruk zuzugreifen.

Der Standardbenutzername ist thrukadmin, das Passwort ist thrukadmin.
Falls Sie das Passwort von thrukadmin ändern möchten, führen Sie Folgendes aus:
[root@naemon ~]# htpasswd /etc/thruk/htpasswd thrukadminInstallation des Überwachungsclients zur Überwachung der Knoten
Installation der NRPE-Clients zur Überwachung von Linux-Hosts
192.168.1.21 - NRPE-Client - CentOS 6
Installation des Nagios-Plugins und des NRPE-Clients:
[root@centos6 ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -yMachen Sie eine Sicherung der nrpe.cfg:
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpErsetzen Sie den Inhalt der nrpe.conf-Datei durch den folgenden Inhalt:
[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 ~]#
Unter allowed_hosts fügen Sie die IP-Adresse des Naemon-Servers hinzu, hier ist es 192.168.1.170.
Jetzt müssen wir den NRPE-Dienst neu starten:
[root@centos6 ~]# service nrpe restart
[root@centos6 ~]# chkconfig nrpe on
192.168.1.182 - NRPE-Client - Ubuntu
root@ubuntu:~# apt-get install nagios-nrpe-server nagios-plugins -yMachen Sie eine Sicherung der nrpe.cfg:
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkpErsetzen Sie den Inhalt der nrpe.conf-Datei durch den folgenden Inhalt:
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:~#
Jetzt müssen wir den NRPE-Dienst neu starten:
root@ubuntu:~# systemctl restart nagios-nrpe-server.service
root@ubuntu:~# systemctl enable nagios-nrpe-server.service
Installation von NSCP auf Windows
192.168.1.75 - NSCP-Client - Windows Server 2012R2
Laden Sie NSCP von dieser Website herunter:
https://www.nsclient.org/download/
Sobald der Download abgeschlossen ist, folgen Sie bitte den Installationsscreenshots

Wählen Sie generisch.

Wählen Sie vollständig:

Wählen Sie den Standardpfad:

Jetzt fügen Sie unter allowed hosts den Naemon-Host hinzu. Hier in unserem Setup ist es 192.168.1.170.
Stellen Sie sicher, dass Sie ein komplexes Passwort vergeben. Für dieses Beispiel habe ich das Passwort “howtoforge” verwendet. Überprüfen Sie dann, ob NSClient und NRPE aktiviert sind.


Sobald die Installation abgeschlossen ist, stellen Sie bitte sicher, dass der Dienst läuft.
Wir werden jetzt vom Naemon-Host validieren, um sicherzustellen, dass wir ihn erreichen können.
Validierung von NRPE und NSCP vom Naemon-Server zur Überprüfung der Konnektivität
[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 ~]#
Überwachung der Server
Wir werden die Leistung des Servers in diesem Tutorial überwachen.
In einer Produktionsumgebung müssen wir die CPU-, Speicher- und Festplattennutzung überwachen, zusammen mit der Überprüfung, ob der Host aktiv ist.
Fügen Sie die folgenden Zeilen in die NRPE-Konfiguration /etc/nrpe.d/base.cfg ein.
192.168.1.21 - NRPE-Client - 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$
Speichern und starten Sie die Datei neu, und starten Sie dann NRPE neu.
[root@centos6 ~]# /etc/init.d/nrpe restart
Herunterfahren von nrpe: [FEHLGESCHLAGEN]
Starten von nrpe: [ OK ]
[root@centos6 ~]#
Das Speicher-Plugin ist nicht als Standard-Plugin verfügbar. Wir werden das folgende Plugin verwenden.
[root@centos6 ~]# cd /usr/lib64/nagios/plugins/
[root@centos6 plugins]# vim check_memoryFügen Sie den folgenden Inhalt hinzu.
#! /usr/bin/perl -w
##Inklusive Perf-Daten
#Die Nagios-Plugins kommen mit ABSOLUT NULL GARANTIE. Sie können
#Kopien der Plugins unter den Bedingungen der GNU General Public License weitergeben.
#
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 "Warnung und kritisch müssen angegeben werden\n";
exit 3;
}
if (\$opt_c <= \$opt_w){
print "Kritisch muss größer sein als Warnung 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 "Speicherverbrauch: CRITICAL: \${ram_percent}% verwendet | verwendet=\$ram_percent;\$opt_w;\$opt_c\n";
exit 2;
}elsif (\$ram_percent > \$opt_w) {
print "Speicherverbrauch: WARNUNG: \${ram_percent}% verwendet | verwendet=\$ram_percent;\$opt_w;\$opt_c\n";
exit 1;
}
else{
print "Speicherverbrauch: \$result: \${ram_percent}% verwendet | verwendet=\$ram_percent;\$opt_w;\$opt_c\n";
exit 0;
}
sub print_usage () {
print "Verwendung:\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
Die Nagios-Plugins kommen mit ABSOLUT NULL GARANTIE. Sie können
Kopien der Plugins unter den Bedingungen der GNU General Public License weitergeben.
EOF
&print_usage();
print "\n";
exit 3;
}
Download-Link für das Check_Memory-Plugin
Sie müssen dem Datei Ausführungsberechtigungen geben:
[root@centos6 plugins]# chmod 755 check_memoryFügen Sie die folgenden Zeilen in die NRPE-Konfiguration /etc/nagios/nrpe.d/base.cfg ein.
192.168.1.182 - NRPE-Client - Ubuntu
Hier ist der Dateipfad anders:
Das Plugin-Verzeichnis ist lib und nicht 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$
Fügen Sie das gleiche Check_Memory-Skript in /usr/lib/nagios/plugins ein.
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:~#
Konfiguration auf dem Naemon-Server
Melden Sie sich als Naemon-Benutzer an:
[root@naemon ~]# su - naemon
Letzte Anmeldung: Do. 9. März 2017 17:11:39 CET auf pts/0
-sh-4.2$
Ändern Sie die Admin-Mail in /etc/naemon/naemon.cfg
........
........
[email protected]
[email protected]
........
............Jetzt werden wir die benutzerdefinierten Befehle konfigurieren, um die Überprüfung in /etc/naemon/conf.d durchzuführen.
Erstellen Sie einen benutzerdefinierten Befehl namens custom_commands.cfg mit folgendem Inhalt.
$ vim /etc/naemon/conf.d/custom_commands.cfg## Host Alive Check ##
# Befehl '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%
}
### Service-Befehl ##
# Befehl '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$
}
# Befehl 'nrpe'
define command{
command_name nrpe
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$
}
# NRPE mit Argumenten
define command{
command_name check_nrpe_a
command_line $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
}
#####################################
# Windows NSClient++-Überprüfungen
# Befehl 'check_nt'
define command{
command_name nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $USER4$
}
Aus Sicherheitsgründen speichern Sie das Passwort der NSCP-Clients in /etc/naemon/resource.cfg
...........
...........
$USER4$=howtoforge
...........
............Jetzt müssen wir die Hostkonfiguration definieren.
Wir erstellen eine Datei namens 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
}
Wir machen dasselbe für den Windows-Host.
$ vim /etc/naemon/conf.d/windows.cfgdefine host {
host_name ad.sunil.cc
alias Mein Windows-Server
address 192.168.1.75
use windows-server
}
define hostgroup {
hostgroup_name windows-servers
alias Windows-Server
}
Jetzt müssen wir die Dienstkonfiguration definieren.
$ vim linux_services.cfgdefine 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
}
Für Windows erstellen wir eine ähnliche Konfiguration.
$ vim window_services.cfgdefine 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
}
Jetzt werden wir die E-Mail-Adresse des Kontakts ändern.
$ vim contacts.cfgdefine contact {
contact_name naemonadmin ; Kurzname des Benutzers
alias Naemon Admin ; Vollständiger Name des Benutzers
use generic-contact ; Erben Sie Standardwerte aus der generischen Kontaktvorlage (oben definiert)
email [email protected] ; <<*** ÄNDERN SIE DIES ZU IHRER E-MAIL-ADRESSE ****
}
Jetzt entfernen wir die unnötigen Konfigurationen, die nicht erforderlich sind.
$ mv switch.cfg switch.cfg.bkp$ mv printer.cfg printer.cfg.bkpUm die Konfigurationen zu validieren.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team und Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team und Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Lizenz: GPL
Website: http://www.naemon.org
Lese Konfigurationsdaten...
Hauptkonfigurationsdatei erfolgreich gelesen...
Objektkonfigurationsdateien erfolgreich gelesen...
Durchführung einer Vorabprüfung der Konfigurationsdaten...
Überprüfung der Objekte...
20 Dienste überprüft.
4 Hosts überprüft.
1 Kontakte überprüft.
2 Hostgruppen überprüft.
0 Dienstgruppen überprüft.
1 Kontaktgruppen überprüft.
29 Befehle überprüft.
5 Zeitperioden überprüft.
0 Hosteskalationen überprüft.
0 Diensteskalationen überprüft.
Überprüfung auf zirkuläre Pfade...
4 Hosts überprüft
0 Dienstabhängigkeiten überprüft
0 Hostabhängigkeiten überprüft
5 Zeitperioden überprüft
Überprüfung globaler Ereignishandler...
Überprüfung obsessiver kompulsiver Prozessbefehle...
Überprüfung anderer Einstellungen...
Gesamtwarnungen: 0
Gesamtfehler: 0
Alles sieht gut aus - Es wurden keine schwerwiegenden Probleme während der Vorabprüfung festgestellt
-sh-4.2$
Melden Sie sich als Root an und starten Sie den Naemon-Dienst neu.
[root@naemon conf.d]# systemctl restart naemon
[root@naemon conf.d]# systemctl status naemon
? naemon.service - Naemon Monitoring Daemon
Geladen: geladen (/usr/lib/systemd/system/naemon.service; aktiviert; Standardwert des Anbieters: deaktiviert)
Aktiv: aktiv (laufend) seit Do. 9. März 2017 19:14:36 CET; vor 7s
Docs: http://naemon.org/documentation
Prozess: 5112 ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg (Code=ausgestiegen, Status=0/ERFOLG)
Prozess: 5110 ExecStartPre=/usr/bin/chown -R naemon:naemon /var/run/naemon/ (Code=ausgestiegen, Status=0/ERFOLG)
Prozess: 5108 ExecStartPre=/usr/bin/mkdir /var/run/naemon (Code=ausgestiegen, Status=1/FEHLER)
Haupt-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
9. März 19:14:36 naemon.sunil.cc systemd[1]: Starte Naemon Monitoring Daemon...
9. März 19:14:36 naemon.sunil.cc systemd[1]: Fehler beim Lesen der PID aus der Datei /var/run/naemon/naemon.pid: Ungültiges Argument
9. März 19:14:36 naemon.sunil.cc systemd[1]: Naemon Monitoring Daemon gestartet.
[root@naemon conf.d]#
Melden Sie sich beim Dashboard an, und Sie sollten die Dienste sehen, die aktiv sind.
Wir sehen, dass die Dienste für den Ubuntu-Host fehlschlagen.
Es ist zu sehen, dass das NRPE-Paket, das für Ubuntu kompiliert wurde, die Argumente aus Sicherheitsgründen deaktiviert hatte, und das ist der Grund, warum es fehlschlägt.Wir müssen das Paket neu kompilieren, um die Argumente zu aktivieren, um das Tuning von Naemon zu verwalten.
Der folgende Link zeigt Ihnen, wie es neu kompiliert werden kann. Sie finden auch das Paket, das bereits mit aktivierten Argumenten kompiliert wurde, auf dieser Seite. Ich werde dieses vorkompilierte Paket für dieses Tutorial verwenden.
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.debInstallieren Sie das Paket.
root@ubuntu:~# dpkg -i nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb
(Lese Datenbank ... 79576 Dateien und Verzeichnisse sind derzeit installiert.)
Bereite das Entpacken von nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb vor ...
Entpacke nagios-nrpe-server (2.15-1ubuntu2) über (2.15-1ubuntu1) ...
Einrichten von nagios-nrpe-server (2.15-1ubuntu2) ...
Verarbeitung von Triggern für systemd (229-4ubuntu16) ...
Verarbeitung von Triggern für ureadahead (0.100.0-19) ...
Verarbeitung von Triggern für man-db (2.7.5-1) ...
root@ubuntu:~#Starten Sie NRPE neu.
root@ubuntu:~# systemctl restart nagios-nrpe-server.serviceJetzt überwachen wir alle Hosts mit Naemon.
Konfiguration von PNP4Nagios
Wir müssen PNP4Nagios für Leistungsgraphen konfigurieren.
Jetzt verwenden wir dieselbe Authentifizierungsmethode wie das Thruk-Dashboard. Zuerst machen wir eine Sicherung der Datei und ändern die folgenden Zeilen.
[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
# BEISPIEL KONFIGURATIONS-SNIPPETS FÜR APACHE-WEBSERVER
Alias /pnp4nagios "/usr/local/pnp4nagios/share"
AllowOverride None
Order allow,deny
Allow from all
#
# Verwenden Sie denselben Wert wie in nagios.conf definiert
#
AuthName "Thruk-Zugriff"
AuthType Basic
AuthUserFile /etc/thruk/htpasswd
Require valid-user
# Aktivieren Sie die URL-Umschreibung
RewriteEngine On
Options symLinksIfOwnerMatch
# Installationsverzeichnis
RewriteBase /pnp4nagios/
# Schützen Sie Anwendungs- und Systemdateien vor der Anzeige
RewriteRule "^(?:application|modules|system)/" - [F]
# Erlauben Sie, dass alle Dateien oder Verzeichnisse, die existieren, direkt angezeigt werden
RewriteCond "%{REQUEST_FILENAME}" !-f
RewriteCond "%{REQUEST_FILENAME}" !-d
# Schreiben Sie alle anderen URLs auf index.php/URL um
RewriteRule "^.*$" "index.php/$0" [PT]
[root@naemon share]#
[root@naemon conf.d]# systemctl restart httpd.service
Jetzt müssen wir die Konfigurationsseite ändern.
[root@naemon share]# cd /usr/local/pnp4nagios/share/
[root@naemon share]# mv install.php install.php.txt
Jetzt müssen wir die Konfigurationsdatei für PNP4Nagios ändern.
Ändern Sie Nagios in Naemon in der Konfigurationsdatei.
[root@naemon conf.d]# vi /usr/local/pnp4nagios/etc/config_local.php
............................
................................
$conf['nagios_base'] = "/naemon/cgi-bin";
..................................
............................Aktivieren Sie die Leistungsdaten von 0 auf 1.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg
.....................
.....................
process_performance_data=1
......................
......................Fügen Sie die folgenden Zeilen am Ende der naemon.conf hinzu.
[root@naemon conf.d]# vi /etc/naemon/naemon.cfg#
# Dienstleistungsleistungsdaten
#
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
Jetzt müssen wir die folgenden Zeilen in custom_commands.conf hinzufügen.
[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$
}
Jetzt erstellen wir eine Vorlage für die Host-Performance- und Service-Performance-Grafik.
$ 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
}
Jetzt müssen wir, um auf die Leistungsgraphen für Dienste zuzugreifen, die service.cfg-Datei aktualisieren.
$ cat linux_services.cfg
define service {
service_description Disks Status
hostgroup_name linux-servers
use generic-service,service-pnp ; Name der zu verwendenden Dienstvorlage
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
}
Um den Hostgraphen zu überprüfen, müssen wir ihn in die folgende Datei einfügen.
$ 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 Mein Windows-Server
address 192.168.1.75
use windows-server,host-pnp
}
define hostgroup {
hostgroup_name windows-servers
alias Windows-Server
}
Validieren Sie die Konfiguration.
$ naemon -v /etc/naemon/naemon.cfg
Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team und Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team und Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Lizenz: GPL
Website: http://www.naemon.org
Lese Konfigurationsdaten...
Hauptkonfigurationsdatei erfolgreich gelesen...
Objektkonfigurationsdateien erfolgreich gelesen...
Durchführung einer Vorabprüfung der Konfigurationsdaten...
Überprüfung der Objekte...
20 Dienste überprüft.
4 Hosts überprüft.
1 Kontakte überprüft.
2 Hostgruppen überprüft.
0 Dienstgruppen überprüft.
1 Kontaktgruppen überprüft.
31 Befehle überprüft.
5 Zeitperioden überprüft.
0 Hosteskalationen überprüft.
0 Diensteskalationen überprüft.
Überprüfung auf zirkuläre Pfade...
4 Hosts überprüft
0 Dienstabhängigkeiten überprüft
0 Hostabhängigkeiten überprüft
5 Zeitperioden überprüft
Überprüfung globaler Ereignishandler...
Überprüfung obsessiver kompulsiver Prozessbefehle...
Überprüfung anderer Einstellungen...
Gesamtwarnungen: 0
Gesamtfehler: 0
Alles sieht gut aus - Es wurden keine schwerwiegenden Probleme während der Vorabprüfung festgestellt
Starten Sie die Dienste neu.
[root@naemon ~]# systemctl enable npcd
npcd.service ist kein nativer Dienst, wird an /sbin/chkconfig umgeleitet.
Ausführen von /sbin/chkconfig npcd on
[root@naemon ~]# systemctl restart npcd
[root@naemon ~]# systemctl restart naemon


Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.

