Migration eines Zabbix-Servers
Irgendwann ist bei jedem System der Zeitpunkt gekommen, es in Rente zu schicken – sei es aus Alters- oder Performancegründen oder einfach, weil man beispielsweise in die Cloud umziehen möchte. So war auch für meinen Monitoring-Server basierend auf Zabbix der Zeitpunkt gekommen, in Rente zu gehen. Die Migration gestaltete sich überraschend einfach, dennoch möchte ich kurz aufzeigen, wie ich es gemacht habe.
Vorbereitung des neuen Servers
Natürlich muss der neue Server vorbereitet werden. Hierzu sollte ein Zeitfenster für die Migration festgelegt werden, in dem der alte Server keine Daten mehr von den überwachten Hosts annimmt. Vor diesem Wartungsfenster sollte man den neuen Server grundlegend vorbereiten.
Zabbix-Installation auf neuem Server
Die Installation des Zabbix-Server auf der neuen Maschine gestaltet sich ziemlich einfach. Wir befolgen einfach die Schritte, die Zabbix einem an die Hand gibt. Bei mir waren das die folgenden Zeilen:
wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
dpkg -i zabbix-release_5.4-1+debian10_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts mariadb-server mariadb-client
Nun legen wir eine neue Datenbank für Zabbix an
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
und hinterlegen die neuen Datenbank-Zugangsdaten in der /etc/zabbix/zabbix_server.conf
und hinterlegen in der /etc/zabbix/apache.conf
noch die korrekte Zeitzone.
Der neue Server ist damit prinzipiell vorbereitet und wir können das Wartungsfenster abwarten.
Die Migration
Zum Start des eigentlichen Wartungsfensters stoppen wir den Zabbix-Prozess auf dem alten Server mit service zabbix-server stop
. Nun kopieren wir etwaige Custom Scripts, der Pfad hierzu findet sich in der /etc/zabbix/zabbix_server.conf
.
Nun erstellen wir ein Datenbank-Backup auf dem alten Server
mysqldump zabbix | gzip > zabbix.gz
und kopieren die Datei zabbix.gz
auf die neue Maschine. Dort angekommen, importieren wir die Daten in die bereits angelegte Datenbank.
gunzip < zabbix.gz | mysql -uroot zabbix
Fertig. Das war’s. Mehr ist tatsächlich nicht zu tun. Wir starten nun die Zabbix-Prozesse auf dem neuen Server und werfen einen kurzen Blick in die Logs. Eine Änderung der DNS-Einträge kann und sollte jetzt auch vorgenommen werden.
Natürlich müssen bestehende SSL-Zertifikate o.ä. entweder kopiert werden oder neue SSL-Zertifikate via Let’s Encrypt ausgestellt werden. Die komplette Konfiguration würde aber den Rahmen dieses Artikels sprengen, daher möchte ich wirklich nur auf die Migration an sich eingehen.
Ich hoffe, eure Migration gelingt so problemlos wie bei mir. Falls ihr auf Probleme stoßen solltet, schreibt sie gerne in die Kommentare – alternativ übernehme ich die Migration gerne für euch; kurze Kontaktaufnahme genügt.