阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix3.0编译升级过程记录

134次阅读
没有评论

共计 1973 个字符,预计需要花费 5 分钟才能阅读完成。

背景前言

Zabbix 想要做更复杂的告警策略,但是复杂的步骤与判断会给系统带来负载;之前出现过 Zabbix 告警夯住,造成告警堆积。在了解到 Zabbix3.4 的新特性后,发现有一项:多线程告警(alerter 进程),有了这个新特性就可大胆设计复杂告警策略,不再担心告警夯住。

编译升级过程中出现报错,最终决定迁移到 Docker 里。

Zabbix 在 Github 上官方代码仓库

# Zabbix-Server
    https://github.com/zabbix/zabbix-docker/tree/3.4/server-mysql
# Zabbix-Web
    https://github.com/zabbix/zabbix-docker/tree/3.4/web-nginx-mysql

Zabbix 在 Docker hub 上的仓库

# Zabbix-Server
    https://hub.docker.com/r/zabbix/zabbix-server-mysql/
# Zabbix-Web
    https://hub.docker.com/r/zabbix/zabbix-web-nginx-mysql/

部署所需

需要两个 Docker 镜像 Zabbix-Server 与 Zabbix-Web,数据库与 Agent 保持原状。

制作镜像

拉取镜像

拉取 zabbix-server

    # docker pull zabbix/zabbix-server-mysql:alpine-3.4.4

拉取 zabbix-web

    # docker pull zabbix/zabbix-web-nginx-mysql:alpine-3.4.4   

镜像内添加所需组件,以 zabbix-server 为例

# vim Dockerfile
FROM zabbix/zabbix-server-mysql:alpine-3.4.4
RUN < 需要安装的软件 >
CMD [“/run_zabbix_component.sh”, “server”, “mysql”]

重新 build 一个新版本

# docker build -t < 镜像名 > .

切换新旧 Zabbix

停止旧 Zabbix-server/agent

# service zabbix-server stop
# service zabbix-agent stop

运行新版 Zabbix-server

docker run –name zabbix-server \
    -e DB_SERVER_HOST=”< 数据库 IP>” \
    -e MYSQL_USER=”< 数据库用户 >” \
    -e MYSQL_PASSWORD=”< 数据库密码 >” \
    -e ZBX_DEBUGLEVEL=”<DEBUG 等级 >” \
    -v < 告警脚本路径 >:/usr/lib/zabbix/alertscripts \
    -v /etc/localtime:/etc/localtime \
    -v < 启动脚本 >:/run_zabbix_component.sh \
    -p 10051:10051 \
    -d < 镜像名 >

# 其他调优参数参见:
https://github.com/zabbix/zabbix-docker/tree/3.4/server-mysql/alpine

# 默认三个 alerter 进程

运行新版 Zabbix-web

docker run –name zabbix-web \
    –link zabbix-server:zabbix-server \
    -e DB_SERVER_HOST=”< 数据库 IP>” \
    -e MYSQL_USER=”< 数据库用户 >” \
    -e MYSQL_PASSWORD=”< 数据库密码 >” \
    -e ZBX_SERVER_HOST=zabbix-server  \
    -e PHP_TZ=”Asia/Shanghai” \
    -v /etc/localtime:/etc/localtime \
    -v < 自定 styles>:/usr/share/zabbix/styles \
    -v < 启动脚本 >:/run_zabbix_component.sh \
    -p 80:80 \
    -d < 镜像名 >

修改 Zabbix-agent 配置为

Server=ZabbixServer

在 /etc/hosts 添加

<ZabbixServerIP> ZabbixServer

运行后,系统会自动判断数据库;如果不存在数据库则创建新的数据库,如果存在将直接使用或升级 SQL,Zabbix2.2 版本以上跨版本升级不用太过担心数据库问题,Zabbix 会自动适配更新。部署完修改启动脚本即可,到此完成 Zabbix3.0 迁移升级工作。

启动脚本
https://github.com/ca7dEm0n/zabbix_scripts/blob/master/docker-zabbix/zabbix-server

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1973字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中