12.07.2015 Aufrufe

Nagios - NETWAYs

Nagios - NETWAYs

Nagios - NETWAYs

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Nagios</strong> für EinsteigerSven Veltteam(ix) GmbHsv@teamix.net


Über mich●●Linux seit > 10 Jahren1995 - 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. <strong>Nagios</strong>, Apache, Linux– Projekte, größtenteils <strong>Nagios</strong>Slide 22008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Packages vs. SourcePackages●●●Schnellkeine Fehler beimCompilierenUpdates durchDistributorSource●●●Auf SystemabstimmbarNeue VersionenverfügbarAhnung vomHintergrundSlide 42008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Packages●SUSE●Debian / Ubuntu– nagios– nagios3– nagios-(www|cgi)– nagios-plugins– nagios-plugins– /etc/nagios/– /etc/nagios3/– /usr/lib/nagios/plugins/Slide 52008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Sources (I)●●Voraussetzungen beachten!(„Quickstart Guide“ in der Doku)<strong>Nagios</strong> und <strong>Nagios</strong>-Plugins compilieren:– ./configure && make all– su -c “make install“– Weitere Make-Targets:●●●make install-init }make fullinstallmake install-commandmodemake install-webconf●make install-configSlide 62008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Sources (II)●Pfade (ohne „--prefix=“-Angabe beimconfigure-Aufruf):– /usr/local/nagios/etc/– /usr/local/nagios/libexec/Slide 72008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Apache Konfiguration●●●Meist in /etc/apache2/conf.d/nagios.conf zu findenEinbindung des Web-FrontendsAbsicherung per Username/Passwort– „AuthUserFile“ gibt an, wo diesegespeichert sind– wichtig für den Start: Ein Eintrag für„nagiosadmin“– Wenn nicht vorhanden:htpasswd(2) FILE nagiosadminSlide 82008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Web-Frontend Zugriff●Einfacher Start: „nagiosadmin“ darf alles– Bereits vorbereitet●„authorized_for...=“-Zeilen in cgi.cfgenthalten „nagiosadmin“– Wir schaffen bzw. haben einen Super-User,der alles darf● „use_authentication = 1“– Es ginge theoretisch auch anonymSlide 92008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


