Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ubuntu 14.04. LTS Server - Nagios installieren und einrichten

Mitglied: Looser27

Looser27 (Level 3) - Jetzt verbinden

07.04.2015, aktualisiert 24.10.2016, 9693 Aufrufe, 5 Kommentare, 2 Danke

Aufbauend auf diese Anleitung https://www.administrator.de/wissen/ubuntu-14-04-lts-server-freeradius-a ... will ich euch meinen Weg zu Nagios nicht vorenthalten.

Man kann entweder einen vorhandenen Ubuntu-Server nehmen oder nimmt, wie ich, einen separaten alten PC, packt da Ubuntu 14.04. LTS Server drauf und lässt den als "Monitor" laufen.

Die Schritte zur Installation und Anbindung an das AD sind identisch zu o.g. Anleitung.

Alle folgenden Befehle werden als su ausgeführt.
Der Einfachheit halber einmal

01.
sudo su
02.
Kennwort: (wurde bei der Installation vergeben)
1. Pakete installieren
01.
apt-get install nagios3
Damit wird der Nagios3 Server nebst erforderlichen Komponenten komplett installiert.
Das hier vergebene Kennwort für den Adminzugang unbedingt merken. Damit meldet man sich später am Webinterface an.
Die Einrichtung der E-Mail-Funktion passt man während der Installation an die eigenen Bedürfnisse an.

2. Windows vorbereiten
Die zu überwachenden Windows-Clients (Server) werden mit der Software NSClient++ ausgestattet.
Bei der Installation werden folgende Optionen gewählt:

4cc0a63085ffe2f5bf75912d6b062558 - Klicke auf das Bild, um es zu vergrößern

Anschließend ergänzt man manuell in der Datei C:\Prpgramme\NSClient++\nsclient.ini folgende Einträge, sofern nicht vorhanden:
01.
allowed hosts = IP des Servers, auf dem Nagios läuft
02.
password = SUPERGEHEIMNIS
03.
port = 12489
Anschließend wird der NSClient-Dienst neu gestartet.

Damit kann der Windows-Client mit dem Nagios-Server kommunizieren.

3. Nagios Konfiguration

Es gibt verschiedene Ansätze den Überblick über die Hardware zu behalten. Je nach Menge macht es Sinn die Elemente (Switche, Windows-Server, Linux, Server, etc.) in Unterverzeichnissen zusammenzufassen.

Da unser Netzwerk relativ überschaubar ist, habe ich mich auf ein Verzeichnis für die Objekte beschränkt und die Hardware eindeutig benannt.

3.1 Vorlage definieren
Zuerst erzeugt man ein Verzeichnis für die Objekte und legt sich eine Vorlage für die Windows-Systeme an:
01.
mkdir /etc/nagios3/objects
02.
cd /etc/nagios3/objects
03.
nano windows-server.cfg
Die Vorlage windows-server.cfg enthält bei mir:
01.
define host{
02.
  name                            windows-server
03.
  use                               generic-host
04.
  check_period                 24x7
05.
  check_interval               5
06.
  retry_interval                 1
07.
  max_check_attempts    10
08.
  check_command           check-host-alive
09.
  notification_period         24x7
10.
  notification_interval       30
11.
  notification_options       d,r
12.
  contact_groups             admins
13.
  register                         0
14.
}
3.2 Den ersten Windows-Server hinterlegen
Praktischerweise gibt es in Nagios eine Vorlage für Windows-Systeme.
Diese kopieren wir uns nach /etc/nagios3/objects und ändern wie folgt:

01.
define host {
02.
use windows-server
03.
host_name server-01
04.
alias Mein_erster_Windows-Server
05.
address IP_des_Windows_Servers
06.
icon_image win40.png
07.
}
Der Bereich define hostgroup wird komplett auskommentiert. Die host_group definieren wir an anderer Stelle.

