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 - Community
Version: 26.1.4
API version: 1.45
Go version: go1.21.11
Git commit: 5650f9b
Built: Wed Jun 5 11:32:04 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 26.1.4
API version: 1.45 (minimum version 1.24)
Go version: go1.21.11
Git commit: de5c9cf
Built: Wed Jun 5 11:31:02 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.33
GitCommit: d2d58213f83a351ca8f528a95fbd145f5654e957
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: 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文件
[root@monitor zabbix_server]# vim docker-compose.yml
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=123qwe
- ZBX_SERVER_HOST=zabbix-server-mysql
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime
- /mnt/zabbix_server/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:
- 3307:3306
environment:
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123qwe
command:
- mysqld
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8
- --collation-server=utf8_bin
volumes:
- /etc/localtime:/etc/localtime
- /mnt/zabbix_server/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-volume:/etc/zabbix
- /mnt/zabbix_server/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=123qwe
- 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-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