Zabbix Monitoring Installation auf Ubuntu – Schritt-für-Schritt | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

303 Dokumentationen verfügbar

Wissensdatenbank

Zabbix Monitoring Installation Anleitung

Zuletzt aktualisiert: 05.04.2026 um 19:42 Uhr

Zabbix Monitoring Installation auf Ubuntu – Schritt-für-Schritt

Was ist Zabbix?

Zabbix ist eine Enterprise-Grade Monitoring-Lösung für Infrastruktur-Überwachung. Es kombiniert agentenloses Monitoring (SNMP, HTTP, ICMP) mit Agent-basiertem Monitoring für tiefere Einblicke in Systemmetriken, Logdateien und benutzerdefinierten Checks.

Architektur-Komponenten

  • Zabbix Server: Zentrale Komponente, verarbeitet Daten, triggert Alarme
  • Zabbix Proxy: Optional für dezentrale Überwachung großer Netzwerke
  • Zabbix Agent: Läuft auf zu überwachenden Hosts, sammelt Metriken
  • Zabbix Frontend: Web-Interface für Konfiguration und Dashboards
  • Datenbank: MySQL/PostgreSQL zur Speicherung von Metriken und Konfiguration
💡 Tipp: Zabbix benötigt mehr Ressourcen als Prometheus, bietet aber mehr Features wie Service Mapping und Complex Triggers out-of-the-box.

Installation auf Ubuntu 22.04

Schritt 1: Repository und Pakete hinzufügen

sudo apt update
sudo apt install -y wget gnupg2

# Zabbix-Repository-Paket für Ubuntu 22.04
wget https://repo.zabbix.com/zabbix-release/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb

sudo apt update

Schritt 2: Notwendige Komponenten installieren

sudo apt install -y \
  zabbix-server-mysql \
  zabbix-frontend-php \
  zabbix-apache-conf \
  zabbix-sql-scripts \
  zabbix-agent2 \
  mysql-server \
  php-mysql \
  php-gd \
  php-bcmath \
  php-net-socket \
  php-mbstring

Schritt 3: MySQL-Datenbank einrichten

sudo mysql -u root << 'EOF'
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password_123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
EOF
⚠️ Wichtig: Das Standard-Passwort "zabbix_password_123" muss unbedingt in Produktionsumgebungen geändert werden!

Schritt 4: SQL-Schema importieren

sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
# Passwort eingeben: zabbix_password_123

Schritt 5: Zabbix Server konfigurieren

Datei: /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix_password_123
DBPort=3306

ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
DebugLevel=3
MaxHousekeeperDelete=5000
CacheSize=256M
HistoryCacheSize=32M
HistoryIndexCacheSize=8M
TrendCacheSize=16M
ValueCacheSize=32M

# Für Performance-Optimierung bei vielen Hosts
StartPollers=10
StartUnreachablePollers=2
StartTrappers=5
StartPingers=4

Schritt 6: PHP für Zabbix konfigurieren

Datei: /etc/php/8.1/fpm/conf.d/99-zabbix.ini oder /etc/php/8.1/apache2/conf.d/99-zabbix.ini

max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = "Europe/Berlin"

Schritt 7: Services starten und aktivieren

sudo systemctl start mysql
sudo systemctl start zabbix-server
sudo systemctl start zabbix-agent2
sudo systemctl start apache2

# Beim Booten starten
sudo systemctl enable mysql zabbix-server zabbix-agent2 apache2

Schritt 8: Web-Setup-Wizard

Öffnen Sie: http://localhost/zabbix

Der Wizard führt Sie durch:

  • Check der PHP-Einstellungen
  • Datenbank-Verbindung (localhost, zabbix, zabbix_password_123, zabbix)
  • Server-Details
  • Admin-Benutzer-Einrichtung (Standard: Admin/zabbix)
✅ Gut zu wissen: Nach erfolgreichem Setup wird die Datei /etc/zabbix/web/zabbix.conf.php automatisch erstellt. Diese nicht manuell bearbeiten.

Ersten Host mit Zabbix Agent hinzufügen

Agent auf dem zu überwachenden Host installieren

# Auf dem Client-Host (z.B. webserver.example.com)
sudo apt install -y zabbix-agent2

# Konfiguration: /etc/zabbix/zabbix_agent2.conf
Server=zabbix-server.example.com  # IP oder Hostname des Zabbix-Servers
ListenPort=10050
Hostname=webserver-01              # Muss im Zabbix-Frontend konfiguriert werden

sudo systemctl start zabbix-agent2
sudo systemctl enable zabbix-agent2

Host im Frontend hinzufügen

  1. Zabbix Web-UI öffnen → Data Collection → Hosts
  2. Click "Create Host"
  3. Host name: webserver-01
  4. Visible name: Web Server 01
  5. Host groups: Linux servers
  6. Agent interfaces: IP 192.168.1.100, Port 10050
  7. Templates: Und dann "Linux by Zabbix agent" Template auswählen
  8. Save

Einfacher Availability Trigger erstellen

Im Frontend:

  1. Monitoring → Hosts → webserver-01
  2. Tab "Triggers" → Create trigger
  3. Name: "Host webserver-01 is down"
  4. Severity: High
  5. Expression: {webserver-01:agent.ping.nodata(3m)}=1
  6. Diese Expression triggert wenn der Agent 3 Minuten keine Daten sendet
  7. Save

Verfügbarkeit überprüfen

# Im Zabbix Frontend oder per API
curl -X POST http://localhost/api_jsonrpc.php \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"trigger.get","params":{"filter":{"host":"webserver-01"}},"auth":"YOUR_AUTH_TOKEN","id":1}'

Features-Vergleich: Zabbix vs. Prometheus/Grafana

Feature Zabbix Prometheus Grafana
Monitoring & Alerting ✅ Built-in ✅ Built-in Externe Systeme
Visualisierung Eingebaut (basic) ⚠️ Keine Dashboards ✅ Hervorragend
Discovery ✅ LLD (Low Level Discovery) Service Discovery ⚠️ Keine
SNMP Support ✅ Native ⚠️ Exporter nötig ⚠️ Keine
Komplexe Trigger ✅ Very flexible AlertManager ⚠️ Keine
Datenspeicherung Database (SQL) Time-Series DB Keine
Lernkurve Mittel Steil Flach

Wann sollte Zabbix verwendet werden?

  • Traditionelle Infrastruktur (viele Legacy-Geräte, SNMP)
  • Schnelle All-in-One-Lösung mit Monitoring + Alerting
  • Agentenloses Monitoring für viele Hosts
  • Komplexe Abhängigkeiten und Service Dependencies

Wann ist Prometheus + Grafana besser?

  • Cloud-native / Kubernetes-Umgebung
  • Microservices mit Prometheus-Libraries
  • Schlanke Ressourcen-Nutzung erforderlich
  • Custom Dashboards mit maximaler Flexibilität

Häufige Probleme und Lösungen

Problem: Agent zeigt "Unknown" Status

# Agent-Konnektivität testen
zabbix_get -s 192.168.1.100 -p 10050 -k agent.ping

# Firewall-Regel prüfen
sudo ufw allow 10050/tcp

# Agent-Log prüfen
sudo tail -f /var/log/zabbix/zabbix_agent2.log

Problem: Datenbank zu groß

Nutzen Sie das Housekeeper-Feature in Zabbix Web-UI:

  • Administration → General → Housekeeping
  • History retention: 30 Tage (default)
  • Trends retention: 365 Tage
  • Events retention: 60 Tage

Verwandte Artikel

Weitere Ressourcen

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120