一、基于Docker环境的安装以下为docker环境安装方法:
https://blog.csdn.net/q2606281216/article/details/120557709
二、镜像的获取
你需要有一个dockerhub开源平台的账户:
https://hub.docker.com/
linux链接dockerhub平台
docker login --username=你注册的账户 --password=你账号的密码 https://hub.docker.com
三、搭建Zabbix
基于官方的文档, 从容器中安装 [Zabbix Documentation 5.0] 我选择了使用内置 MySQL 数据库、Zabbix server、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway 来运行 Zabbix 应用。
1、创建专用于Zabbix组件容器的网络:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2、启动空的Mysql服务器实例
官方文档里有一句重启的命令[ --restart unless-stopped ]加入后启动容器会报错,我给去掉了
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
3.启动Zabbix Java gateway实例
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
-d zabbix/zabbix-java-gateway:alpine-5.0-latest
4.启动Zabbix server实例并将该实例与创建的MySQL服务器实例链接
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-5.0-latest
PS1:Zabbix服务器向被监控的主机公开10051 / TCP端口(Zabbix trapper)
5.启动Zabbix Web界面,并将实例与创建的MySQL服务器和Zabbix server实例链接
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 MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net \
-p 80:8080 \
-d zabbix/zabbix-web-nginx-mysql:alpine-5.0-latest
PS2:Zabbix Web界面访问端口 80 / TCP端口(HTTP)
6、批量设置容器开机自启动
docker update -restart=always
四、被监控linux OS 主机安装Agent
搭建后里面原本的默认账号密码 账号:Aamin 密码:zabbix
https://www.zabbix.com/cn/container_images
我安装的zabbix的版本是5.0.15所以我选择agent的版本也是5.0.15的,然后开启容器
docker run --name zabbix-agent -e ZBX_HOSTNAME="some-hostname" -e ZBX_SERVER_HOST="some-zabbix-server" -p 10050:10050 -d zabbix/zabbix-agent:5.0.15-ubuntu
some-hostname是主机名,是 Zabbix 代理配置文件中的主机名参数,some-zabbix-server是 Zabbix 服务器或代理的 IP 或 DNS 名称
链接成功了