docker部署zabbix监控
1、环境说明
- 公有云ubuntu22.04 系统->部署docker环境
- zabbix-server 6.4
2、准备docker环境
- 更新apt以及安装一些必要的系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 更新并安装docker
安装后会自启动
sudo apt-get -y update
sudo apt-get -y install docker-ce
如何安装指定的docker版本?
安装指定版本的Docker-CE: Step 1: 查找Docker-CE的版本: apt-cache madison docker-ce docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial) sudo apt-get -y install docker-ce=[VERSION
3、安装zabbix
使用Mysql8.0进行安装,其余数据库可参考官网
- 创建专用于Zabbix组件容器的网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
- 启动空的MySQ服务器实例
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 \
--restart unless-stopped \
-d mysql:8.0-oracle \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
- 启动Zabbix Java网关实例
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.4-latest
- 启动Zabbix服务器实例并将实例与创建的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 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-6.4-latest
- 启动Zabbix Web界面,并将实例与创建的MySQL服务器和Zabbix服务器实例链接
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 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
- 启动zabbix-agent客户端
docker run --name zabbix-agent \
-e ZBX_HOSTNAME="Zabbix server" \
-e ZBX_SERVER_HOST=172.20.240.3 \
-e ZBX_SERVER_PORT=10051 \
--network=zabbix-net \
--privileged \
--restart unless-stopped \
-p 10050:10050 \
-d zabbix/zabbix-agent:latest
ZBX_SERVER_HOST为zabbix-server服务端的地址
4、修改页面配置
将此ip修改为zabbix-agent容器客户端ip地址即可