530 likes | 658 Views
Vorlesung: Betriebssysteme Monitoring (Teil II) 3. Quartal 2008. Studiengang Informatik FHDW. 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?.
E N D
Vorlesung: Betriebssysteme Monitoring (Teil II) 3. Quartal 2008 Studiengang Informatik FHDW
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?
Monitoring Was soll überwacht werden? • Geräte • Computer • Drucker • Switches, Router • Anwendungen, Dienste • HTTP, FTP, SSH • logische Systeme • Cluster
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)
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
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
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“
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
Monitoring • Was ist Nagios • Was kann Nagios • Wie funktioniert Nagios • Plugins • Addons • Warum mit Nagios • Warum mit Nagios in die Zukunft
Monitoring Was ist Nagios- • ist 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
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.
Monitoring Wie funktioniert Nagios- • Die Komponenten im Zusammenspiel
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
Monitoring Nagios - Konfigurationsaufbau
Monitoring Elemente der Konfiguration von Nagios- • Services, Service Groups • Hosts, Host Groups • Contacts, Contact Groups • Commands • Time Periods • Notification Escalations • Notification and Execution Dependencies
Monitoring Konfigurationsaufbau- • Konfigurationsdatei 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
Monitoring Service überwachen- • z.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
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
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
Monitoring Überwachung mittels SNMP • Drucker, Router, Switches werden mittels SNMP überwacht • check_hpdjd -H IP-Adresse -c Statusabfrage
Monitoring Überwachung von Switches und Routern • check_snmp -H IP-Adresse -c Statusabfrage • MRTG (multi router traffic grapher) Traffic Monitoring wenn verfügbar
Monitoring Überwachung mittels Passiver Checks • NSCA (nagios service check acceptor) wird auf Nagios-Server 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)
Monitoring • Host- und Servicegroups • Hostgroups dienen zur Zusammenfassung mehrerer Hosts zu einer logischen Einheit • Servicegroups dienenzur Zusammenfassung von Diensten eines oder mehrerer Hosts zu einer logischen Einheit
Monitoring Benachrichtigungen (Notifications) • Benachrichtigung an Kontakte und oder Gruppen so häufig wie konfiguriert • Angabe von Zeiten wann, wer benachrichtigt wird möglich
Monitoring Geplante Serviceleistungen (Scheduled Downtime) • Festlegung wann undwie lange ein Host oderein Service nichtErreichbar ist • es werden keine Alarmeausgegeben oderBenachrichtigungenverschickt
Monitoring Addon NDOMOD- • Modul zum Speichern aller Informationen aus Nagios in einer Datenbank • MySQL (PostgrSQL in Arbeit) • Notwendig für Benutzung von Nagvis
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
Monitoring Warum mit Nagios in die Zukunft? • Kost nix • einfach Erweiterbar Plugins / Addons • hohe Sicherheit da Open Source • stetige Entwicklung durch die Nagios-Gemeinde
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)
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/
Monitoring Konfiguration / Host • Hostdefinition define host{use generic-host ; Inherit default values from a templatehost_name remotehost ; Name des Hosts, frei Wählbaralias Remote Host ; längerer Name für den Host Beschreibung address 192.168.1.50 ; IP-Adressehostgroups allhosts ; Host-Group zu der der Host gehört} • Hostgroup define hostgroup{hostgroup_name novell-serversalias Novell Serversmembers netware1,netware2,netware3,netware4}
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 }
Monitoring Konfiguration / Command • Commanddefinition define command{command_name check_popcommand_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
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
Monitoring Nagvis- • Installation 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
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
Monitoring Nagvis - Elemente eines Map • Maps • Hosts, Hostgroups • Services, Servicegroups • Shapes • Textboxes • Lines
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