zabbix升级mysql_zabbix篇- zabbix4.4.1升级到zabbix5.0详解

本文详细记录了Zabbix从4.4.1版本升级到5.0的全过程,包括环境描述、4.4.1环境搭建、各个组件(server、web、proxy、agent)的升级步骤以及遇到的问题和解决方案。升级顺序为web→server→proxy→agent,过程中确保了数据的连续性和服务的稳定性。
摘要由CSDN通过智能技术生成

1 环境描述

zabbix server:yum安装的4.4.1版本,172.16.212.77

zabbix web:docker安装的4.4.1版本,172.16.212.77

zabbix proxy:docker安装的4.4.1版本,172.16.212.88

zabbix agent:yum安装的4.4.1版本,所有节点上都安装

mysql:yum安装的5.7版本,172.16.212.213(server用)和172.16.212.88(proxy用)上

所有节点都是Centos7

拓扑图

734a7d752bd31e527d6fde59566b23e9.png

2 搭建4.4.1环境

2.1 172.16.212.213/88上安装配置数据库

#安装mysql5.7

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start mysqld.service

#获取临时密码

grep "password" /var/log/mysqld.log

#登录数据库并修改root密码

mysql -uroot -p

#使用弱密码的话还要执行下面两句,用强密码的话不用执行

set global validate_password_policy=LOW;

set global validate_password_length=6;

#修改密码

ALTER USER 'root'@'%' IDENTIFIED BY 'new password';

#登录到数据库中创建zabbix数据库和授权用户

mysql -uroot -p

create database zabbix character set utf8 collate utf8_bin;

create user zabbix@'%' identified by 'zabbix';

grant all privileges on zabbix.* to zabbix@'%';

2.2 172.16.212.77上安装配置server、web和agent

#安装server和agent

rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum clean all

yum install zabbix-server-mysql zabbix-agent

#初始化数据库

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h 172.16.212.213 -uzabbix -p zabbix

#配置server

vim /etc/zabbix/zabbix_server.conf

DBHost=172.16.212.213

DBUser=zabbix

DBName=zabbix

DBPassword=zabbix

#配置agent

vim /etc/zabbix/zabbix_agent.conf

Server=172.16.212.77

ServerActive=172.16.212.77

Hostname=agent77

#启动服务

systemctl start zabbix-server zabbix-agent

systemctl enable zabbix-server zabbix-agent

#安装web

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=172.16.212.213 \

--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

此时已经可以访问 http://172.16.212.77,用户名Admin,密码zabbix

e4620755845535529fc9b1150eebff5b.png

改一下agent77的配置为:

281d33ad99dd064ddcdc912bfbfec463.png

等观察到实时数据再进行下一步~

5cf3ac8d4329dd13e1171152df7eca42.png

2.3 172.16.212.88上安装配置proxy和agent

#proxy

docker run --restart=always -d \

--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="proxy" \

-e ZBX_SERVER_HOST="172.16.212.77" \

-e ZBX_PROXYMODE=1 \

-e ZBX_CACHESIZE=512M \

-e PHP_TZ="Asia/Shanghai" \

-p 10051:10051 \

--net=host \

-d zabbix/zabbix-proxy-mysql:alpine-4.4.1

#agent

rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum clean all

yum install zabbix-agent -y

vim /etc/zabbix/zabbix_agent.conf

Server=172.16.212.88

ServerActive=172.16.212.88

Hostname=agent88

systemctl start zabbix-agent

systemctl enable zabbix-agent

2.4 172.16.212.213上安装配置agent

rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum clean all

yum install zabbix-agent -y

vim /etc/zabbix/zabbix_agent.conf

Server=172.16.212.88

ServerActive=172.16.212.88

Hostname=agent213

systemctl start zabbix-agent

systemctl enable zabbix-agent

2.5 页面配置自动注册主机

e307606a09aa1d5d190bab20c48cdf8d.png

8a31fa9d1907368a6b7a6e3884a5c620.png

