docker compose方式部署Zabbix 7.0 LTS

docker compose方式部署 Zabbix 7.0 LTS

Zabbix 由几个主要的功能组件组成
  • zabbix-server 是 Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。
  • zabbix-agent 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
  • zabbix-web 提供基于 web 的界面(Apache 或 Nginx)。
  • Zabbix-Web-Service 在Zabbix5.4版中首次出现,基于Go编写。主要作用是定期发送巡检报告到指定邮件账户。
  • zabbix-java-gateway
  • zabbix-snmptraps
  • zabbix-proxy

可以根据不同组合,搭配不同的docker镜像,如下

Zabbix server 收集数据存储(可选MySQL、PostgreSQL等)

Zabbix web-interface

安装环境版本

单机安装以下服务。不使用docker安装zabbix agent,安装在容器中的agent监控的是容器的状态,而不是宿主机的状态。

OS: Rocky Linux 9.2 x86_64
docker compose组合: zabbix 7.0 LTS + MySQL 8.0 + Nginx
docker宿主机IP: 10.10.88.2 (这里选择宿主机安装zabbix agent2)

1、前期准备工作

省略docker安装步骤。

2、zabbix docker compose 配置文件

从 Zabbix github官网 获取7.0 LTS 版本 docker compose.yaml
Zabbix 为 Docker 提供了定义和运行复杂 Zabbix 组件的 compose 文件。这些 compose 文件可以在 Zabbix docker 官方镜像仓库 中找到。

官方提供的 docker compose 文件很多,都是根据组件搭配命名

这里使用基于 docker-compose_v3_alpine_mysql_latest.yaml 模板,调整适合公司使用。

基于alpine Linux镜像,Zabbix server 后端使用MySQL数据库, Zabbix web使用Nginx展示

也可以通过git方式获取基于 zabbix7.0 LTS配置(可选,非必须)

git clone https://github.com/zabbix/zabbix-docker.git

如果之前已经clone过了,重现拉取服务器最新配置,如:
git pull

git切换分支为7.0,也就是长期支持版本(LTS)
git checkout 7.0

[root@VM8802 zabbix-docker]# ll -tha
已省略部分……
-rw-r--r--  1 root root 2.8K Jun  6 11:20 .env
drwxr-xr-x  3 root root 4.0K Jun  6 11:20 env_vars
-rw-r--r--  1 root root  44K Jun  6 11:20 kubernetes.yaml
-rw-r--r--  1 root root  338 Jun  6 11:20 compose_additional_components.yaml
-rw-r--r--  1 root root 2.6K Jun  6 11:20 compose_databases.yaml
lrwxrwxrwx  1 root root   42 Jun  6 11:20 compose.yaml -> docker-compose_v3_alpine_mysql_latest.yaml
-rw-r--r--  1 root root  14K Jun  6 11:20 compose_zabbix_components.yaml
-rw-r--r--  1 root root 4.1K Jun  6 11:20 docker-compose_v3_ubuntu_mysql_latest.yaml
-rw-r--r--  1 root root 7.4K Jun  6 11:20 docker-compose_v3_ubuntu_mysql_local.yaml
-rw-r--r--  1 root root 4.1K Jun  6 11:20 docker-compose_v3_ubuntu_pgsql_latest.yaml
-rw-r--r--  1 root root 7.7K Jun  6 11:20 docker-compose_v3_ubuntu_pgsql_local.yaml
-rw-r--r--  1 root root 4.4K Jun  6 11:20 docker-compose_v3_alpine_mysql_latest.yaml
-rw-r--r--  1 root root 7.6K Jun  6 11:20 docker-compose_v3_alpine_mysql_local.yaml
-rw-r--r--  1 root root 4.4K Jun  6 11:20 docker-compose_v3_alpine_pgsql_latest.yaml
-rw-r--r--  1 root root 8.0K Jun  6 11:20 docker-compose_v3_alpine_pgsql_local.yaml
-rw-r--r--  1 root root 4.3K Jun  6 11:20 docker-compose_v3_ol_mysql_latest.yaml
-rw-r--r--  1 root root 7.4K Jun  6 11:20 docker-compose_v3_ol_mysql_local.yaml
-rw-r--r--  1 root root 4.3K Jun  6 11:20 docker-compose_v3_ol_pgsql_latest.yaml
-rw-r--r--  1 root root 7.7K Jun  6 11:20 docker-compose_v3_ol_pgsql_local.yaml

可以看到当前 compose.yaml 是链接指向 docker-compose_v3_alpine_mysql_latest.yaml
# docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
2.1 docker compose配置

官网提供的docker compose文件把所有组件都写上了。可根据自己需求,删除一些不需要的组件配置部分。

当前配置如下组件
zabbix-server
zabbix-server-mysql
zabbix-web-nginx-mysql
zabbix-java-gateway
zabbix-snmptraps

配置文件列表
# tree -a /data/zabbix/
/data/zabbix/
├── compose.yaml
└── zbx_env
    ├── .env_db_mysql
    ├── .env_java
    ├── .env_srv
    └── .env_web

官网默认配置了两个网段,其中zabbix-server和zabbix-java-gateway在不同的网段,导致互通有些干扰,这里就仅保留一个网段配置。

compose.yaml 完整配置(基于 docker-compose_v3_alpine_mysql_latest.yaml 修改)

services:
  zabbix-server:
    container_name: zabbix-server
    image: zabbix/zabbix-server-mysql:alpine-7.0-latest
    ports:
      - 10051
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值