Agenda - 1/30 - Agenda Agenda...1 MARE system...2 Was ist Monitoring?...3 Warum Monitoring?...4 Was kann man überwachen?...5 Webseitenmonitoring...6 Warum Nagios/Icinga?...11 Welche Daten liefert Nagios?...15 serverseitiges Monitoring...20 Monitoring von Diensten + Webapplikationen...22 Wie überwachen?...27 Fragen?...28
MARE system - 2/30 - MARE system http://www.mare system.de/ Hosting Provider für individuelle ECommerce Infrastruktur (Linux) spezialisiert auf Support in den Bereichen Monitoring, Security und Servermanagement Zusammenarbeit mit professionellen Providern im Bereich HA/Clustering
Was ist Monitoring? - 3/30 - Was ist Monitoring? Monitoring ist ein Überbegriff für alle Arten der unmittelbaren systematischen Erfassung (Protokollierung), Beobachtung oder Überwachung eines Vorgangs oder Prozesses mittels technischer Hilfsmittel oder anderer Beobachtungssysteme. Dabei ist die wiederholende Durchführung ein zentrales Element der jeweiligen Untersuchungsprogramme. (Wikipedia) tl;dr: Monitoring jederzeit den Zustand der überwachten Systeme kennen
Warum Monitoring? - 4/30 - Warum Monitoring? abhängig vom Blickwinkel (Admins/Entwickler/Entscheider) Überblick über Infrastruktur Statuswerte Alarmierung bei Ausfall/Problemen Minimieren der Downtime korrelierte Daten für die Analyse von u.a. Ausfällen Performancedaten zur Bewertung der Auslastung / Kapazitätsplanung
Was kann man überwachen? - 5/30 - Was kann man überwachen? Server und Dienste auf Verfügbarkeit, Performance und Funktion (Nagios et al) Einbruchserkennung via Netzwerk und Hostbasierter Intrusion Detection (Snort/Suricata, OSSEC, Splunk, SIEM) Netzwerkverkehr (ntop, nprobe, netflow) Webapplikationen auf Performance und Funktion (Selenium + Nagios) Webseiten auf Reputation und Malware / Einbrüche (WMD, Google Safebrowsing), Webseiten auf Nutzerverhalten (Google Analytics, etracker, awstats)
Webseitenmonitoring - 6/30 - Webseitenmonitoring Webserver Check: testen, ob Port 80 verfügbar Webseiten Check: testen, ob gegebene URLs einen Suchstring beinhalten indirektes Prüfen der Verfügbarkeit des Gesamtsystems (Webserver, DB) kostenlose Dienste für einfache Checks mit Email/SMS Benachrichtigung www.livewatch.de www.serverguard24.de www.serverwatch24.com
Webseitenmonitoring - 7/30 - WebApp Funktionstests mittels diverser Tools Selenium http://seleniumhq.org/ cucumber nagios http://auxesis.github.com/cucumber nagios/ Python/Perl Mechanize Selenium Checks Checks durch volle Browserinstanz (Firefox, IE, Chrome) mit Flash/Javascript auf Windows/OSX/Linux Rechnern komplette Funktionschecks von Webapps möglich (Logins, Klickpfade, Funktionen, Elemente)
Webseitenmonitoring - 8/30 - neben Monitoring auch Einsatz als Werkzeug für Regressionstests, Einsatz und Einbau in Deployments (Hudson) eigene IDE, die als Plugin im Firefox läuft Tests programmierbar in Python, Java, PHP umfangreicheres Setup, zusätzliche Serverinstanz (Selenium Server) mit Desktop/Browser und Javaumgebung notwendig verursacht mehr Last Browsertools Firebug / Yslow Firefox Plugin Sammlung https://addons.mozilla.org/de/firefox/collections/dogtown/firedog/
Webseitenmonitoring - 9/30 - Domains/Webseiten auf Reputation und Malware / Einbrüche MARE system WMD http://www.mare system.de/website online malwarecheck Google Safebrowsing Sucuri http://sucuri.net/ diverse AV Anbieter haben eigene Portale zum manuelen Überprüfen
Webseitenmonitoring - 10/30 - EOF Webmontag Kiel 2013 01 21 die nachfolgenden Sheets stammen aus dem Orioginal Vortrag vom 12.05. 2011 bei NetUSE; weitere Infos dazu siehe http://www.mare system.de/roadshow/
Warum Nagios/Icinga? - 11/30 - Warum Nagios/Icinga? stabile, ausgereifte und sehr gut dokumentierte Lösung (Standard) remote Checks und lokale Checks via NRPE große Anzahl an Plugins, professionelle Community ( > 1700 Plugins @ monitoringexchange.org) eigene Plugins, einfach erweiterbar frei definierbare Werte für Warning/Critical Zustände Checkverhalten anpassbar (Anzahl/Zeit) automatisierte Aktionen via Eventhandler Schnittstellen zu Dokumentations und Ticketsystemen
Warum Nagios/Icinga? - 12/30 - Bestätigung von Alarmen (Acknowledgement) incl. Anmerkungen
Warum Nagios/Icinga? - 13/30 - anpassbares Webinterface, Visualisierungs Addons (Dashboard, Abbildung von RZ/räumlicher Aufteilung) Userverwaltung für das Webinterface (Mandantenfähig) Unterstützung der Admins bei Routineaufgaben / Checklisten Nagios Plugin für Firefox + Chrome NagioSQL Konfigurationsoberfläche für einfache Setups Statuswerte via Weboberfläche zugänglich wie Alert Historie, Verfügbarkeitsübersicht, Trends etc
Warum Nagios/Icinga? - 14/30 -
Warum Nagios/Icinga? - 15/30 -
Welche Daten liefert Nagios? - 16/30 - Welche Daten liefert Nagios? Überblick der Statuswerte (OK/WARNING/CRITICAL) Alarmierungen (Email/SMS) bei Ausfall von Diensten oder Systemen Performance Werte über verschiedene Zeiträume 4h 24h 7Tage 1
Welche Daten liefert Nagios? - 17/30 - Monat 1 Jahr, Lupenfunktion Bsp.: Lastwerte eines DB Servers
Welche Daten liefert Nagios? - 18/30 -
Welche Daten liefert Nagios? - 19/30 - Trends und Reports für Hosts & Dienste
Welche Daten liefert Nagios? - 20/30 -
serverseitiges Monitoring - 21/30 - serverseitiges Monitoring lokale Server Vitalwerte via NRPE/SSH RAM/CPU/Load HD Auslastung RAID/SMART/LVM lokale Sensoren Prozesse Größe/Alter von Dateien 30+ Standard Plugins verfügbar
serverseitiges Monitoring - 22/30 - Bsp: Auslastung einer Partition
Monitoring von Diensten + Webapplikationen - 23/30 - Monitoring von Diensten + Webapplikationen Dienste (lokal oder remote) Verfügbarkeit Zugriffszeiten TCP checks (Port erreichbar) protokollbasierte Checks (SMTP/HTTP/SQL/DNS/IMAP/POP etc pp) Datenbankserver Monitoring
Monitoring von Diensten + Webapplikationen - 24/30 - Webapplikationen (remote) Verfügbarkeit von Web/Appserver und Applikation Zugriffszeiten als Performancewerte grundsätzliche Funktionen (Webserver+DB) Check auf URL + Zeichenketten Verfügbarkeit von dynamischem Inhalten indirekter Datenbank Check einfach zu implementieren SSL / Zertifikate
Monitoring von Diensten + Webapplikationen - 25/30 -
Monitoring von Diensten + Webapplikationen - 26/30 - Bsp: DB Optimierung eines CMS
Monitoring von Diensten + Webapplikationen - 27/30 - Bsp.: Zugriffszeiten einer Webseite (CMS) im Zeitverlauf
Monitoring von Diensten + Webapplikationen - 28/30 - Überwachen einer Applikation mit Nagios + Selenium (remote) Checks durch volle Browserinstanz mit Flash/Javascript Logins, Klickpfade, Funktionen, Elemente neben Monitoring auch Einsatz als Werkzeug für Regressionstests, Einsatz und Einbau in Deployments (Hudson) eigene IDE, die als Plugin im Firefox läuft Tests programmierbar in Python, Java, PHP umfangreicheres Setup, zusätzliche Serverinstanz (Selenium Server) mit Desktop/Browser und Javaumgebung notwendig verursacht mehr Last
Wie überwachen? - 29/30 - Wie überwachen? so viel wie nötig, so oft wie nötig Standard Checks nach Servertyp individuelle Anpassung ans Setup Tuning der Checks Alarmierung und Eskalationszenarien
Fragen? - 30/30 - Fragen?