Zabbix篇-Zabbix集群从4.0.3升级到4.4.1

1 调研

1)Zabbix server 和proxies必须属于同一个主版本;
2)Zabbix server and proxies 建议在升级前先停止运行;
3)旧版本的 proxies 不再向新版本的servers报告,即不兼容;
4)新版本的agents 与旧版本的Zabbix server不再兼容;
5)新版本的zabbix server 和proxy可以兼容旧版本的zabbix-agent;

2 操作

2.1 准备工作

  • 全量备份数据库,参照 https://blog.csdn.net/qq_35550345/article/details/103588917
  • 停止zabbix-server和zabbix-proxy
  • 增量备份数据库,参照 https://blog.csdn.net/qq_35550345/article/details/103588917
  • 备份配置文件
  • 准备好yum源,如果可以通公网则网络正常即可,如果不可以通公网则须自己创建内网repo,自行百度。

2.2 升级

推荐的升级顺序:zabbix-server —— zabbix-proxy —— zabbix-agent

  • zabbix-server

直接yum安装升级即可!

  • zabbix web
#停止老的版本
docker stop zabbix-web-nginx-mysql-4.0.3
#运行新的版本
sudo docker run --restart=always -d \ 
            --name zabbix-web-nginx-mysql-4.4.1 \ 
            --env ZBX_SERVER_HOST=127.0.0.1 \ 
            --env ZBX_SERVER_PORT=10051 \ 
            --env DB_SERVER_HOST=10.0.0.22 \ 
            --env DB_SERVER_PORT=3306 \ 
            --env MYSQL_USER=zabbix \ 
            --env MYSQL_PASSWORD="zabbix" \ 
            --env MYSQL_DATABASE="zabbix" \ 
            --env PHP_TZ="Asia/Shanghai" \ 
            --env ZBX_SERVER_NAME="zabbix-server" \ 
            --env ZBX_MEMORYLIMIT=256M \ 
            --net=host \ 
            -p 80:80/tcp \ 
            -v /data/docker/zabbix/DejaVuSans.ttf:/usr/share/zabbix/fonts/graphfont.ttf:ro \ 
docker.io/zabbix/zabbix-web-nginx-mysql:alpine-4.4.1
#查看日志
docker logs --tail=40 -f zabbix-web-nginx-mysql:alpine-4.4.1   
  • zabbix-proxy
#停止老的版本
docker stop zabbix-proxy-4.4.1
#运行新的版本
sudo docker run --name zabbix-proxy-4.4.1 \ 
           -e DB_SERVER_HOST="127.0.0.1" \ 
           -e MYSQL_DATABASE="zabbix" \ 
           -e MYSQL_USER="zabbix" \ 
           -e MYSQL_PASSWORD="zabbix" \ 
           -e ZBX_HOSTNAME="zabbix-proxy" \ 
           -e ZBX_SERVER_HOST="10.0.0.22" \ 
           -e ZBX_PROXYMODE=1 \ 
           -e ZBX_CACHESIZE=512M \ 
        -e TZ="Asia/Shanghai" \ 
           --net=host \ 
           -d zabbix/zabbix-proxy-mysql:alpine-4.4.1 
#查看日志     
docker logs --tail=40 -f zabbix-proxy-mysql:alpine-4.4.1 
  • zabbix-agent

使用ansible剧本批量升级

cat /etc/ansible/update_zabbix_agent.yml 
---
- name: "update zabbix-agent"
  hosts: "{{ host_name }}"
  become: True
  roles:
     - "update_zabbix_agent"
cat /etc/ansible/roles/update_zabbix_agent/tasks/main.yml
---
- name: "clean all"
  shell: yum clean all

- name: "makecache"
  shell: yum makecache

- name: "update zabbix-agent"
  shell: yum -y update zabbix-agent

- name: copy zabbix-agent.conf
  template:
          src: zabbix_agentd.conf
          dest: /etc/zabbix/zabbix_agentd.conf
  
- name: "restart zabbix-agent"
  systemd:
          name: zabbix-agent
          state: restarted
          enabled: yes

- systemd:
          name: zabbix-agent
          state: started

- name: "check the version of zabbix-agent"
         shell: zabbix_agentd -V
         register: version

- debug:
         var: version
cat /etc/ansible/roles/update_zabbix_agent/templates/zabbix_agentd.conf | grep -v "^#"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server={{ zabbix_address }}
ServerActive={{ zabbix_address }}
Hostname={{ hostname_replaced }}
Include=/etc/zabbix/zabbix_agentd.d/*.conf

ansible-playbook执行剧本

ansible-playbook  /etc/ansible/update_zabbix_agent.yml \
-i /etc/ansible/inventory/test \
-e "host_name=agent01" \
-e "zabbix_address=10.0.0.22" \
-e "hostnameAlias=test-agent"
cat /etc/ansible/inventory/test 
[agent]
10.0.0.11
10.0.0.12
10.0.0.13
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值