Docker | Zabbix 迁移

可能也是从这一刻起,才突然意识到自己已经毕业四年了……

大学的时候趁着学生的身份,把腾讯云的轻量服务器续到了2024年底,可能在19年的我看起来是一个非常遥远的时间点。但时间真的过得飞快,不自觉得就已经四年过去了,看了眼价格是我续费不起的了,而且服务器上跑了太多没用的进程,我觉得也是时候考虑换一台服务器从头整理一遍了。

服务器上跑了很多东西,比如宝塔面板,比如微软的KMS破解激活程序,比如一些网站代理,这些都很容易迁移,直接平移到我的另一台阿里云的轻量服务器就OK了,然后再DNS改下CNAME的事,已经玩的很溜了。然而最令我头疼的就是zabbix的迁移,好在是基于docker部署的,相对而言迁移起来已经算是方便很多了。

通过前期在网上查资料,发现可以做到近乎无损的迁移,首先就是要把当前zabbix的数据库dump出来,然而我第一步我就卡住了,mysql的root密码我给忘得死死的,分配给zabbix的账号权限又不够,于是乎又要从找回mysql的root密码开始做……

找回密码后,就是按照网上的教程,将现在的的数据全部备份出来

mysqldump -u root -h 172.17.0.2 -p zabbix > /database_zabbix.sql

接下来就是把zabbix的三个组件docker拉起来,尤其是要账号密码信息对齐颗粒度

docker run --name zabbix-mysql -d \
   -v /data/zabbix_mysql/mysql_data:/var/lib/mysql \
      -v /data/zabbix_mysql/mysql_logs:/var/log/mysql \
      -v /data/zabbix_mysql/mysql_conf:/etc/mysql/conf.d \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      --network=zabbix-net \
      --ip 192.168.100.2 \
      -p 3306:3306 \
      --restart=unless-stopped \
      93f1a2fa0508 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

docker run --name zabbix-server-mysql -d \
    -v zabbix_server:/etc/zabbix \
      -e DB_SERVER_HOST="zabbix-mysql" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
     --network=zabbix-net \
      --ip 192.168.100.3 \
      --restart=unless-stopped \
      -p 10051:10051 \
      644ea108848d


docker run --name zabbix-web-nginx-mysql -d \
   -e PHP_TZ="Asia/Shanghai" \
   -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="zabbix-mysql" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      --network=zabbix-net \
      --ip 192.168.100.4 \
      -p 8080:8080 \
      --restart unless-stopped \
      1e5753ca9f8a

然后再把之前备份出来的数据导入回去,这次是刚创建完的mysql,root密码可就不能再忘了

mysql -u root  -h 192.168.100.2 -p zabbix < database_zabbix.sql

然后静待片刻,打开页面,就可能看到zabbix依然如初。前文之所以说是近乎无损,是因为这个数据库导入导出的时间差还是会出现无法采集数据的情况,产生的影响可能就依赖于你的手速和网速了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注