配置好了之后等了好一段时间ZBX才变成Available,一开始proxy一直报找不到agent88和agent213。后面应该是自动刷新之后就不报错了。

46c357e8da430ce11a01eb6347f13c94.png

3 升级流程

3.1 查询官方升级须知

升级注意事项

升级顺序

web——server——proxy——agent

3.2 升级web

docker stop zabbix-web-nginx-mysql-4.4.1

docker run --restart=always \

--name zabbix-web-nginx-mysql-5.0.1 \

--env ZBX_SERVER_HOST=127.0.0.1 \

--env ZBX_SERVER_PORT=10051 \

--env DB_SERVER_HOST=172.16.212.213 \

--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="server" \

--env ZBX_MEMORYLIMIT=256M \

--net=host \

-p 80:80/tcp \

-v /data/docker/zabbix/DejaVuSans.ttf:/usr/share/zabbix/fonts/graphfont.ttf:ro \

-d docker.io/zabbix/zabbix-web-nginx-mysql:alpine-5.0.1

升级之后访问web页面的端口是8080,原来的80端口已经不监听了。

b8382f8354d648953cb989cf068a2690.png

由于server还没有升级到5.0,所以页面报错如下:

db7f83ce1339412a06cbed322c9e6476.png

3.3 升级server

systemctl stop zabbix-server

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

yum makecache

yum upgrade zabbix-server -y

systemctl start zabbix-server

访问页面查看状态:

a423b7ed323fd0ae6aafe99545cd4eac.png

等了一会之后,agent都可用了,说明server5.0与proxy4.4和agent4.4兼容

ba1cba6cad716a0a1c39433bd3ff580c.png

查看server的log:

09e5237fcbf62d73db61b2e93edf0c71.png

查看proxy的log:

ed4214be94560407d4a22545df0ea3df.png

过了一会查看页面,已经没有连不上agent的告警了

f039437d3b32340b550d672c9428b6ef.png

也可以拿到数据了,进行下一步吧!

3.4 升级proxy

docker stop zabbix-proxy-4.4.1

docker run --restart=always \

--name zabbix-proxy-5.0.1 \

-e DB_SERVER_HOST="127.0.0.1" \

-e MYSQL_DATABASE="zabbix" \

-e MYSQL_USER="zabbix" \

-e MYSQL_PASSWORD="zabbix" \

-e ZBX_HOSTNAME="proxy" \

-e ZBX_SERVER_HOST="172.16.212.77" \

-e ZBX_PROXYMODE=1 \

-e ZBX_CACHESIZE=512M \

-e PHP_TZ="Asia/Shanghai" \

-p 10051:10051 \

--net=host \

-d zabbix/zabbix-proxy-mysql:alpine-5.0.1

这个过程对监控几乎0影响,数据监控图都没有出现断点,当然也可能是因为我只有这几个节点,比较轻量。此外,说明了proxy5.0可以兼容agent4.4

3.5 升级agent

systemctl stop zabbix-agent

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

yum makecache

yum upgrade zabbix-agent -y

systemctl start zabbix-agent

查看agent213日志:

4bd32bfe23eea342796f56812e986abc.png

查看proxy日志:

07e8eb38685d59d393b8506e1267f09a.png

查看web,监控数据是有断点的:

cb5bdba69294c6efa220ddcdeaf2d2a1.png

agent77日志:

f3245a719c431d93ee79d2aba542cfd3.png

查看server日志:

26461045fde33f5b975f89a25b1ce0e4.png

查看web页面:

adb47d2dd2254b6080a48ae7bac8a605.png

升级结束~

4 遇到的问题

1)被proxy代理的agent端报了这个错

c6df1a57fd267a12acde0168f815d77d.png

agent关闭主动模式就不报错了

2)但是如果agent就用主动模式呢?

vim /etc/zabbix/zabbix_agentd.conf

Server=172.16.212.88

StartAgents=1 #默认启动的zabbix_agentd pre-fork进程,如果为0的话表示停用被动模式

ServerActive=172.16.212.88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值