Zum Inhalt

Migration von Zabbix

Zabbix und Vesana haben ähnliche Grundkonzepte, aber unterschiedliche Begriffe. Diese Tabelle ist der Schlüssel:

Konzept-Mapping

Zabbix Vesana Bemerkung
Host Host identisch
Item Profile-Check + Host-Service Item-Definition = Profile-Check, Item pro Host = Host-Service
Trigger Alert-Rule (Threshold) Zabbix-Triggers sind expression-based, Vesana-Rules etwas einfacher
Action Alert-Rule + Channels Zabbix-Actions kombinieren Trigger + Eskalation, Vesana trennt das
Template Profil mit Profile-Checks direkter Pendant
Macro {$VAR} Override pro Host-Service Vesana hat keine globalen Macros, dafür hostspezifische Overrides
Discovery Rule (LLD) aktuell kein direktes Pendant Workaround: SNMP-Sensor-Picker
Host Group Tag(s) auf Host Tags sind freier, mehrere Tags pro Host möglich
Item Type Zabbix Agent agent_* Check-Typen gleicher Use-Case
Item Type SNMP agent snmp, snmp_string, snmp_table analog
Item Type Simple check ping, http, port (Collector) analog
Item Type External check agent_custom, agent_script Skripte zentral in Vesana
Item Type Calculated aktuell nicht direkt Workaround: Custom-Script
Trigger Severity threshold_warn / threshold_crit Zabbix hat 6 Severities, Vesana 5 (CRIT/WARN/UNKNOWN/NO_DATA/OK)
Maintenance Downtime identisch
Acknowledgement ACK identisch
Web Scenario Custom Dashboard mit http-Service nicht 1:1 — kein eingebauter Multi-Step-Web-Test

Phase 1 — Inventur

# Aus Zabbix-API:
curl -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":"extend","selectGroups":"extend"},"auth":"...","id":1}' \
  https://zabbix.example.com/api_jsonrpc.php

Du brauchst die Liste aller Hosts mit Hostgroups und ihren Templates. Daraus baust du das Vesana-Konzept-Mapping.

Phase 2 — Profile vorbereiten

Pro Zabbix-Template eine Vesana-Profil-Equivalente. Builtin-Profile in Vesana decken vieles bereits ab — was fehlt, als Custom-Profil anlegen.

Die Items pro Template werden zu Profile-Checks. Schwellwerte aus Zabbix-Triggers entnehmen.

Importer-Script in scripts/zabbix_to_vesana.py parst Zabbix-API und erzeugt Vesana-Profile + Profile-Checks. Output ist ein JSON-Bundle, das du via /api/v1/profiles/import einspielst.

Phase 3 — Hosts importieren

Nach Profile-Anlage: Hosts importieren mit Profil-Zuweisung. Auto-Add-Profile-Checks erzeugen die Host-Services automatisch.

Bulk-Import-Script: scripts/zabbix_hosts_import.py.

Phase 4 — Daten-Pfade umstellen

Wenn Zabbix-Agent läuft

Du musst den Agent austauschen — Zabbix-Agent kann nicht direkt mit Vesana reden. Workflow:

  1. Vesana-Agent installieren (gleicher Host, andere Binary)
  2. In Vesana Agent-Token erzeugen, in Config einsetzen
  3. Zabbix-Agent stoppen + deinstallieren

Beide Agents parallel laufen lassen geht zwar (verschiedene Ports), aber unnötig.

Wenn Zabbix-Proxy / Aktiv-Server-Polling

Migrieren auf Vesana-Collector im selben Netzsegment. Konfiguration analog zum Zabbix-Proxy: ein Collector pro Standort.

Phase 5 — Triggers + Actions ersetzen

Pro Zabbix-Trigger eine Vesana-Alert-Rule:

  • Filter: Hosts/Tags/Profile
  • Trigger: Threshold oder Pattern, je nach Zabbix-Trigger-Expression
  • Channels: aus Zabbix-Action ableiten
  • Eskalation: Zabbix-Action-Steps werden zu Alert-Rule-Stufen

Komplexere Zabbix-Trigger mit last(), avg(), Calculated-Items: nicht 1:1 übernehmbar — als Custom-Script in Vesana realisieren.

Phase 6 — Dashboards

Zabbix-Dashboards → Custom Dashboards. Widget-Mapping:

Zabbix-Widget Vesana-Widget
Trigger Overview Active Problems
Graph Line Chart
Plain Text Stat-Tile oder Text-Widget
Map Map-Widget (geo)
Host Availability Status-Summary

Phase 7 — User + Permissions

Zabbix-User-Groups → Vesana-Rollen. Default-Rollen reichen für die meisten Fälle. Custom-Rollen für Spezialfälle.

Häufige Fragen

Was ist mit Zabbix-LLD?

Aktuell kein direktes Pendant. Workaround:

  • Für Filesystems: SNMP-Sensor-Picker auf SNMP-Hosts; auf Linux der agent_disk mit fixem Pfad pro Mount
  • Für Interfaces: SNMP-Sensor-Picker walkt die ifTable und legt Service pro aktivem Port an
  • Für Services-Auto-Discovery: agent_services_auto (Windows)

Native LLD ist in Vesana-Roadmap, aktuell nicht 1:1 verfügbar.

Calculated Items?

Per Custom-Script (agent_script): das Skript holt mehrere Werte per OS-API oder anderen Tools, berechnet das Ergebnis, gibt es im Nagios-Format zurück.

Was mit Web-Scenarios?

Aktuell kein eingebauter Multi-Step-Web-Test. Custom-Script mit curl-Kette ist der Workaround.

Können wir Historie übernehmen?

Nicht direkt. Empfehlung: alte Zabbix-Instanz noch 90 Tage als Read-Only laufen lassen, danach archivieren. Vesana fängt frisch an.

Anschluss