Docker搭建zabbix

一、下载相关的镜像
1、docker pull zabbix/zabbix-server-mysql:centos-latest ---zabbix-server软件
2、docker pull mysql:latest ----数据库(尽量用最新的数据库)
3、docker pull lh438369/zabbix-web-nginx-mysql:v0.1 ----基于Nginx web服务器及支持MySQL数据库的Zabbix web接口
4、docker pull zabbix/zabbix-java-gateway:latest ---Zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能
5、docker pull zabbix/zabbix-agent ----解决 出现错误 Zabbix agent is not available (for 3m)

二、镜像运行
1、docker network create -d bridge zabbix_net --- 创建一个新的 Docker 网络。需要将后面的zabbix-server、mysql、web等容器都加入到此网络中,方便互相访问

2、运行mysql 镜像,创建mysql容器
docker run -dit -p 3306:3306 --name zabbix-mysql --network zabbix_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" mysql:latest
MYSQL_DATABASE="zabbix" 在msql中创建的数据库的名
MYSQL_USER="zabbix" 创建msql的登录账户名
MYSQL_PASSWORD="zabbix123" 设置创建msql的登录账户的密码
MYSQL_ROOT_PASSWORD="root123" 设置msql数据库root 的密码

3、运行zabbix-java-gateway镜像,创建zabbix-java-gateway容器。
docker run -v /etc/localtime:/etc/localtime -dit --restart=always --name=zabbix-java-gateway --network zabbix_net zabbix/zabbix-java-gateway:latest

4、运行zabbix-server-mysql镜像,创建zabbix-server-mysql容器
docker volume create zabbix-server-vol
docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -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:centos-latest

5、运行zabbix-web-nginx-mysql镜像,创建zabbix-web-nginx-mysql容器
docker run -dit -p 8080:8080 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_SERVER_HOST="zabbix-server-mysql" lh438369/zabbix-web-nginx-mysql:v0.1

6、运行zabbix-agent
docker run --name zabbix-agent -p 10050:10050 --restart=always --network zabbix_net -e ZBX_SERVER_HOST="zabbix-server-mysql" -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent

7、防火墙放行10050策略,firewall-cmd --permanent --zone=public --add-port=10050/tcp  &&  firewall-cmd --reload

8、浏览器中输入http://IP:8080/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix,查询zabbix-agent容器地址将zabbix_server的监控地址改为zabbix-agent容器地址

 

posted @ 2022-07-11 15:38  Me-lihu  阅读(451)  评论(0编辑  收藏  举报