最新版基于Docker快速部署Zabbix

Zabbix镜像准备

部署zabbix需要五个基础镜像,分别是:

  • zabbix/zabbix-server-mysql 主要用来处理收集到的数据如何存储,报警等相关配置。
  • zabbix/zabbix-web-nginx-mysql zxbbix前台
  • zabbix/zabbix-java-gateway 主要用来代理zabbix-server的身份,从zabbix-agent处收集数据,并统一汇总给zabbix-server
  • zabbix/zabbix-agent 主要安装在服务器上进行收集数据,然后发送给zabbix-proxy或者zabbix-server
  • mysql 主要用来存放数据

启动mysql 服务

docker run -it -d -p 3306:3306 \
--network self_network --network-alias mysql --name zabbix-mysql \
-e MYSQL_ROOT_PASSWORD=root123 \
-v $pwd/conf:/etc/mysql \
-v $pwd/logs:/var/log/mysql \
-v $pwd/data:/var/lib/mysql \
-v $pwd/mysql-files:/var/lib/mysql-files \
mysql \
--character-set-server=utf8 --collation-server=utf8_unicode_ci

Mysql参数解释:

  • character-set-server 设置character-set-server字符集
  • collation-server 设置collation-server字符集
  • MYSQL_ROOT_PASSWORD 设置mysql root用户默认密码

启动zabbix-java-gateway

docker run -dit \
-v /etc/localtime:/etc/localtime \
--restart=always \
--name=zabbix-java-gateway \
zabbix/zabbix-java-gateway

启动zabbix-server-mysql

docker run -dit \
-p 10051:10051 \
-v /etc/localtime:/etc/localtime \
-v /app/zibbax/server/alertscripts:/usr/lib/zabbix/alertscripts \
--name=zabbix-server-mysql \
--restart=always \
-e DB_SERVER_HOST="mysql_ip" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="root123" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
zabbix/zabbix-server-mysql

zabbix-server参数解释:

  • DB_SERVER_HOST #mysql 数据库地址
  • MYSQL_DATABASE #Zabbix数据库,名字随便取,但是前后要关联
  • MYSQL_USER #Zabbix用户,名字随便取,但是前后要关联
  • MYSQL_PASSWORD #Zabbix密码,名字随便取,但是前后要关联
  • MYSQL_ROOT_PASSWORD #root密码,名字随便取,但是前后要关联

启动zabbix-web-nginx-mysql

docker run -dit \
-p 8080:8080 \
-v /etc/localtime:/etc/localtime \
--name zabbix-web-nginx-mysql \
--restart=always \
-e DB_SERVER_HOST="mysql_ip" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="root123" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
zabbix/zabbix-web-nginx-mysql

访问

启动成功后访问地址: http://ip:8080/zabbix

登录帐户密码在mysql zabbix库中users表中。 Admin/Zabbix
在这里插入图片描述

设置字符集

登录仪表盘后在左下角——>User settings ——> Languagr ——> Chinese(zh_CN) ——> update
在这里插入图片描述
在这里插入图片描述

监控端配置

在监控节点启动zabbix/zabbix-agent,收集节点信息发送给server

docker run --rm -d \
--name zabbix_agent \
-e ZBX_HOSTNAME="mythird" \
-e ZBX_SERVER_PORT="10051" \
-e ZBX_SERVER_HOST="10.1.19.170" \
-p 3998:10050 \
zabbix/zabbix-agent

  • ZBX_HOSTNAME #节点名称
  • ZBX_SERVER_PORT #zabbix 服务节点端口,参考zabbix-server-mysql -p参数,要一致
  • ZBX_SERVER_HOST #zabbix 服务节点IP

附录

注意事项

很多帖子在创建mysql容器时直接携带参数:

  • MYSQL_DATABASE=“zabbix”
  • MYSQL_USER=“zabbix”
  • MYSQL_PASSWORD=“zabbix123”

这导致在启动zabbix-server-mysql时,报 cannot use database “zabbix”: its “users” table is empty (is this the Zabbix proxy database?) 异常。

原因:
在zabbix-server-mysql 启动初期,已经准备好了创建数据库及用户表等相关配置文件,当在启动mysql携带那三个参数时,mysql会自己创建,导致与zabbix-server-mysql配置文件相关地字符集相关参数不一致报错。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值