Jetzt tragen wir in jedem define service Bereich unseren Windows-Server ein, wenn wir diesen Service nutzen wollen.
01.
define service{
02.
	use                     generic-service
03.
	host_name               server-01
04.
	service_description     NSClient++ Version
05.
	check_command           check_nt!CLIENTVERSION
06.
}
Damit das Abfragen des freien Speicherplatzes funktioniert muss die entsprechende Zeile so aussehen:
01.
check_command    check_nt!USEDDISKSPACE!'-l c -w 80 -c 90'
Wichtig sind hier die Hochkommas (') an der richtigen Stelle!

Nicht genutzte Services unbedingt auskommentieren.

3.3 host groups definieren

Die Datei zum Definieren der Hostgroups liegt im Verzeichnis /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Hier ergänzt man die hostgroups, die man verwenden möchte nach dem gleichen Schema:
01.
define hostgroup {
02.
hostgroup_name windows-server
03.
alias Windows Server
04.
members server-01
05.
}
3.4 Nagios Server konfigurieren
Jetzt muss nur noch dem Nagios-Server mitgeteilt werden, wo die entsprechenden Dateien zu finden sind.
Hierzu editiert man die Datei /etc/nagios3/nagios.cfg
01.
# Template fuer Windows-Server
02.
cfg_file=/etc/nagios3/objects/windows-server.cfg
03.

04.
#Definitionen fuer Windows-Server
05.
cfg_file=/etc/nagios3/objects/server-01.cfg
3.5 nt.cfg
Damit der Nagios-Server mit dem Client kommunizieren kann, haben wir bei der Installation ein SUPERGEHEIMNIS vergeben. Dieses muss jetzt dem Nagios-Server noch mitgeteilt werden:
01.
/usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -s SUPERGEHEIMNIS -v $ARG1$ $ARG2$
Dieser Eintrag muss in beiden Zeilen angepasst werden.

4 Nagios Server (neu) starten
01.
service nagios3 restart
Wenn alles richtig ist, startet der Dienst und man kann sich am Webinterface einloggen.
Sollte es zu Fehlermeldungen kommen, so liegt das meist an Rechtschreibfehlern.

5. Webinterface
Das Webinterface erreicht man unter IP_des_Nagios-Servers/nagios3.
Der Anmeldename ist nagiosadmin; das Passwort ist das selber vergebene Passwort aus der Nagios-Installation.

6. Anmerkungen
Nach jeder Änderung oder dem Hinzufügen von weiteren Clients, muss der Nagios-Server neu gestartet werden.
Die möglichen Bilder, welche unter 3.2 unter icon_image verwendet wurden findet man am einfachsten mit
01.
find /* | grep win40.png


Das Ergebnis zeigt den Speicherort für jede Menge Pics an, die man zur Unterscheidung einsetzen kann.

Man muss ein wenig Geduld mitbringen, denn nach einem Neustart des Dienstes dauert es unter Umständen eine ganze Weile bis das neu hinzugefügte Element abgefragt und der Status korrekt angezeigt wird.

Dann sieht das z.B. so aus:

1ac24305cf824fdc8f1f2d7709b30222 - Klicke auf das Bild, um es zu vergrößern

6.1 Linux-Systeme hinzufügen
Für das Hinzufügen von Linux-Sytemen kopiert man sich die Datei /etc/nagios3/conf.d/generic_host_nagios2.cfg nach /etc/nagios3/objects und verändert die entsprechend als Vorlage für Linux.
Ich habe für Firewalls, Telefonanlagen, etc. hieraus separate Vorlagen generiert um später flexibler zu sein.
Die eigentlichen Definitionen habe ich durch kopieren und anpassen der Datei /etc/nagios3/conf.d/localhost_nagios2.cfg erzeugt

6.2 E-Mail Benachrichtigungen einrichten
Dies ist auf dieser Seite sehr schön beschrieben und kann 1:1 übernommen werden.
Es hat sich nur herausgestellt, dass wenn man einen lokalen Mail-Server betreibt, der die Mails von einem Provider abholt und über diesen als Smarthost versendet, so funktioniert der Versand an lokale Mail-Adressen nicht. Deswegen muss man in der contacts_nagios2.cfg unbedingt ein externes Mailkonto eintragen. Oder man nutzt einen anderen externen Smarthost und zieht dann die Mails wie gewohnt ins eigene System.

6.3 Memory bei Windows Servern korrekt abfragen
Das Problem der o.g. check_nt Abfrage ist, dass sowohl der physische, als auch der virtuelle Speicher zusammengerechnet wird und man kein aussagekräftiges Ergebnis erhält.
Um das zu ändern, sind folgende Einstellungen notwendig:

Auf dem Windows Server ändert man die Zeile alias_mem in der nsclient.ini wie folgt:

01.
alias_mem = checkMem MaxWarn=80% MaxCrit=90% ShowAll=long type=physical
Anschließend wird der Dienst neu gestartet.

Als nächstes prüft man die korrekte Einstellung auf dem nagios-Server.
Die Datei check_nrpe.cfg im Verzeichnis etc/nagios-plugins/config sollte so aussehen:
01.
 # this command runs a program $ARG1$ with arguments $ARG2$
02.
define command {
03.
        command_name    check_nrpe
04.
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
05.
}
06.

07.
# this command runs a program $ARG1$ with no arguments
08.
define command {
09.
        command_name    check_nrpe_1arg
10.
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
11.
}
Zuletzt noch die Service-Definition für den Windows-Server anpassen:

Muster:
01.
define service {
02.
    use    generic-service
03.
    host_name    server-name
04.
    service_description    Memory Usage
05.
    check_command    check_nrpe_1arg!alias_mem
06.
}
Zum Abschluß noch den nagios-Dienst neu starten mit service nagios3 restart. Das Ergebnis zeigt dann den physischen Speicher mit einer Warngrenze von 80% und einer kritischen Grenze bei 90%.

6.4 Druckerabfrage mit nagios
Hier kann man sich ein fertiges Plugin herunterladen, welches man nur noch nach
01.
/usr/lib/nagios/plugins
kopieren muss. Folgt man der Anleitung auf der Seite, so kann man vorhandenen Netzwerkdrucker übersichtlich erfassen.
Die Status-Abfrage habe ich allerdings nicht integriert, da man ständig Mails bekommt, wenn das Gerät in Standby geht.

6.4.1 PHP Druckerabfrage
Hierfür müssen folgende Pakete installiert werden:
php5-cli
php5-common
php5-snmp

Anschließend lädt man sich dieses Plugin herunter und kopiert es nach
01.
/usr/lib/nagios/plugins
Nicht vergessen das Plugin ausführbar zu machen mit
01.
chmod a+x PLUGINNAME
Das Plugin kann man anschließend testen mit
01.
./PLUGINNAME IP_DES_DRUCKERS public 1 counter 1
Zurückgegeben sollte nun als Wert die Anzahl bisher gedruckter Seiten sein.

Nun kann man die commands.cfg anpassen. Bei mir sieht die dann so aus:
01.
####### Druckerabfrage Canon per php #####
02.

03.
# Drucker-Abfrage php
04.
define command {
05.
        command_name    check-toner-black
06.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 1 0.05
07.
        }
08.
# Drucker-Abfrage php
09.
define command {
10.
        command_name    check-toner-cyan
11.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 2 0.05
12.
        }
13.
# Drucker-Abfrage php
14.
define command {
15.
        command_name    check-toner-magenta
16.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 3 0.05
17.
        }
18.
# Drucker-Abfrage php
19.
define command {
20.
        command_name    check-toner-yellow
21.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 4 0.05
22.
        }
23.
# Drucker-Abfrage php
24.
define command {
25.
        command_name    check-toner-waste
26.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 5 -0.95 -1
27.
        }
28.

29.
# Drucker-Abfrage php
30.
define command {
31.
        command_name    check-printer-page
32.
        command_line    /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 counter 1
33.
        }
Nun noch die Konfirguration des Druckers anpassen:
01.
##### PHP Abfragen der Toner und gedruckten Seiten
02.

03.
define service {
04.
        use                     generic-service
05.
        host_name               canon
06.
        service_description     Toner Black
07.
        check_command           check-toner-black
08.
}
09.

10.
define service {
11.
        use                     generic-service
12.
        host_name               canon
13.
        service_description     Toner Cyan
14.
        check_command           check-toner-cyan
15.
}
16.

17.
define service {
18.
        use                     generic-service
19.
        host_name               canon
20.
        service_description     Toner Magenta
21.
        check_command           check-toner-magenta
22.
}
23.

24.
define service {
25.
        use                     generic-service
26.
        host_name               canon
27.
        service_description     Toner Yellow
28.
        check_command           check-toner-yellow
29.
}
30.

31.
define service {
32.
        use                     generic-service
33.
        host_name               canon
34.
        service_description     Resttonerbehaelter
35.
        check_command           check-toner-waste
36.
}
37.

38.
define service {
39.
        use                     generic-service
40.
        host_name               canon
41.
        service_description     Gedruckte Seiten
42.
        check_command           check-printer-page
43.
}
Anschließend den nagios-Dienst neu starten und auf die Anzeige des Status warten.

6.5 Abfrage einer APC USV mit Nagios
Hier gibt es ein sehr schönes Plugin, welches man analog zu 6.4 einfügt und auf Anhieb laufen sollte.

6.6 Auswertung Temperatur Sensor
Wir haben bei uns an einem Server einen externen Temperatursensor per USB hängen zur Überwachung der Raumtemperatur.
Diesen wollte ich natürlich mit in Nagios einbinden, damit ich alle Daten zusammen habe.

Es handelt sich um den Temperature@lert USB.
Nachdem man sich von der Homepage die betreffenden SNMP IDs geholt hat, kann man die Abfrage integrieren:
01.
define service {
02.
        use                     generic-service
03.
        host_name               serverraum-wb
04.
        service_description     Temperatur im Serverraum
05.
        check_command           check_snmp!public!.1.3.6.1.4.1.27297.1.2!25!30
06.
        }
07.
define service {
08.
        use                     generic-service
09.
        host_name               serverraum
10.
        service_description     COM-Port Temperatursensor
11.
        check_command           check_snmp_1ARG!public!.1.3.6.1.4.1.27297.1.1
12.
        }
13.
define service {
14.
        use                     generic-service
15.
        host_name               serverraum
16.
        service_description     Letzte Temperaturauswertung
17.
        check_command           check_snmp_1ARG!public!.1.3.6.1.4.1.27297.1.3
18.
        }
Die hierfür erforderlichen Änderungen in der commands.cfg sehen so aus:
01.
define command {
02.
        command_name    check_snmp_1ARG
03.
        command_line    /usr/lib/nagios/plugins/check_snmp  -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$
04.
        }
Das erforderliche SNMP-Plugin ist in Nagios bereits enthalten. Somit braucht man nicht die umständlichen Umwege über das Perl-Plugin zu gehen und erhält trotzdem das gewünschte Ergebnis.

6.7 Update auf Ubuntu 16.04.01 LTS
Nach dem Distributionsupgrade (über "do-release-upgrade") wird der Freie Speicherplatz bei Linuxsystemen auf Critical gesetzt mit der Bemerkung, dass die Berechtigung nicht mehr ausreicht.
Hierzu habe ich einen funktionierenden Workaround gefunden:
01.
sudo chown root:root /usr/lib/nagios/plugins/check_disk
02.
sudo chmod u+s /usr/lib/nagios/plugins/check_disk
03.
sudo chmod o+x /usr/lib/nagios/plugins/check_disk
Nach dem Ausführen wird der Speicherplatz wieder korrekt angezeigt.


7. Quellen
https://awaseroot.wordpress.com/2012/11/23/monitoring-windows-with-nagio ...
https://www.administrator.de/contentid/191718
http://www.myslug.de/index.php?title=Nagios_installieren_und_konfigurie ...
http://exchange.nagios.org/directory/Plugins/Hardware/Printers/SNMP-Pri ...
https://bugs.launchpad.net/ubuntu/+source/nagios-plugins/+bug/1516451

Änderungsindex:
2015-04-08 - Kapitel 6.2 eingefügt
2015-04-21 - Kapitel 6.3 eingefügt
2015-04-28 - Kapitel 6.4 eingefügt
2015-05-22 - Kapitel 6.5 eingefügt
2015-09-01 - Kapitel 6.6 eingefügt
2016-10-07 - Kapitel 6.4.1 eingefügt
2016-10-24 - Kapitel 6.7 eingefügt
Mitglied: STRUBartacus
17.04.2015 um 14:50 Uhr
Schöne Anleitung Mein Favorit heisst jedoch Observium.
Bitte warten ..
Mitglied: Looser27
21.04.2015 um 12:27 Uhr
Danke. Leider haben wir jede Menge Hardware, die von Observium nicht unterstützt wird und da ist Nagios einfach flexibler.

Gruß

Looser
Bitte warten ..
Mitglied: rzlbrnft
21.04.2015 um 16:48 Uhr
Coole Sache. Wir würden gerne Nagios mit Centreon benutzen. Ich habe keine Anleitung gefunden die mit Nagios3 aus dem Package Manager arbeitet und dann Centreon drauf installiert. Hast du dafür auch eine Lösung?
Bitte warten ..
Mitglied: Looser27
22.04.2015 um 08:13 Uhr
Ich habe nach einer Lösung für unser System gesucht und bin den ersten Ansätzen von aqui's Anleitung gefolgt. Den Rest habe ich mir aus diversen Quellen zusammengesucht und eingebaut. Als Abschluß habe ich dann diese Anleitung für Nachahmer gemacht.

Mit Centreon habe ich mich noch gar nicht beschäftigt.

Gruß

Looser
Bitte warten ..
Mitglied: Looser27
22.04.2015 um 08:35 Uhr
Vielleicht wirst Du hier fündig.
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Ubuntu 14.04: Bug 1572608 mit Update auf Samba 4.3.8

Erfahrungsbericht von freekerUbuntu

Hallo, Ich wollte euch an dieser Stelle vor dem Update auf Samba 2:4.3.8+dfsg-0ubuntu0.14.04.2 warnen. Nach dem Update ist, je ...

Instant Messaging

Ejabberd auf ubuntu

Anleitung von horstvogelInstant Messaging1 Kommentar

Anliegend erstelle ich eine Anleitung für die Installation eines ejabberd auf einem Ubuntu Server. Die Anleitung ist derzeit noch ...

Ubuntu

Server Virtualisierung Ubuntu 16.04

Anleitung von Looser27Ubuntu

Lange Zeit habe ich für jeden Dienst (RADIUS, INTRANET, OPSI, NAGIOS) jeweils einen betagten PC zum Ubuntu Server aufgewertet ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von FrankUbuntu3 Kommentare

Ubuntu 17.10 Artful Aardvark wurde veröffentlicht und kann ab sofort heruntergeladen werden. Die Version 17.10 erscheint mit GNOME 3.26.1 ...

Neue Wissensbeiträge
Windows Installation

Windows Install ISO mit übergroßer Install.wim auf FAT32 übertragen

Tipp von Lochkartenstanzer vor 19 StundenWindows Installation9 Kommentare

Moin Kollegen, Viele von euch werden sicher aus praktischen Gründen nicht nur DVDs oder "virtuelle" CD-Laufwerke (Zalman, IODD) zum ...

Datenschutz

Gehe zurück auf Los, ziehe keine 4.000 Mark. E-Privacy (erstmal) gescheitert

Information von certifiedit.net vor 1 TagDatenschutz

Webbrowser

Firefox 71 verfügbar mit Picture in Picture Funktion

Information von sabines vor 1 TagWebbrowser2 Kommentare

Die neue Firefox Version 71 unterstützt, zunächst nur für Windows, Picture in Picture. Damit kann ein Video in einem ...

E-Mail
SPF beim Versenden testen
Tipp von StefanKittel vor 3 TagenE-Mail3 Kommentare

Hallo, wenn man einen SPF für einen Exchange, oder anderen Mail-Server, konfigiruert muss man das ja auch testen. Ganz ...

Heiß diskutierte Inhalte
Virtualisierung
Linux Ubuntu Error
gelöst Frage von Nickolas.GroheVirtualisierung25 Kommentare

Hallo, Ich habe in einer VirtuaBox Linux Ubuntu Installiert. 4096 mbit ram 64,00 GB 3 von 8 Cpu Wenn ...

Hyper-V
Wie berechne ich mir die Anzahl der vCPU für HYPER-V aus?
Frage von samet22Hyper-V20 Kommentare

Hallo, bitte nicht schimpfen, ich habe mich nur selber gerade etwas verwirrt :D Wie berechne ich mir aus wieviele ...

LAN, WAN, Wireless
WLAN Absicherung
gelöst Frage von Alex29LAN, WAN, Wireless19 Kommentare

Hallo zusammen, WPA2 wurde vor einiger Zeit geknackt. Auch bei WPA3 wurden schon Lücken aufgezeigt aber das größere Problem ...

Debian
Zweite IP - Routing?
gelöst Frage von thepandapi94Debian15 Kommentare

Hey Zusammen, ich habe gestern über Hetzner eine zweite IP bezogen. Laut Hetzner soll diese auch auf die primäre ...