前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix3.0编译升级过程记录

Zabbix3.0编译升级过程记录

作者头像
星哥玩云
发布2022-07-13 15:19:20
2520
发布2022-07-13 15:19:20
举报
文章被收录于专栏:开源部署

背景前言

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档