nagios.cfg – Objects (I)●●●Definition von „Objects“ in eigenenDateienOrganisation der Dateien ist dem AdminüberlassenEinbindung in <strong>Nagios</strong>– via cfg_file=●Einzelne Dateien direkt angegen– via cfg_dir=●Ein Verzeichnis rekursiv einlesen (Dateien müssenauf „*.cfg“ enden!Slide 102008-09-11<strong>Nagios</strong> für EinsteigerSven 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● je Standort, Hersteller, Funktion, ...– Evtl. einzelne, zusätzliche Files oderDirectories●z.B. Debian:„cfg_dir=/etc/nagios-plugins/config“Slide 112008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Objects - Überblick●●●●●Hosts & HostgroupsServices & ServicegroupsContacts & ContactgroupsTimeperiodsCommands●●(Host-/Service-Escalations)(Host-/Service-Dependencies)Slide 122008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Konfiguration - ÜberblickSlide 132008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Konfiguration - VerwirrungSlide 142008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Die Objekte im Einzelnen● Hosts - Einzelne Hosts/Rechner● Services - Dienste● Contacts - Kontakte● Timeperiods - Zeitspannen● Commands - KommandosSlide 152008-09-11<strong>Nagios</strong> für EinsteigerSven 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 überallsinnvoll– Datei „templates.cfg“Slide 162008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


timeperiods●Vordefiniert (timeperiods.cfg):– 24x7– workinghours– none– us-holidays (!)– 24x7_sans_holidays (!)Slide 172008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


commands – notify●Vordefiniert (commands.cfg):– notify-host-by-email– notify-service-by-email●●Änderungsbedarf!Prinzip:printf ... | mailSlide 182008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


contacts●Vordefiniert (contacts.cfg):– nagiosadmin (AUA!)– Bekommt seine Rechte aus cgi.cfg●Besser:– Personen/Accounts als Contacts(„sven“, „svelt“, ...)– Teams als Contacgroups(„linux-admins“, „netapp“, ...)– Sehen „ihre“ Hosts und ServicesSlide 192008-09-11<strong>Nagios</strong> für EinsteigerSven 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– ...Muss/Wird ergänzt werdenSlide 202008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


hosts●Vordefiniert (localhost.cfg):– localhost●Nicht aktviert (windows.cfg,printer.cfg, switch.cfg):– hplj2605dn– linksys-srw224p– winserverSlide 212008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


services●Vordefiniert (localhost.cfg):– PING– Root Partition– Current Users– Total Processes– Current Load– Swap Usage– SSH– HTTPSlide 222008-09-11<strong>Nagios</strong> für EinsteigerSven 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 überallsinnvoll– Datei „templates.cfg“Slide 232008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Konfiguration testen●WICHTIG!– /.../nagios -v /.../nagios.cfg– Fehler kommen schon vor dem Neustart ansLicht!– Nach jeder Änderung an der Konfigurationausführen!Slide 242008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Time saving tricks●Services– host_name fasst mehre Hostnamen– hostgroup_name ganzen Gruppen– beides auch gleichzeitig!Slide 252008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Was können Plugins?●●Alle Plugins besitzen eine Hilfe:– check_* --helpBeispiel: check_http– Öffnet HTTP-Connection und wertet Rückgabeaus●●●●●-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üfenSlide 262008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Plugin-Schnittstelle●●Plugin wird wie ein Programm/Skriptaufgerufen, Parameter werden übergebenPlugin gibt zurück:– Return-Code: 0 (OK), 1 (WARN), 2 (CRIT),3 (UNKNOWN)●●siehe auch „echo $?“ nach dem Aufrufoder PS1='$? \u@\h:\w > '– Eine Zeile Text● „Output“: HTTP OK HTTP/1.1 200 OK – ...●„Performance Data“: time=0.38s;;;0.00Slide 272008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


SOFT oder HARD?●<strong>Nagios</strong> unterscheidet zwischen– Es könnte ein Fehler sein (SOFT)– Es ist ein Fehler (HARD)●●Jeder Host/Service wird mehrfach getestet– max_check_attemptsErst wenn diese Anzahl erreicht ist, nimmt<strong>Nagios</strong> an, dass wirklich ein Fehlervorliegt– check_interval +(max_check_attempts - 1) * retry_intervalSlide 282008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Externe Steuerung●●●Externe Steuerung (Web-Frontend!) bzw.Verarbeitung von passiven ChecksIn nagios.cfg anpassen:– check_external_commands=1– log_external_commands=1– command_file=/.../nagios.cmdACHTUNG! „ls -l /.../nagios.cmd“– Apache muss in die passende Gruppe:●usermod -G GRUPPE www-data/wwwrunSlide 292008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Netzwerkhierarchie●●Host können „parents“ haben– Parent = Nächste(r) „Router“ auf dem Wegzum <strong>Nagios</strong>-Server– Dadurch Abbild des Netzwerks bzw. der-Struktur im <strong>Nagios</strong> (siehe auch „Status-Map“)Unterscheidung– DOWN: Router ist kaputt– UNREACHABLE: Die Rechner hinter demRouterSlide 302008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


BenachrichtigungenSlide 312008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Contacts●●Nur, wer Contact für einen Host/Serviceist, sieht diesen auch im Web-Frontend„nagiosadmin“ als Super-User zurKontrolle– d.h. aber auch, alle Contacts müssen für denApache mit Passwort gepflegt werden!– Wohl dem, der Apache 2.2 und alle User imLDAP oder einer SQL-DB hat :-)Wenn's sein muss, tut auch 'ne ADS :-(Slide 322008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Notify●●Contact bekommt– service_notify_command– host_notify_command„Alles, was von der Kommandozeilemachbar ist“, geht:– E-Mail, SMS, Instant Messenger, IRC(!)– Anruf– Fax– SQL-DatenbankSlide 332008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


NRPE - Überblick●●<strong>Nagios</strong> Remote Plugin ExecutorNRPE-Daemon– läuft auf zu überwachenden Maschine●check_nrpe– wird auf dem <strong>Nagios</strong>-Server aufgerufenSlide 342008-09-11<strong>Nagios</strong> für EinsteigerSven 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/(daemon|messages|syslog)überprüfen!Da steht meistens was schief ging!Slide 352008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


check_nrpe●Aufruf:– check_nrpe -H HOST -c COMMAND– „COMMAND“ wie es in der nrpe.cfgeingetragen ist!Ähnlich wie commands.cfg!Slide 362008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH


Wunschkonzert!Ich warte auf Vorschläge,Fragen, Unklarheiten, ...;-)Slide 372008-09-11<strong>Nagios</strong> für EinsteigerSven Velt, team(ix) GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!