Studiengang Informatik FHDW Vorlesung: Betriebssysteme Monitoring (Teil II) 3. Quartal 2008 Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring was soll überwacht werden? wann soll überwacht werden? wie soll überwacht werden? warum soll überwacht werden? was passiert im Fehlerfall? was soll dokumentiert werden? Vorlesung: 2 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was soll überwacht werden? Geräte Computer Drucker Switches, Router Anwendungen, Dienste HTTP, FTP, SSH logische Systeme Cluster Vorlesung: 3 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Wann soll überwacht werden? Immer flexibel einstellbar von 1 Minute / Tag bis zu 24 Stunden / Tag 1 bis 7 Tage die Woche nur am Wochenende, nur Nachts,... konfigurierbare Service-Zeiten(Downtime) Vorlesung: 4 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Wie soll überwacht werden? Vollautomatisch Vor Ort / Remote Aktiv - Abfrage der Zustände Passiv - Empfang von Daten über Zustände mit Datenspeicherung und Möglichkeiten der Auswertung Vorlesung: 5 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Warum soll überwacht werden? geringe Ausfallzeiten schnelle Reaktion bei Problemen Prophylaxe bei sich ankündigenden Problemen Dokumentation der Betriebszustände Planung von Ressourcen Für den Serviceleister - zukünftige Wartungen Für den Systembetreiber - Auslastung der Anlage Vorlesung: 6 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was soll im Fehlerfall geschehen? Anzeige des Zustandes des Systems Benachrichtigung an konfigurierte Kontakte Benachrichtigung mit verschiedenen Möglichkeiten (Mail, SMS, Telefon) automatische Fehlerbehandlung durch konfigurierte „Event-Handler“ Vorlesung: 7 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was soll dokumentiert werden? Fehler, Ereignisse Zustände von Hosts oder Diensten Verfügbarkeit von Hosts oder Diensten Rückverfolgbarkeit von: Benachrichtigungen Beseitigung von Fehlern Veränderungen am System Vorlesung: 8 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was ist Nagios Was kann Nagios Wie funktioniert Nagios Plugins Addons Warum mit Nagios Warum mit Nagios in die Zukunft Vorlesung: 9 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was ist Nagiosist eine Anwendung zur Überwachung von Systemen und Netzwerken, es überwacht Hosts(Computer, Switches, Drucker...) und Dienste, die auf den Hosts zur Verfügung gestellt werden. benachrichtigt jemanden, wenn etwas nicht in Ordnung ist oder ein zu überwachendes Objekt wieder in den erwarteten Zustand zurückgekehrt ist. läuft unter Linux und auch unter einigen anderen Unix Systemen Vorlesung: 10 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Was kann NagiosÜberwachung von Netzwerkdiensten (SMTP, POP3, HTTP...) Überwachung von Host Ressourcen (Prozessor, Speicher...) Einfache Möglichkeit zum Erstellen und Einbinden von benutzerdefinierten Plugins (Erweiterungen) Benachrichtigung, wenn Probleme auftreten oder wieder in Ordnung gebracht wurden(via email, oder benutzerdefinierte Methoden) Möglichkeit eine Behandlungsroutine bei bestimmten Ereignissen ausführen zu lassen um das Problem zu beheben Support zur Implementierung redundanter Überwachungssysteme Web-Interface um den aktuellen Status, die Historie und Log-Dateien anzuzeigen. Vorlesung: 11 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Wie funktioniert NagiosDie Komponenten im Zusammenspiel Vorlesung: 12 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Vorlesung: 13 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Nagios - Addon / Plugin Addon Zusatz Modul, das Aufgaben übernimmt, die Nagios nicht kann und den Umfang der Anwendung erweitert (z.B. Datenbankanbindung) Plugin Zusätzliche Routinen(z.b. Scripte), die benötigt werden um spezielle Dienste oder Hosts prüfen zu können Vorlesung: 14 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Nagios - Konfigurationsaufbau Vorlesung: 15 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Elemente der Konfiguration von NagiosServices, Service Groups Hosts, Host Groups Contacts, Contact Groups Commands Time Periods Notification Escalations Notification and Execution Dependencies Vorlesung: 16 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring KonfigurationsaufbauKonfigurationsdatei von Nagios 'nagios.cfg' Hauptkonfigurationsdatei in der programmweite Einstellungen vorgenommen werden Verweis auf andere Konfigurationsdateien Definition von Kommandos 'command.cfg' Befehle die ausgeführt werden können, sind hier mit Namen und Aufruf zu konfigurieren Definition von Kontakten und Gruppen 'contact.cfg' Konfiguration der Kontakte mit Emailadressen Definition eines Host 'hostXYZ.cfg' Definition eines Host und der zu prüfenden Services Vorlesung: 17 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Service überwachenz.B: check_http -H testserver.de Nagios überprüft bei solchen Diensten mittels Script ob der Dienst erreichbar ist Im Fehlerfall wird je nach Konfiguration der Fehler angezeigt und eine Benachrichtigung erfolgt wenn OK wird das Dokumentiert und angezeigt Vorlesung: 18 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Linux Host überwachen NRPE (nagios remote plug-in executor) -Addon auf Linux Host installiert führt die gewünschten Resourcenchecks lokal aus check_nrpe wird auf Nagios-Server aufgerufen und fragt NRPE-Host ab Vorlesung: 19 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Windows Host überwachen NS-Client++ auf Windows Host installiert führt die gewünschten Resourcenchecks lokal aus check_nt wird auf Nagios-Server aufgerufen und fragt NS-Client-Host ab Vorlesung: 20 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Überwachung mittels SNMP Drucker, Router, Switches werden mittels SNMP überwacht check_hpdjd -H IP-Adresse -c Statusabfrage Vorlesung: 21 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Überwachung von Switches und Routern check_snmp -H IP-Adresse -c Statusabfrage MRTG (multi router traffic grapher) Traffic Monitoring wenn verfügbar Vorlesung: 22 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Überwachung mittels Passiver Checks NSCA (nagios service check acceptor) wird auf NagiosServer installiert und läuft als Dienst der die von anderen Hosts gesendeten Nachrichten in einer Warteschlange speichert auf überwachten Host kein öffnen eines Ports nötig Host sendet nur, wenn sich Zustand ändert (Traffic) Vorlesung: 23 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Host- und Servicegroups Hostgroups dienen zur Zusammenfassung mehrerer Hosts zu einer logischen Einheit Servicegroups dienen zur Zusammenfassung von Diensten eines oder mehrerer Hosts zu einer logischen Einheit Vorlesung: 24 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Benachrichtigungen (Notifications) Benachrichtigung an Kontakte und oder Gruppen so häufig wie konfiguriert Angabe von Zeiten wann, wer benachrichtigt wird möglich Vorlesung: 25 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Geplante Serviceleistungen (Scheduled Downtime) Festlegung wann und wie lange ein Host oder ein Service nicht Erreichbar ist es werden keine Alarme ausgegeben oder Benachrichtigungen verschickt Vorlesung: 26 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Vorlesung: 27 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Addon NDOMODModul zum Speichern aller Informationen aus Nagios in einer Datenbank MySQL (PostgrSQL in Arbeit) Notwendig für Benutzung von Nagvis Vorlesung: 28 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Nagvis- Visualisierung der Hosts und Services die in Nagios konfiguriert sind arbeitet mit PHP um Seiten zu erzeugen vielfältige Möglichkeiten der Gestaltung und der Darstellung Erstellen von sog. Map zum Navigieren im zu überwachenden System Vorlesung: 29 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Warum mit Nagios in die Zukunft? Kost nix einfach Erweiterbar Plugins / Addons hohe Sicherheit da Open Source stetige Entwicklung durch die NagiosGemeinde Vorlesung: 30 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Installation Nagios Voraussetzungen: Linux System C-Compiler Webserver(Apache) gd library version 1.6.3 or higher (required by the statusmap and trends CGIs) Vorlesung: 31 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Installation Nagios Benutzer und Gruppe nagios anlegen Source entpacken und Binary's erstellen mit make install installieren Webinterface konfigurieren für den Zugriff Nagios-Plugin Binary's erstellen und installieren Konfigurationsdateien anpassen Nagios-Dienst starten http://localhost/nagios/ Vorlesung: 32 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Konfiguration / Host Hostdefinition define host{ use generic-host ; Inherit default values from a template host_name remotehost ; Name des Hosts, frei Wählbar alias Remote Host ; längerer Name für den Host Beschreibung address 192.168.1.50 ; IP-Adresse hostgroups allhosts ; Host-Group zu der der Host gehört } Hostgroup define hostgroup{ hostgroup_name novell-servers alias Novell Servers members netware1,netware2,netware3,netware4 } Vorlesung: 33 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Konfiguration / Service Servicedefinition define service{ use generic-service ;Inherit default values from a template host_name remotehost ;Name des Rechners service_description HTTP ;Bezeichnung des Dienstes frei Wählbar check_command check_http ;Kommando was ausgeführt werden soll } check_http muss in der Datei comands.cfg definiert sein Servicegroup define servicegroup{ servicegroup_name dbservices alias Database Services members ms1,SQL Server,ms1,SQL Server Agent,ms1,SQL DTC } Vorlesung: 34 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Konfiguration / Command Commanddefinition define command{ command_name check_pop command_line /usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$ } command_name frei wählbarer name command_line Script oder Anwendung die ausgeführt werden soll Vorlesung: 35 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Installation NDOMOD Voraussetzung NDOMOD Datenbankmodul MySQL installiert und konfiguriert Binary's aus Source erstellen und installieren Datenbank anlegen Konfigurationsdatei in Nagios-Verzeichnis Nagios-Konfiguration anpassen NDO2DB-Dienst starten Alle verfügbaren Daten von Nagios werden in die Datenbank geschrieben Vorlesung: 36 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring NagvisInstallation in das Verzeichnis Nagios Share nagvis.ini.php anpassen Nagvis-Maps werden mittels Webinterface bearbeitet Hosts und Services werden in Maps dargestellt Bilder können in die Maps geladen werden Mouse-Over Anzeige kann mittels HTML und CSS konfiguriert werden Vorlesung: 37 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Nagvis - Was ist ein Map ist eine Seite (ein Objekt) zur Darstellung einer Situation und enthält ein Bild als Hintergrund Zu Überwachende Elemente sind in Nagios konfiguriert Hosts oder Hostgroups Services oder Servicegroups Linien-Elemente zur Darstellung von Zuständen Spezielle Elemente Shapes – kleine Bilder zur Darstellung Textboxes - Beschriftungselemente Vorlesung: 38 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring Nagvis - Elemente eines Map Maps Hosts, Hostgroups Services, Servicegroups Shapes Textboxes Lines Vorlesung: 39 Betriebssysteme 2008 Prof. Dr. G. Hellberg Montoring Nagvis - Gestaltung eines Map am Beispiel eines Service-Maps als Hintergrund wird eine leere Grafik verwendet als erstes muss ein neues Map erstellt werden einfügen eines Shape (Computerbild) einfügen des Icons(Zustandsanzeige) für den Host einfügen der Icons für die Dienste Konfiguration der Anzeige des Textfeldes für den Dienst (die verwendete Variable [output] zeigt die Ausgabe des letzten Checks) Beschriften der Dienste mit Textbox-Elementen Vorlesung: 40 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 41 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 42 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 43 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 44 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 45 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 46 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 47 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 48 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 49 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 50 Betriebssysteme 2008 Prof. Dr. G. Hellberg Nagvis - Webinterface Vorlesung: 51 Betriebssysteme 2008 Prof. Dr. G. Hellberg Monitoring The End Vorlesung: 52 Betriebssysteme 2008 Prof. Dr. G. Hellberg ENDE Fragen? Vorlesung: 53 Betriebssysteme 2008 Prof. Dr. G. Hellberg