SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Nagios für Einsteiger
Sven Velt
team(ix) GmbH
sv@teamix.net
Slide 2
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Über mich
● Linux seit > 10 Jahren
● 1995 - 2001 Internet-Provider
– Verantwortlich für Technik
– 24/7 muss alles laufen
– Monitoring notwendig
– ... mehr als einmal nachts aufgestanden
● Seit 2002 bei team(ix) GmbH
– Schulungen, u. a. Nagios, Apache, Linux
– Projekte, größtenteils Nagios
Slide 3
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
(Benötigte) Bausteine
● Nagios
– „Framework“
– Übernimmt Verwaltung, z.B. Scheduling von
Checks, Benachrichtigung
– Web-Frontend
● Nagios-Plugins
– Eigentliche Checks
● Add-Ons (optional)
Slide 4
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Packages vs. Source
Packages
● Schnell
● keine Fehler beim
Compilieren
● Updates durch
Distributor
Source
● Auf System
abstimmbar
● Neue Versionen
verfügbar
● Ahnung vom
Hintergrund
Slide 5
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Packages
● OpenSUSE
– nagios
– nagios-www
– nagios-plugins
– /etc/nagios/
● Debian
– nagios3
– nagios-plugins
– /etc/nagios3/
– /usr/lib/nagios/plugins/
Slide 6
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Sources (I)
● Voraussetzungen beachten!
(„Quickstart Guide“ in der Doku)
● Nagios und Nagios-Plugins compilieren:
– ./configure && make all
– su -c “make install“
– Weitere Make-Targets:
● make install-init
● make install-commandmode
● make install-webconf
● make install-config
}make fullinstall
Slide 7
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Sources (II)
● Pfade (ohne „--prefix=“-Angabe beim
configure-Aufruf):
– /usr/local/nagios/etc/
– /usr/local/nagios/libexec/
Slide 8
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Apache Konfiguration
● Meist in /etc/apache2/conf.d/
nagios.conf zu finden
● Einbindung des Web-Frontends
● Absicherung per Username/Passwort
– „AuthUserFile“ gibt an, wo diese
gespeichert sind
– wichtig für den Start: Ein Eintrag für
„nagiosadmin“
– Wenn nicht vorhanden:
htpasswd(2) FILE nagiosadmin
Slide 9
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Web-Frontend Zugriff
● Einfacher Start: „nagiosadmin“ darf alles
● Dazu alle „authorized_for...=“-Zeilen
mit „nagiosadmin“ in cgi.cfg versehen
– Wahrscheinlich nur Kommentarzeichen
entfernen
– Wir schaffen einen Super-User, der alles darf
● „use_authentication = 1“
Slide 10
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
nagios.cfg – Objects (I)
● Definition von „Objects“ in eigenen
Dateien
● Organisation der Dateien ist dem Admin
überlassen
● Einbindung in Nagios
– via cfg_file=
● Einzelne Dateien direkt angegen
– via cfg_dir=
● Ein Verzeichnis rekursiv einlesen (Dateien müssen
auf „*.cfg“ enden!
Slide 11
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
nagios.cfg – Objects (II)
● Persönliche(!) Empfehlung:
– Ein „cfg_dir“ für alle Konfigurationsdateien
– Unterteilung per Unterverzeichnisse
● das aber durchaus strikt und viel
– Evtl. einzelne, zusätzliche Files oder
Directories
● z.B. Debian:
„cfg_dir=/etc/nagios-plugins/config“
Slide 12
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Objects - Überblick
● Hosts & Hostgroups
● Services & Servicegroups
● Contacts & Contactgroups
● Timeperiods
● Commands
● (Host-/Service-Escalations)
● (Host-/Service-Dependencies)
Slide 13
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Konfiguration - Überblick
Slide 14
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Konfiguration - Verwirrung
Slide 15
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Die Objekte im Einzelnen
● Hosts - Einzelne Hosts/Rechner
● Services - Dienste
● Contacts - Kontakte
● Timeperiods - Zeitspannen
● Commands - Kommandos
Slide 16
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Templates
● „Da tippe ich mich ja zu Tode!“
● NEIN!
– Lösung: Templates
– Wiederkehrendes in Templates auslagern
– Verschieden Templates für verschieden
„Gruppen“
– Bei allen Objects möglich, nicht überall
sinnvoll
– Datei „templates.cfg“
Slide 17
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
timeperiods
● Vordefiniert (timeperiods.cfg):
– 24x7
– workinghours
– none
– us-holidays
– 24x7_sans_holidays
Slide 18
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
commands – notify
● Vordefiniert (commands.cfg):
– notify-host-by-email
– notify-service-by-email
Slide 19
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
contacts
● Vordefiniert (contacts.cfg):
– nagiosadmin (AUA!)
Slide 20
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
commands – check
● Vordefiniert (commands.cfg), u.a.:
– check-host-alive
– check_ping
– check_local_(disk|users|procs)
– check_local_(load|swap)
– check_ssh
– check_http
– ...
Slide 21
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
hosts
● Vordefiniert (localhost.cfg):
– localhost
● Nicht aktviert (windows.cfg,
printer.cfg, switch.cfg):
– hplj2605dn
– linksys-srw224p
– winserver
Slide 22
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
services
● Vordefiniert (localhost.cfg):
– PING
– Root Partition
– Current Users
– Total Processes
– Current Load
– Swap Usage
– SSH
– HTTP
Slide 23
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Templates (Wdh.)
● „Da tippe ich mich ja zu Tode!“
● NEIN!
– Lösung: Templates
– Wiederkehrendes in Templates auslagern
– Verschieden Templates für verschieden
„Gruppen“
– Bei allen Objects möglich, nicht überall
sinnvoll
– Datei „templates.cfg“
Slide 24
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Konfiguration testen
● WICHTIG!
– /.../nagios -v /.../nagios.cfg
– Fehler kommen schon vor dem Neustart ans
Licht!
– Nach jeder Änderung an der Konfiguration
ausführen!
Slide 25
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Time saving tricks
● Services
– host_name fasst mehre Hostnamen
– hostgroup_name ganzen Gruppen
– beides auch gleichzeitig!
Slide 26
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Was können Plugins?
● Alle Plugins besitzen eine Hilfe:
– check_* --help
● Beispiel: check_http
– Öffnet HTTP-Connection und wertet Rückgabe
aus
● -H localhost : Angabe des Rechners
● -m 5000:10000 : Seitengröße in Bytes
● -s Linux : Textstelle im Content
● --ssl : Verbindung per HTTPS/SSL
● --ssl -C 28 : SSL-Zertifiakt prüfen
Slide 27
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Plugin-Schnittstelle
● Plugin wird wie ein Programm/Skript
aufgerufen, Parameter werden übergeben
● Plugin gibt zurück:
– Return-Code: 0 (OK), 1 (WARN), 2 (CRIT),
3 (UNKNOWN)
● siehe auch „echo $?“ nach dem Aufruf
● oder PS1='$? u@h:w > '
– Eine Zeile Text
● „Output“: HTTP OK HTTP/1.1 200 OK – ...
● „Performance Data“: time=0.38s;;;0.00
Slide 28
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
SOFT oder HARD?
● Nagios unterscheidet zwischen
– Es könnte ein Fehler sein (SOFT)
– Es ist ein Fehler (HARD)
● Jeder Host/Service wird mehrfach getestet
– max_check_attempts
● Erst wenn diese Anzahl erreicht ist, nimmt
Nagios an, dass wirklich ein Fehler
vorliegt
– check_interval +
(max_check_attempts - 1) * retry_interval
Slide 29
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Externe Steuerung
● Externe Steuerung (Web-Frontend!) bzw.
Verarbeitung von passiven Checks
● In nagios.cfg anpassen:
– check_external_commands=1
– log_external_commands=1
– external_command_file=/.../nagios.cmd
● ACHTUNG! „ls -l /.../nagios.cmd“
– Apache muss in die passende Gruppe:
● usermod -G GRUPPE www-data/wwwrun
Slide 30
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Netzwerkhierarchie
● Host können „parents“ haben
– Parent = Nächste(r) „Router“ auf dem Weg
zum Nagios-Server
– Dadurch Abbild des Netzwerks bzw. der
-Struktur im Nagios (siehe auch „Status-
Map“)
● Unterscheidung
– DOWN: Router ist kaputt
– UNREACHABLE: Die Rechner hinter dem
Router
Slide 31
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Benachrichtigungen
Slide 32
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Contacts
● Nur, wer Contact für einen Host/Service
ist, sieht diesen auch im Web-Frontend
● „nagiosadmin“ als Super-User zur
Kontrolle
– d.h. aber auch, alle Contacts müssen für den
Apache mit Passwort gepflegt werden!
– Wohl dem, der Apache 2.2 und alle User im
LDAP hat :-)
Wenn's sein muss, tut auch 'ne ADS :-(
Slide 33
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Notify
● Contact bekommt
– service_notify_command
– host_notify_command
● „Alles, was von der Kommandozeile
machbar ist“, geht:
– E-Mail, SMS, Instant Messenger, IRC(!)
– Anruf
– Fax
– SQL-Datenbank
Slide 34
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
NRPE - Überblick
● Nagios Remote Plugin Executor
● NRPE-Daemon
– läuft auf zu überwachenden Maschine
● check_nrpe
– wird auf dem Nagios-Server aufgerufen
Slide 35
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
NRPE-Daemon
● Typische Stolperfallen:
– „allowed_hosts“ in nrpe.cfg checken!
– Neustart nach Änderungen an Config!
– Kommando nicht eingetragen
● Allgemein:
– /var/log/... überprüfen! Da steht meistens
was schief geht
Slide 36
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
check_nrpe
● Aufruf:
– check_nrpe -H HOST -c COMMAND
– „COMMAND“ wie es in der nrpe.cfg
eingetragen ist!
Ähnliche wie commands.cfg!
Slide 37
2008-09-11
Nagios für Einsteiger
Sven Velt, team(ix) GmbH
Wunschkonzert!
Ich warte auf Vorschläge,
Fragen, Unklarheiten, ...
;-)

