v8 to v9
v8 to v9 is a binary swap with the schema migrated on startup, but several new config sections must be added by hand or the new features stay silently off.
From Prometheus + Alertmanager
Keep Prometheus for storage and scraping; move rules, routes, silences and receivers into Nightingale objects.
From Zabbix
Moving from Zabbix is a rebuild: hosts map to targets, templates to integrations, triggers to rules; some concepts have no equivalent, and Zabbix never has to stop.
From Grafana Alerting
Keep Grafana dashboards; move alert rules and contact points, and what to do about unified alerting state.
Coexistence and rollback plan
Run both systems on the same data during the switch, compare what fires, and cut over channel by channel.