System Requirements
Requirements
Zabbix stellt bestimmte Anforderungen an Hardware und Software, die sich im Laufe der Zeit ändern können. Sie hängen außerdem von der Größe der Umgebung und dem gewählten Software-Stack ab. Prüfen Sie vor dem Kauf von Hardware oder der Installation einer Datenbankversion die aktuellen Anforderungen für die vorgesehene Zabbix-Version in der Dokumentation: https://www.zabbix.com/documentation/current/en/manual/installation/requirements. Wählen Sie in der Liste die richtige Zabbix-Version aus.
Für kleine oder Testumgebungen genügen meist 2 CPUs und 8 GB RAM. Die benötigten Ressourcen hängen jedoch von der Größe der Umgebung, der Anzahl überwachter Items und Trigger sowie der Aufbewahrungsdauer der Daten ab. Beginnen Sie in virtuellen Umgebungen klein und erweitern Sie die Ressourcen bei Bedarf.
Sie können alle Komponenten (Zabbix-Server, Datenbank und Webserver) auf einem System installieren oder auf mehrere Server verteilen. Notieren Sie die Daten:
| Component | IP Address |
|---|---|
| Zabbix Server | |
| Database Server | |
| Web Server |
Tip
Paketnamen von Zabbix verwenden häufig Bindestriche (-), etwa zabbix-get
oder zabbix-sender. Die Binärdateien können dagegen Unterstriche (_)
verwenden, etwa zabbix_sender oder zabbix_server. Dieser Unterschied kann
besonders bei Paketen aus inoffiziellen Zabbix-Repositorys verwirrend sein.
Prüfen Sie bei der Fehlersuche immer die Schreibweise des Binärnamens.
Warning
Ab Zabbix 7.2 werden nur MySQL einschließlich seiner Forks und PostgreSQL als Backend-Datenbanken unterstützt. Oracle Database wurde zuletzt von Zabbix 7.0 LTS offiziell unterstützt.
Basic OS Configuration
Es gibt viele Betriebssysteme mit eigenen Vorteilen. Zabbix lässt sich auf zahlreichen Plattformen installieren, doch eine Beschreibung für jedes System wäre unpraktisch. Dieses Buch behandelt daher Ubuntu sowie Distributionen auf Basis von Red Hat und SUSE.
Da nicht jeder über ein Abonnement für Red Hat Enterprise Linux (RHEL) oder SUSE Linux Enterprise Server (SLES) verfügt, verwenden wir Rocky Linux beziehungsweise openSUSE Leap als frei verfügbare Alternativen. Zum Einsatz kommen Rocky Linux 9.x, openSUSE Leap 16 und Ubuntu LTS 24.04.x.
Note
Die Installation des Betriebssystems ist nicht Bestandteil dieses Buches. Eine Standard- oder Minimalinstallation genügt. Installieren Sie keine grafische Oberfläche oder Desktop-Umgebung, da diese auf Servern unnötig ist und Ressourcen verbraucht.
Nach der Installation sind einige grundlegende Einstellungen erforderlich. Führen Sie die folgenden Schritte auf allen Servern aus, die Zabbix-Komponenten hosten: Zabbix-Server, Datenbankserver und Webserver.
System aktualisieren
Aktualisieren Sie das Betriebssystem vor der Installation von Zabbix oder anderer Software. Aktuelle Patches und Sicherheitskorrekturen verbessern Stabilität und Kompatibilität. Dies gilt auch für eine kürzlich installierte Umgebung.
Verwenden Sie den Befehl für Ihr Betriebssystem:
System aktualisieren
Red Hat
SUSE
Ubuntu
Was sind apt, dnf und zypper?
- DNF ist der Paketmanager aktueller Red-Hat-basierter Systeme (
dnf). - ZYpp ist der Paketmanager SUSE-basierter Systeme (
zypper). - APT ist der Paketmanager Debian-/Ubuntu-basierter Systeme (
apt).
Verwenden Sie bei anderen Distributionen den passenden Paketmanager, etwa
yum, pacman, emerge oder apk.
Auch Paketnamen können je nach Distribution abweichen.
Tip
Regelmäßige Updates sind für Sicherheit und Leistung wichtig. Richten Sie automatische Updates oder regelmäßige Wartungsfenster ein.
Sudo
Zabbix-Prozesse wie Server und Agent laufen standardmäßig unter eigenen,
nicht privilegierten Konten, etwa zabbix. Für benutzerdefinierte Skripte oder
administrative Aufgaben können jedoch erhöhte Rechte erforderlich sein.
sudo ist meist vorhanden, kann bei einer Minimalinstallation jedoch fehlen.
Damit kann der Zabbix-Benutzer gezielt konfigurierte Befehle mit erhöhten Rechten ausführen, ohne vollständig zum Benutzer root zu wechseln.
Was ist sudo?
sudo erlaubt autorisierten Benutzern, Befehle mit den Rechten eines anderen
Benutzers, üblicherweise root, auszuführen. So lassen sich administrative
Aufgaben ohne direkte root-Anmeldung erledigen.
Installieren Sie sudo mit dem passenden Befehl:
sudo installieren
Red Hat
SUSE
Ubuntu
Unter Ubuntu ist sudo normalerweise vorinstalliert. Der während der
Installation angelegte Benutzer erhält darüber root-Rechte.
Ist sudo bereits aktuell, meldet der Paketmanager dies; andernfalls wird es installiert.
Firewall
Stellen Sie als Nächstes sicher, dass die Firewall installiert und konfiguriert ist. Sie schützt den Server anhand festgelegter Regeln vor unbefugtem Zugriff und kontrolliert ein- und ausgehenden Netzwerkverkehr.
Installieren und aktivieren Sie die Firewall wie folgt:
Firewall installieren und aktivieren
Red Hat
SUSEUbuntu
Was sind firewalld und ufw?
Firewalld ersetzt iptables auf RHEL- und SUSE-basierten Systemen. Änderungen werden ohne Neustart wirksam. Nutzt Ihre Distribution https://www.firewalld.org nicht, beachten Sie deren Dokumentation. Ubuntu verwendet UFW als Oberfläche für iptables.
In den nächsten Kapiteln öffnen wir bestimmte Ports für die Kommunikation der Zabbix-Komponenten.
Alternativ können Sie eigene Firewall-Zonen für bestimmte Anwendungsfälle definieren. Dies isoliert Dienste und beschränkt den Zugriff nach Vertrauensstufe.
Prüfen Sie die erstellte Zone:
Erstellung der Zone prüfen
Firewalld-Zonen erhöhen Sicherheit und Flexibilität und vereinfachen die Verwaltung:
- Granular Access Control :
- Schnittstellen und IP-Bereiche können unterschiedliche Vertrauensstufen erhalten. So legen Sie fest, welche Systeme PostgreSQL erreichen dürfen.
- Simplified Rule management:
- Zonen gruppieren Regeln übersichtlich nach Anwendungsfall und ersetzen komplexe manuelle iptables-Regeln.
- Enhanced security:
- Eine Anwendung kann auf eine Zone beschränkt werden, um unbefugte Verbindungen aus anderen Netzen zu verhindern.
- Dynamische Konfiguration:
- Firewalld unterstützt Laufzeit- und permanente Regeln, ohne bestehende Verbindungen zu unterbrechen.
- Multi-Interface support:
- Für mehrere Netzwerkschnittstellen können unterschiedliche Richtlinien gelten.
Eine vollständige Zone für PostgreSQL sieht beispielsweise so aus:
Firewalld-Zone für PostgreSQL-Datenbankzugriff
Die Quell-IP ist dabei die einzige Adresse mit Datenbankzugriff.
Passen Sie bei Verwendung von Zonen die Anweisungen der folgenden Kapitel an.
Time Server
Ein weiterer wichtiger Schritt ist die Zeitsynchronisation des Zabbix-Servers über einen NTP-Client. Eine korrekte Uhrzeit ist für Server und überwachte Geräte entscheidend. Falsche Zeitzonen erschweren die zeitliche Einordnung von Problemen.
Installieren und aktivieren Sie Chrony als NTP-Client:
NTP-Client installieren
Red Hat
SUSE
Ubuntu
Prüfen Sie anschließend den Status von Chrony:
what is Chrony
Chrony ist ein moderner Ersatz für ntpd und synchronisiert schneller und
genauer. Unterstützt Ihre OS
https://chrony-project.org/ nicht, verwenden
Sie stattdessen ntpd.
Stellen Sie danach die richtige Zeitzone ein. Die aktuelle Konfiguration zeigt
timedatectl an:
Zeitkonfiguration prüfen
Vergewissern Sie sich, dass Chrony aktiv ist. Listen Sie die verfügbaren Zeitzonen auf:
Wählen Sie aus der Liste die passende Zeitzone, zum Beispiel:
Verfügbare Zeitzonen
Konfigurieren Sie die gewählte Zeitzone:
Prüfen Sie die Einstellung erneut mit timedatectl:
Uhrzeit und Zeitzone prüfen
Note
Manche Administratoren betreiben alle Server in UTC, damit Protokolle einer globalen Umgebung synchron bleiben. Zabbix unterstützt benutzerspezifische Zeitzonen: Der Server bleibt in UTC, während Benutzer ihre Zeitzone in der Oberfläche einstellen.
Verifying Chrony Synchronization
Prüfen Sie die Synchronisation mit den richtigen Zeitservern:
Die Ausgabe sollte wie folgt aussehen:
Chrony-Ausgabe prüfen
localhost:~ # chronyc
chrony version 4.2
Copyright (C) 1997-2003, 2007, 2009-2021 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY. This is free software, and
you are welcome to redistribute it under certain conditions. See the
GNU General Public License version 2 for details.
chronyc>
Geben Sie in der Chrony-Eingabeaufforderung sources ein:
Beispielausgabe:
Zeitquellen prüfen
chronyc> sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 51-15-20-83.rev.poneytel> 2 9 377 354 +429us[ +429us] +/- 342ms
^- 5.255.99.180 2 10 377 620 +7424us[+7424us] +/- 37ms
^- hachi.paina.net 2 10 377 412 +445us[ +445us] +/- 39ms
^* leontp1.office.panq.nl 1 10 377 904 +6806ns[ +171us] +/- 2336us
In diesem Beispiel liegen die NTP-Server außerhalb der Region. Verwenden Sie möglichst Server in Ihrem Land oder einen unternehmenseigenen Zeitserver. Lokale NTP-Server finden Sie hier: https://www.ntppool.org/.
Updating Time Servers
Ändern Sie für neue Zeitserver die Chrony-Konfiguration:
Chrony-Konfiguration bearbeiten
Red Hat
SUSE
Unter SUSE liegt die Pool-Konfiguration in einer separaten Datei. Bearbeiten Sie diese oder legen Sie im selben Verzeichnis eine neue Datei an. Deaktivieren oder entfernen Sie dann die vorhandene Pool-Konfiguration, um Konflikte zu vermeiden.Ubuntu
Ersetzen Sie den vorhandenen NTP-Pool durch einen näher gelegenen.
Beispiel der aktuellen Konfiguration:
Beispiel einer NTP-Pool-Konfiguration
Ändern Sie den Pool auf einen lokalen Zeitserver:
NTP-Pool-Konfiguration ändern
Starten Sie Chrony neu, um die Änderung anzuwenden:
Verifying Updated Time Servers
Prüfen Sie erneut, ob die lokalen Server verwendet werden:
Beispielausgabe mit lokalen Servern:
Beispielausgabe
chronyc> sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp1.unix-solutions.be 2 6 17 43 -375us[ -676us] +/- 28ms
^* ntp.devrandom.be 2 6 17 43 -579us[ -880us] +/- 2877us
^+ time.cloudflare.com 3 6 17 43 +328us[ +27us] +/- 2620us
^+ time.cloudflare.com 3 6 17 43
Damit verwendet das System nun lokale Zeitserver.
Conclusion
Noch vor der Installation der Zabbix-Pakete muss die Umgebung vorbereitet sein. Ein aktuelles Betriebssystem, die erforderlichen Firewall-Freigaben und eine genaue Zeitsynchronisation bilden die Grundlage. Damit können wir mit der Installation von Zabbix fortfahren.
Questions
- Warum ist eine genaue Zeitsynchronisation für ein Monitoring-System wie Zabbix so wichtig?
- Welcher Schritt folgt als Erstes bei der eigentlichen Zabbix-Installation?
- Welche Ports müssen in der Firewall freigegeben werden, damit Zabbix-Server und Agents miteinander kommunizieren können?