Weitere ähnliche Inhalte

Was ist angesagt?

Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
inovex GmbH
 

Was ist angesagt? (8)

Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
 
Schweben auf Wolke7
Schweben auf Wolke7Schweben auf Wolke7
Schweben auf Wolke7
 
Ubuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreibenUbuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreiben
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
Storage Cluster mit CEPH
Storage Cluster mit CEPHStorage Cluster mit CEPH
Storage Cluster mit CEPH
 
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebulaGUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
 
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
 

Ähnlich wie OSMC 2008 | Nagios für Einsteiger by Sven Velt

Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
NETWAYS
 
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol ÜlükmenOSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
NETWAYS
 
Maemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ MetalabMaemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ Metalab
thp4
 

Ähnlich wie OSMC 2008 | Nagios für Einsteiger by Sven Velt (20)

Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
 
OSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang BarthOSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang Barth
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael StrebNagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
 
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol ÜlükmenOSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
 
Nagios Conference 2007 | Datenbankgestützte Konfiguration von Nagios in große...
Nagios Conference 2007 | Datenbankgestützte Konfiguration von Nagios in große...Nagios Conference 2007 | Datenbankgestützte Konfiguration von Nagios in große...
Nagios Conference 2007 | Datenbankgestützte Konfiguration von Nagios in große...
 
Maemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ MetalabMaemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ Metalab
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Logging mit log4net
Logging mit log4netLogging mit log4net
Logging mit log4net
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
 
Nagios Conference 2007 | Hardwareüberwachung IPMI by Gerd Müller
Nagios Conference 2007 |  Hardwareüberwachung IPMI by Gerd MüllerNagios Conference 2007 |  Hardwareüberwachung IPMI by Gerd Müller
Nagios Conference 2007 | Hardwareüberwachung IPMI by Gerd Müller
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf DöringOSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 

OSMC 2008 | Nagios für Einsteiger by Sven Velt

  • 1. Nagios für Einsteiger Sven Velt team(ix) GmbH sv@teamix.net
  • 2. Slide 2 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Über mich ● Linux seit > 10 Jahren ● 1995 - 2001 Internet-Provider – Verantwortlich für Technik – 24/7 muss alles laufen – Monitoring notwendig – ... mehr als einmal nachts aufgestanden ● Seit 2002 bei team(ix) GmbH – Schulungen, u. a. Nagios, Apache, Linux – Projekte, größtenteils Nagios
  • 3. Slide 3 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH (Benötigte) Bausteine ● Nagios – „Framework“ – Übernimmt Verwaltung, z.B. Scheduling von Checks, Benachrichtigung – Web-Frontend ● Nagios-Plugins – Eigentliche Checks ● Add-Ons (optional)
  • 4. Slide 4 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Packages vs. Source Packages ● Schnell ● keine Fehler beim Compilieren ● Updates durch Distributor Source ● Auf System abstimmbar ● Neue Versionen verfügbar ● Ahnung vom Hintergrund
  • 5. Slide 5 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Packages ● OpenSUSE – nagios – nagios-www – nagios-plugins – /etc/nagios/ ● Debian – nagios3 – nagios-plugins – /etc/nagios3/ – /usr/lib/nagios/plugins/
  • 6. Slide 6 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Sources (I) ● Voraussetzungen beachten! („Quickstart Guide“ in der Doku) ● Nagios und Nagios-Plugins compilieren: – ./configure && make all – su -c “make install“ – Weitere Make-Targets: ● make install-init ● make install-commandmode ● make install-webconf ● make install-config }make fullinstall
  • 7. Slide 7 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Sources (II) ● Pfade (ohne „--prefix=“-Angabe beim configure-Aufruf): – /usr/local/nagios/etc/ – /usr/local/nagios/libexec/
  • 8. Slide 8 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Apache Konfiguration ● Meist in /etc/apache2/conf.d/ nagios.conf zu finden ● Einbindung des Web-Frontends ● Absicherung per Username/Passwort – „AuthUserFile“ gibt an, wo diese gespeichert sind – wichtig für den Start: Ein Eintrag für „nagiosadmin“ – Wenn nicht vorhanden: htpasswd(2) FILE nagiosadmin
  • 9. Slide 9 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Web-Frontend Zugriff ● Einfacher Start: „nagiosadmin“ darf alles ● Dazu alle „authorized_for...=“-Zeilen mit „nagiosadmin“ in cgi.cfg versehen – Wahrscheinlich nur Kommentarzeichen entfernen – Wir schaffen einen Super-User, der alles darf ● „use_authentication = 1“
  • 10. Slide 10 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH nagios.cfg – Objects (I) ● Definition von „Objects“ in eigenen Dateien ● Organisation der Dateien ist dem Admin überlassen ● Einbindung in Nagios – via cfg_file= ● Einzelne Dateien direkt angegen – via cfg_dir= ● Ein Verzeichnis rekursiv einlesen (Dateien müssen auf „*.cfg“ enden!
  • 11. Slide 11 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH nagios.cfg – Objects (II) ● Persönliche(!) Empfehlung: – Ein „cfg_dir“ für alle Konfigurationsdateien – Unterteilung per Unterverzeichnisse ● das aber durchaus strikt und viel – Evtl. einzelne, zusätzliche Files oder Directories ● z.B. Debian: „cfg_dir=/etc/nagios-plugins/config“
  • 12. Slide 12 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Objects - Überblick ● Hosts & Hostgroups ● Services & Servicegroups ● Contacts & Contactgroups ● Timeperiods ● Commands ● (Host-/Service-Escalations) ● (Host-/Service-Dependencies)
  • 13. Slide 13 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Konfiguration - Überblick
  • 14. Slide 14 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Konfiguration - Verwirrung
  • 15. Slide 15 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Die Objekte im Einzelnen ● Hosts - Einzelne Hosts/Rechner ● Services - Dienste ● Contacts - Kontakte ● Timeperiods - Zeitspannen ● Commands - Kommandos
  • 16. Slide 16 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Templates ● „Da tippe ich mich ja zu Tode!“ ● NEIN! – Lösung: Templates – Wiederkehrendes in Templates auslagern – Verschieden Templates für verschieden „Gruppen“ – Bei allen Objects möglich, nicht überall sinnvoll – Datei „templates.cfg“
  • 17. Slide 17 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH timeperiods ● Vordefiniert (timeperiods.cfg): – 24x7 – workinghours – none – us-holidays – 24x7_sans_holidays
  • 18. Slide 18 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH commands – notify ● Vordefiniert (commands.cfg): – notify-host-by-email – notify-service-by-email
  • 19. Slide 19 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH contacts ● Vordefiniert (contacts.cfg): – nagiosadmin (AUA!)
  • 20. Slide 20 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH commands – check ● Vordefiniert (commands.cfg), u.a.: – check-host-alive – check_ping – check_local_(disk|users|procs) – check_local_(load|swap) – check_ssh – check_http – ...
  • 21. Slide 21 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH hosts ● Vordefiniert (localhost.cfg): – localhost ● Nicht aktviert (windows.cfg, printer.cfg, switch.cfg): – hplj2605dn – linksys-srw224p – winserver
  • 22. Slide 22 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH services ● Vordefiniert (localhost.cfg): – PING – Root Partition – Current Users – Total Processes – Current Load – Swap Usage – SSH – HTTP
  • 23. Slide 23 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Templates (Wdh.) ● „Da tippe ich mich ja zu Tode!“ ● NEIN! – Lösung: Templates – Wiederkehrendes in Templates auslagern – Verschieden Templates für verschieden „Gruppen“ – Bei allen Objects möglich, nicht überall sinnvoll – Datei „templates.cfg“
  • 24. Slide 24 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Konfiguration testen ● WICHTIG! – /.../nagios -v /.../nagios.cfg – Fehler kommen schon vor dem Neustart ans Licht! – Nach jeder Änderung an der Konfiguration ausführen!
  • 25. Slide 25 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Time saving tricks ● Services – host_name fasst mehre Hostnamen – hostgroup_name ganzen Gruppen – beides auch gleichzeitig!
  • 26. Slide 26 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Was können Plugins? ● Alle Plugins besitzen eine Hilfe: – check_* --help ● Beispiel: check_http – Öffnet HTTP-Connection und wertet Rückgabe aus ● -H localhost : Angabe des Rechners ● -m 5000:10000 : Seitengröße in Bytes ● -s Linux : Textstelle im Content ● --ssl : Verbindung per HTTPS/SSL ● --ssl -C 28 : SSL-Zertifiakt prüfen
  • 27. Slide 27 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Plugin-Schnittstelle ● Plugin wird wie ein Programm/Skript aufgerufen, Parameter werden übergeben ● Plugin gibt zurück: – Return-Code: 0 (OK), 1 (WARN), 2 (CRIT), 3 (UNKNOWN) ● siehe auch „echo $?“ nach dem Aufruf ● oder PS1='$? u@h:w > ' – Eine Zeile Text ● „Output“: HTTP OK HTTP/1.1 200 OK – ... ● „Performance Data“: time=0.38s;;;0.00
  • 28. Slide 28 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH SOFT oder HARD? ● Nagios unterscheidet zwischen – Es könnte ein Fehler sein (SOFT) – Es ist ein Fehler (HARD) ● Jeder Host/Service wird mehrfach getestet – max_check_attempts ● Erst wenn diese Anzahl erreicht ist, nimmt Nagios an, dass wirklich ein Fehler vorliegt – check_interval + (max_check_attempts - 1) * retry_interval
  • 29. Slide 29 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Externe Steuerung ● Externe Steuerung (Web-Frontend!) bzw. Verarbeitung von passiven Checks ● In nagios.cfg anpassen: – check_external_commands=1 – log_external_commands=1 – external_command_file=/.../nagios.cmd ● ACHTUNG! „ls -l /.../nagios.cmd“ – Apache muss in die passende Gruppe: ● usermod -G GRUPPE www-data/wwwrun
  • 30. Slide 30 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Netzwerkhierarchie ● Host können „parents“ haben – Parent = Nächste(r) „Router“ auf dem Weg zum Nagios-Server – Dadurch Abbild des Netzwerks bzw. der -Struktur im Nagios (siehe auch „Status- Map“) ● Unterscheidung – DOWN: Router ist kaputt – UNREACHABLE: Die Rechner hinter dem Router
  • 31. Slide 31 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Benachrichtigungen
  • 32. Slide 32 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Contacts ● Nur, wer Contact für einen Host/Service ist, sieht diesen auch im Web-Frontend ● „nagiosadmin“ als Super-User zur Kontrolle – d.h. aber auch, alle Contacts müssen für den Apache mit Passwort gepflegt werden! – Wohl dem, der Apache 2.2 und alle User im LDAP hat :-) Wenn's sein muss, tut auch 'ne ADS :-(
  • 33. Slide 33 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Notify ● Contact bekommt – service_notify_command – host_notify_command ● „Alles, was von der Kommandozeile machbar ist“, geht: – E-Mail, SMS, Instant Messenger, IRC(!) – Anruf – Fax – SQL-Datenbank
  • 34. Slide 34 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH NRPE - Überblick ● Nagios Remote Plugin Executor ● NRPE-Daemon – läuft auf zu überwachenden Maschine ● check_nrpe – wird auf dem Nagios-Server aufgerufen
  • 35. Slide 35 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH NRPE-Daemon ● Typische Stolperfallen: – „allowed_hosts“ in nrpe.cfg checken! – Neustart nach Änderungen an Config! – Kommando nicht eingetragen ● Allgemein: – /var/log/... überprüfen! Da steht meistens was schief geht
  • 36. Slide 36 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH check_nrpe ● Aufruf: – check_nrpe -H HOST -c COMMAND – „COMMAND“ wie es in der nrpe.cfg eingetragen ist! Ähnliche wie commands.cfg!
  • 37. Slide 37 2008-09-11 Nagios für Einsteiger Sven Velt, team(ix) GmbH Wunschkonzert! Ich warte auf Vorschläge, Fragen, Unklarheiten, ... ;-)