Zabbix ist ein Monitoringsystem und dient der Überwachung von IT-Systemen und IT-Infrastrukturen. Das System registriert und alarmiert bei Fehlern, Störungen oder Vorfällen in der überwachten IT-Infrastruktur. Es ist eine opensource Software und hat eine starke, aktive und wachsende Community. Die erfassten Daten werden bei Zabbix in einer Datenbank abgelegt und können (je nach Aufbewahrungszeit) in vielen Formaten abgefragt werden.
Mit diesem Guide möchten wir dabei unterstützen, ein sinnvolles Sizing der für Zabbix bereitzustellenden Ressourcen zu ermitteln. Das Zabbix-Sizing richtet sich an der Größe der zu überwachenden IT-Infrastruktur aus.
Bitte beachten Sie zu diesem Guide auch die Hinweise in der offiziellen Dokumentation von Zabbix.
Die nachfolgende Tabelle listet Sizingbeispiele für Zabbixinstallationen auf. Diese basieren auf unseren Erfahrungswerten aus Kundenumgebungen. Im Calculator werden wir den Fokus eher auf die Anzahl an Hosts, Items und Eventaufbewahrung legen und dadurch den Speicherplatz der Datenbank hochrechnen können.
| Name | Platform | CPU/Memory | Database | Monitored hosts |
|---|---|---|---|---|
| Small | CentOS | Virtual Appliance | MySQL InnoDB | 100 |
| Medium | CentOS | 2 CPU cores / 2GB | MySQL InnoDB | 500 |
| Large | CentOS | 4 CPU cores / 8GB | RAID10 MySQL InnoDB or PostgreSQL Ggf. Cluster |
>1000 |
| Very large | CentOS | 8 CPU cores / 16GB | Fast RAID10 MySQL InnoDB or PostgreSQL Ggf. Cluster |
>10000 |
Zabbixinstallationen können auch virtuell betrieben werden, die CPU Cores und der Arbeitspeicher sollten dann an die Größe der Installation angepasst sein. In Kundensituationen hat sich gezeigt, dass ab einer gewissen Anzahl an Checks (Zabbixitems) die Datenbank auf einem SSD oder Flashspeicher betrieben werden sollte. Die erhöhten Lese- und Schreibzugriffe können sonst zu vermehrten Performanceeinbußen führen. Es hängt davon ab, wie viele Items pro Minute geprüft werden und ob die Architektur Zabbix-Proxy-Server vorsieht oder nicht.
Vorteile
Nachteile
Zabbix ist in seinem Aufbau sehr flexibel und anpassbar. Je nach Wunsch kann Zabbix mit allen Services auf einem oder verteilt auf mehreren Systemen installiert werden. Hierfür setzt Zabbix verschiedene Rollen ein:
In großen Umgebungen kann es von Vorteil sein, die Installation der Rollen auf unterschiedliche Systeme zu verlagern. Jede der oben genannten Rollen wird hierbei auf unterschiedliche Systeme verteilt. Weiter kann der Webserver auf mehrere Systeme verteilt werden, um zum Beispiel API- und Benutzerzugriffe zu trennen. Die Datenbank kann ebenfalls auf einen Datenbank-Cluster installiert werden. Dies setzt dann noch einen Loadbalancer für den DB Zugriff voraus. Der Webserver könnte ebenfalls hinter einem Loadbalancer platziert werden.
Hinweis: Aktuell gibt es noch keine inhärente Clusterfunktionalität des Zabbixservers. Es ist aber möglich eine Clusterinstallation via Drittherstellern und Loadbalancern aufzubauen.
Hierzu gibt es auch einen Artikel im Zabbix Blog: Zabbix HA Cluster Setups
Hinweis: Die Abbildung ist lediglich ein Beispiel für eine große und leicht skalierbare Installation. Aus unserer Erfahrung ist diese Form der Installation erst ab 1.000.000 Items oder bei dediziert zu betreibenden Services sinnvoll.
Zabbix kann über die Repositories des jeweils gewünschten Releases direkt von Zabbix im gewählten Linux-Betriebssystem konfiguriert gewerden. Dazu folgen Sie einfach den Hinweisen in der offiziellen Dokumentation.
Die Installation über die jeweiligen Paketmanager, sowie die Konfiguration der entsprechenden Pakete können Sie ebenfalls der offiziellen Installationsdokumentation entnehmen.
Um die Installation vom Zabbixserver zu vereinfachen, haben wir diese automatisiert. Das Installationsscript stellen wir gerne zur Verfügung.