Einführung in Open Source Monitoring mit Zabbix Zabbix ist ein eingetragenes Warenzeichen der Zabbix SIA, Riga
Was ist System Monitoring? Überwachen von Zuständen jeglicher Art Ist ein Service verfügbar Wie lange ist ein Ticket im Status Waiting Wieviel Kapazität ist auf dem NAS vorhanden Auslösen (Triggern) bei Überschreitung von Schwellwerten Senden einer SMS an verantwortliche Person Neustart eines Dienstes 13.02.1014 Autor: Christoph Zapp Seite 2 von 33
Was ist Zabbix? enterprise-class open source distributed monitoring solution Zitat Zabbix Manual Efektive und mächtige Monitoring-Lösung für komplexe Überwachungsaufgaben Skaliert vom Single-Zabbix-Server bis zur Multi-Tier- Architektur Kann alle Plattformen und Geräte überwachen Kann sich mit kommerziellen Produkten messen 13.02.1014 Autor: Christoph Zapp Seite 3 von 33
Historie entwickelt Alexei Vladishev, CEO Zabbix SIA, Riga 1998 - entstanden aus der Idee eine besseres Monitoringtool zu entwickeln 2001 - erste Alpha-Version mit dem Namen Zabbix veröfentlicht 2013 Zabbix 2.2 released Zabbix SIA, Riga (2005 gegründet) bietet professionellen Support und Services Veranstaltet jährlich Zabbix-Konferenzen (siehe youtube) 13.02.1014 Autor: Christoph Zapp Seite 4 von 33
Life Cycle und Release Planung Bildquelle: www.zabbix.com/life_cycle_and_release_policy.php 13.02.1014 Autor: Christoph Zapp Seite 5 von 33
Installation des Zabbix Server Neueste Version (zabbix-2.2.2.tar.gz, Stand 12.02.2014) www.zabbix.com/download.php configure, make und make install Repositories für RPM- bzw DEB-basierte Distros CentOS 6: zabbix20-server-mysql.x86_64 2.2.1-5.el6 Ubuntu 12.04 LTS: zabbix-server-mysql 1:2.2-1+precise Installationshilfe www.zabbix.com/documentation lab4.org/wiki/zabbix_handbuch_inhaltsverzeichnis 13.02.1014 Autor: Christoph Zapp Seite 6 von 33
Installation des Zabbix Agenten Neueste Version (zabbix-2.2.2.tar.gz, Stand 12.02.2014) ist im Paket des Servers enthalten (dadurch funktionieren die neuesten Feat.) configure, make und make install Repositories für RPM- bzw DEB-basierte Distros CentOS 6 Debian, Ubuntu Vorkompilierte Versionen Windows (all), AIX, HP-UX, Solaris, OpenBSD, FreeBSD, NetBSD www.zabbix.com/download 13.02.1014 Autor: Christoph Zapp Seite 7 von 33
Architektur von Zabbix 13.02.1014 Autor: Christoph Zapp Seite 8 von 33
Monitor Everything Zabbix Agent Hardware - IPMI Agentless Monitoring Datenbank Monitoring SNMP Agent Calculated Monitoring VMware Monitoring Interne Checks eigene Skripte nativer JMX-Support Web Monitoring 13.02.1014 Autor: Christoph Zapp Seite 9 von 33
Zabbix Server Zabbix Daemon (programmiert in C, auf Performance optimiert) Webfrontend (Apache/PHP) Zabbix Datenbank (postgres, mysql, oracle) zentrale Komponente des Monitorings hält gesamte Konfiguration vor 13.02.1014 Autor: Christoph Zapp Seite 10 von 33
Zabbix Agent Dienst, der auf überwachten Host läuft einfachste Art Daten zu sammeln enthält keine Monitoringkonfiguration agent_sender kann Daten an Zabbix-Server senden agent_get dient dem Testen des Agenten 13.02.1014 Autor: Christoph Zapp Seite 11 von 33
Zabbix Proxy verteilten, segmentierten Netzwerken über Firewalls => ofene Ports Routing => benötigt weniger Routen Proxy überwacht eine Gruppe von Hosts Proxy führt alle Checks aus Proxy speichert Daten in eigener Pufer-DB löscht nach Datenübertragung die eigenen Messdaten Sqlite empfohlen 13.02.1014 Autor: Christoph Zapp Seite 12 von 33
Wie arbeitet Zabbix? Daten erfassen SSL-Zertikat 29 Tage gültig Warning!!! SSL-Zerticate expieres in 29 days Benachrichtigung oder automatische Aktion Sende Email Warning: if SSL-Zertikat valid time < 30 days Zabbix Logik 13.02.1014 Autor: Christoph Zapp Seite 13 von 33
Host das Überwachungsobjekt jedes überwachte Gerät ist ein Host jeder Host benötigt eine IP-Adresse Strukturierung mittels Hostgruppen Templates 13.02.1014 Autor: Christoph Zapp Seite 14 von 33
Item - der Sensor Item ist der Datensammler für Meßdaten ohne Items kein Monitoring Kann keine Aktion veranlassen Item können konfiguriert werden Hosts (DRY, don't repeat yourself) Templates 13.02.1014 Autor: Christoph Zapp Seite 15 von 33
Trigger der Auslöser Auswertung der Daten erfolgt mittels Trigger Ergebnis wird mit Schwellwert verglichen Triggerwerte true => Schwellwert erreicht bzw. überschritten false => Schwellwert nicht erreicht Auswertung sofort => SSL-Zertifikats, Tage bis zum Ablauf Funktion => Durchschnittsbelastung CPU über 5 Min. 13.02.1014 Autor: Christoph Zapp Seite 16 von 33
Action der Macher Alarmierung / Notifikation fehlt in Konfiguration universaler Ansatz eines Alarms Trigger lösen Aktion aus Aktion Senden einer Nachricht Ausführen eines Kommandos 13.02.1014 Autor: Christoph Zapp Seite 17 von 33
Medien Sie haben Post Definiert den Benachrichtigungskanal Mail via Mailrelay SMS via GSM-Modem Jabber (XMPP) Ohne definierte Medien keine Benachrichtigung!!! 13.02.1014 Autor: Christoph Zapp Seite 18 von 33
Templates effizientes Konfigurieren DRY Don't repeat yourself!! Strukturiert Items, Trigger und Graphen (Livedemo) Template wird Host zugewiesen Fertige Templates: Linux Windows SNMP für Switche 13.02.1014 Autor: Christoph Zapp Seite 19 von 33
Low Level Dicovery - LLD ab Zabbix-Version 2.0 möglich Automatisches Hinzufügen von Items wird über eine Discovery Rule definiert werksseitige Discovery Rules: vfs.fs.discovery => suche alle FS und erzeuge Items net.if.discovery => suche alle NIC und erzeuge Items genial bei Netzwerkkomponenten wie Switches bei Windows Server werden zuviele Items erzeugt 13.02.1014 Autor: Christoph Zapp Seite 20 von 33
Das Webfrontend 13.02.1014 Autor: Christoph Zapp Seite 21 von 33
Live Demo Erste Schritte im Zabbix 13.02.1014 Autor: Christoph Zapp Seite 22 von 33
Zabbix Build-in-Features Graphen => Visualisierung der Meßdaten Maps => Visualisierung der Infrastruktur Anbindung an ITSM Maintenance => Definition von Wartungsfenstern Je Incident eine Mail => einfache Anbindung an Ticketsystem 13.02.1014 Autor: Christoph Zapp Seite 23 von 33
Sender und Trapper Sender als Datenquelle für ein Item zabbix_sender oder zabbix_sender.exe (Win) unabhängig vom Zabbix Agent sendet selbständig und ohne Aktion vom Server ideal bei Cronjobs, Skripten (beispielw. Backup) bzw. gleichzeitigen Update von mehreren Items Trapper empfängt die Daten auf dem Server/Proxy 13.02.1014 Autor: Christoph Zapp Seite 24 von 33
Automatisch Host hinzufügen - Autoregistration automatische Integration von Hosts Zabbix Agent ist auf neuem Host installiert AutoregistrationTrapper auf dem Server vorhanden Action from Autoregistration sende Mail Zuordnung zur Hostgroup Zuordnung zu Template aktviert sofortiges Monitoring!!! nur Zuweisung von allgemeinen Templates möglich 13.02.1014 Autor: Christoph Zapp Seite 25 von 33
Automatisch Host hinzufügen - Hostdiscovery automatische Integration von Hosts besteht aus zwei Funktionen Scannen des Netzwerks (Range 192.168.10.1-255, Netmask 192.168.10.0/24, etc. ) Aktion für gefundene Hosts (Zuweisung von Templates) Es werden Merkmale definiert anhand derer ein neuer Host eindeutig identifiziert werden kann Beispiel: postfix lauscht auf Port 25 => Mailserver Discovery bietet mehr Funktion als Autoregistration 13.02.1014 Autor: Christoph Zapp Seite 26 von 33
Externe Erweiterungen Mit eigenen Skripten (bash, perl, python) Third Party Produkte (http://www.zabbix.com/third_party_tools.php) Postbix => Java-Plugin für Postgres-Monitoring Orabix => Java-Plugin für Oracle-Monitoring PyZabbix => Python-API für Zabbix RealOpInsight => Business Process Monitoring 13.02.1014 Autor: Christoph Zapp Seite 27 von 33
Frontend Apps für mobile Endgeräte ZBXmobile kostenlos bis 10 Hosts ZBXmobile Pro (1,79 ) einfache Bedienung Anzeige von Graphen ist Mäusekino 13.02.1014 Autor: Christoph Zapp Seite 28 von 33
Frontend Apps für mobile Endgeräte Jabber-Client monal einfache Bedienung meine Empfehlung 13.02.1014 Autor: Christoph Zapp Seite 29 von 33
Zabbix für große Umgebungen horizontale Skalierung Lastverteilung Hochverfügbarkeit Unterstützung von nosql-db für Performance 13.02.1014 Autor: Christoph Zapp Seite 30 von 33
Zabbix für große Umgebungen vertikale Skalierung verteiltes Monitoring Meßwerte Konfiguration Standorte/Abteilungen Zabbix Master Zabbix Node Parent-Child-Beziehung 13.02.1014 Autor: Christoph Zapp Seite 31 von 33
Fragen?... 13.02.1014 Autor: Christoph Zapp Seite 32 von 33
Impressum Herausgeber Christoph Zapp zapp-it.com christoph zapp Schulstraße 16 Lizenz Diese Präsentation steht unter einer CC-BY-ND-3.0-Lizenz. Der Autor soll wie folgt genannt werden: by Christoph Zapp, im Auftrag von zapp-it.com christoph zapp, http://www.zapp-it.com 67304 Eisenberg www.zapp-it.com Veröfentlicht 2014 Copyright 2014 Christoph Zapp Diese Lizenz erlaubt die Weiterverbreitung dieses Dokumentes, kommerziell wie nicht-kommerziell, solange dies ohne Veränderungen und vollständig geschieht und der Autor als Urheber genannt wird. Details zur Lizenz erfahren Sie unter : http://creativecommons.org/licenses/by-nd/3.0/de/. 13.02.1014 Autor: Christoph Zapp Seite 33 von 33