1. 环境准备
1.1 系统版本
[root@monitor ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@monitor ~]# uname -a
Linux monitor 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
1.2 Docker版本
[root@monitor ~]# docker version
Client: Docker Engine - CommunityVersion: 26.1.4API version: 1.45Go version: go1.21.11Git commit: 5650f9bBuilt: Wed Jun 5 11:32:04 2024OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 26.1.4API version: 1.45 (minimum version 1.24)Go version: go1.21.11Git commit: de5c9cfBuilt: Wed Jun 5 11:31:02 2024OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.33GitCommit: d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version: 1.1.12GitCommit: v1.1.12-0-g51d5e94docker-init:Version: 0.19.0GitCommit: de40ad0
1.3 Docker-compose 版本
[root@monitor ~]# docker-compose version
docker-compose version 1.25.4, build 8d51620a
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
2. Zabbix部署
2.1 前期准备
-
创建挂载目录
[root@monitor ~]# mkdir -p /mnt/zabbix_server/
[root@monitor ~]# mkdir alertscripts db fonts
-
目录结构
[root@monitor zabbix_server]# tree /mnt/zabbix_server/
/mnt/zabbix_server/
|-- alertscripts
|-- db
|-- docker-compose.yml
`-- fonts
-
下载中文语言包
[root@monitor ~]# cd /mnt/zabbix_server/fonts/
[root@monitor fonts]# wget https://dl.cactifans.com/zabbix_docker/msty.ttf
[root@monitor fonts]# mv msty.ttf DejaVuSans.ttf
2.2 yaml文件
version: '3'
services:zabbix-web-nginx-mysql:image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latestrestart: alwaysenvironment:- DB_SERVER_HOST=zabbix-mysql- MYSQL_DATABASE=zabbix- MYSQL_USER=zabbix- MYSQL_PASSWORD=zabbix- MYSQL_ROOT_PASSWORD=123qwe- ZBX_SERVER_HOST=zabbix-server-mysqlports:- 8080:8080volumes:- /etc/localtime:/etc/localtime- /mnt/zabbix_server/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttfnetworks:- zbx_netdepends_on:- zabbix-server-mysql- zabbix-mysqlzabbix-mysql:image: mysql:8.0.23restart: alwaysports:- 3307:3306 environment:- MYSQL_DATABASE=zabbix- MYSQL_USER=zabbix- MYSQL_PASSWORD=zabbix- MYSQL_ROOT_PASSWORD=123qwecommand:- mysqld- --default-authentication-plugin=mysql_native_password- --character-set-server=utf8- --collation-server=utf8_binvolumes:- /etc/localtime:/etc/localtime- /mnt/zabbix_server/db:/var/lib/mysqlnetworks:- zbx_netzabbix-java-gateway:image: zabbix/zabbix-java-gateway:centos-5.2-latestrestart: alwaysvolumes:- /etc/localtime:/etc/localtimenetworks:- zbx_netzabbix-server-mysql:image: zabbix/zabbix-server-mysql:centos-5.2-latestrestart: alwaysvolumes:- zabbix-server-volume:/etc/zabbix- /mnt/zabbix_server/alertscripts:/usr/lib/zabbix/alertscripts- /etc/localtime:/etc/localtimeports:- 10051:10051environment:- DB_SERVER_HOST=zabbix-mysql- MYSQL_DATABASE=zabbix- MYSQL_USER=zabbix- MYSQL_PASSWORD=zabbix- MYSQL_ROOT_PASSWORD=123qwe- ZBX_JAVAGATEWAY=zabbix-java-gateway- ZBX_JAVAGATEWAY_ENABLE=true- ZBX_JAVAGATEWAYPORT=10052depends_on:- zabbix-mysqlnetworks:- zbx_netzabbix-agent:image: zabbix/zabbix-agent:centos-5.2-latestrestart: alwaysports:- 10050:10050environment:- ZBX_HOSTNAME=Zabbix server- ZBX_SERVER_HOST=zabbix-server-mysql- ZBX_SERVER_PORT=10051networks:- zbx_netnetworks:zbx_net:driver: bridgevolumes:zabbix-server-volume:
2.3 开始部署
[root@monitor ~]# cd /mnt/zabbix_server/
[root@monitor ~]# docker-compose up -d
2.4 命令汇总
启动:docker-compose start
停止:docker-compose stop
删除:docker-compose down
构建:docker-compose up -d
查看状态:docker-compose ps
查看日志:docker-compose logs
查看进程:docker-compose top
2.5 登录页面
地址:http://IP: 8080,默认账号密码:Admin/zabbix