zabbix5.2 安装(docker -compose 方式) 推荐
使用docker-compose部署zabbix服务 - Ronnybox - 博客园 (cnblogs.com)
1-首先准备几个文件:
mkdir /data/zabbix -p
cd /data/zabbix
mkdir alertscripts db fonts
# 下载中文字体防止中文乱码
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
mv msty.ttf DejaVuSans.ttf
然后
mv DejaVuSans.ttf fonts
2- 准备docker-compose 文件
cat docker-compose.yml
cat > docker-compose.yml << EOF
version: '3'
services:
zabbix-web-nginx-mysql:
image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
restart: always
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123456
- ZBX_SERVER_HOST=zabbix-server-mysql
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime
- /data/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
networks:
- zbx_net
depends_on:
- zabbix-server-mysql
- zabbix-mysql
zabbix-mysql:
image: mysql:8.0.23
restart: always
ports:
- 3306:3306
environment:
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123456
command:
- mysqld
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8
- --collation-server=utf8_bin
volumes:
- /etc/localtime:/etc/localtime
- /data/zabbix/db:/var/lib/mysql
networks:
- zbx_net
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:centos-5.2-latest
restart: always
volumes:
- /etc/localtime:/etc/localtime
networks:
- zbx_net
zabbix-server-mysql:
image: zabbix/zabbix-server-mysql:centos-5.2-latest
restart: always
volumes:
- zabbix-server-vol:/etc/zabbix
- /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /etc/localtime:/etc/localtime
ports:
- 10051:10051
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123456
- ZBX_JAVAGATEWAY=zabbix-java-gateway
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAYPORT=10052
depends_on:
- zabbix-mysql
networks:
- zbx_net
zabbix-agent:
image: zabbix/zabbix-agent:centos-5.2-latest
restart: always
ports:
- 10050:10050
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=zabbix-server-mysql
- ZBX_SERVER_PORT=10051
networks:
- zbx_net
networks:
zbx_net:
driver: bridge
volumes:
zabbix-server-vol:
EOF
3 运行
找到 docker-compose.yml
docker compose up -d
4- 访问:
http://10.0.0.206:8080/
默认密码为Admin/zabbix
如果是在同一个机器上,需要使用和zabbix_server相同的网络
5- zabbix-agent 部署:
如果我们在docker中部署zabbix-agent,那么zabbix-server监控到的就是容器状态,而非是宿主机状态
这里我们用 原生的方式配置配置一下:
rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
yum -y install zabbix-agent
2.配置zabbix客户端服务器信息 启动客户端
vim /etc/zabbix/zabbix_agentd.conf
注意这里的ip
Server=172.16.1.71
1.修改zabbix_agentd.conf配置文件,将Server=IP IP修改为docker的ip地址(zabbix-server)
Server=172.22.0.4
2.在zabbi-server的web界面将主机的客户端ip地址设置为服务器的ip地址10.0.0.206
启动 agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
如果需要配置 docker版agent 可以参考: docker快速搭建并使用Zabbix_docker安装zabbix-CSDN博客
{#more-17317}
在生产环境中,我们需要把 zabbxi server 配置文件 挂载出来 ,修改配置文件后只要 重启对应的 容器就可以
怎么挂载呢?
docker cp zabbix52-zabbix-server-mysql-1:/etc/zabbix/zabbix_server.conf /data/zabbix/config/
然后需要 在 docker-compose.yml 中修改
- /data/zabbix/config:/etc/zabbix/
然后
docker compose down
docker compose up -d