docker快速部署zabbix的方法
目录
- 1、创建docker自定义网络
- 2、部署数据库
- 3、启动java api容器
- 4、启动zabbix-server
- 5、启动zabbix前端web容器;
- 6、其他注意事项
容器技术极大的简化了应用部署速度,而且现在大部分的开源应用均提供了容器的版本。因此今天就分享下通过docker快速部署zabbix。zabbix标准组件是分布式的,因此部署过程中需要创建多个容器,当然zabbix-application(all-in-one)也有容器版本,官方已经宣布停止更新,推荐使用虚拟机的镜像方式。
1、创建docker自定义网络
docker需要使用容器的名称互访需要使用自定义的网络类型,容器必须接入自定义的网络方可。因为接下来我们要部署多个组件,组件之间互访通过容器名称。
docker network create --subnet 172.20.0.0/24 zabbix-net
2、部署数据库
部署mariadb作为zabbix的数据库,注意安全第一件数据库的密码要加固,不要太简单。
docker run --name mysql-server \ -e MYSQL_DATABASE=zabbix \ -e MYSQL_USER=zabbix \ -e MYSQL_PASSWORD="123456789" \ -e TZ="Asia/Shanghai" \ -e MYSQL_ROOT_PASSWORD="123456789" \ -v mariadb_data:/var/lib/mysql \ --restart unless-stopped \ --network=zabbix-net \ -itd mariadb \ --character-set-server=utf8 \ --collation-server=utf8_bin \ --default-authentication-plugin=mysql_native_password
TZ=“Asia/Shanghai” 为设置容器的时区,否则告警时间会有问题。
mariadb_data:/var/lib/mysql 将数据库挂载到容器卷,这有容器销毁后可以继续挂这个卷,保持数据持不丢失。
3、启动java api容器
docker run --name zabbix-java-gateway -t --restart unless-stopped -d zabbix/zabbix-java-gateway
4、启动zabbix-server
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
--network=zabbix-net \
-e TZ="Asia/Shanghai" \
-e MYSQL_PASSWORD="123456789" \
-e MYSQL_ROOT_PASSWORD="123456789" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-e ZBX_CACHESIZE="1024M" \
-e ZBX_DEBUGLEVEL="3" \
-e ZBX_STARTDISCOVERERS='5' \
-p 10051:10051 \
--restart unless-stopped \
-v zabbix_conf:/etc/zabbix/ \
-d zabbix/zabbix-server-mysql
当监控主机过多的时候zabb进程容易挂死,需要在启动容器的时候设置环境变量ZBX_CACHESIZE=“1024M” ,默认参数为8M。
ZBX_STARTDISCOVERERS=“5” 解决zabbix discover进程经常告警利用率过高;
需要监控VMware环境需在环境变量中加入下面参数。
-e ZBX_VMWAREFREQUENCY="10" \
-e ZBX_VMWAREPERFFREQUENCY="60" \
-e ZBX_VMWARECACHESIZE="1024M" \
-e ZBX_VMWARETIMEOUT="30" \
注意:zabbix-server的配置文件修改后会,容器重启后会还原,因此需要在创建容器的时候设置环境变量对配置文件进行修改。
5、启动zabbix前端web容器;
docker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e PHP_TZ="Asia/Shanghai"\
-e MYSQL_PASSWORD="123456789" \
-e MYSQL_ROOT_PASSWORD="123456789" \
-p 8000:8080 \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql
6、其他注意事项
a、zabbix邮件告警支持126邮箱和163邮箱,使用qq邮箱会失败,原因不详。
b、zabbix-agent部署分主动模式和被动模式,跟进新建主机选择的模板觉得,模板有主动和被动。
c、启动容器务必要设置时区;
d、数据库数据要挂载到容器卷;
上一篇:Docker格式化输出命令:\"docker inspect --format\" 学习记录
栏 目:其它服务器
本文标题:docker快速部署zabbix的方法
本文地址:https://zz.feitang.co/server/30759.html
您可能感兴趣的文章
- 01-07Tomcat部署Bolo动态博客
- 01-07图文详解nginx日志切割的实现
- 01-07如何解决swarm docker 端口不通问题
- 01-07详解nginx location指令
- 01-07如何解决docker http 500错误问题
- 01-07windows server 2008安装配置DNS服务器
- 01-07Linux上搭载Nginx负载均衡配置使用案例详解
- 01-07NGINX 权限控制文件预览和下载的实现原理
- 01-07Nginx防盗链与服务优化配置的全过程
- 01-07使用 Apache 反向代理的设置技巧


阅读排行
推荐教程
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法




