Zabbix6.0容器化部署(Docker-Composed)

Zabbix 为每个 Zabbix 组件提供 Docker image 作为可移植和自给自足的容器,以加快部署和更新过程。

  • Zabbix 组件在 Ubuntu、Alpine Linux 和 CentOS 基础 image 上提供:
  • Zabbix 组件支持 MySQL 和 PostgreSQL 数据库、Apache2 和 Nginx Web 服务器。

1. Zabbix 组件介绍

Zabbix 监控平台无论以何种方式运行都需要安装的核心组件如下(web + server + agent + db):

  1. zabbix-web:提供zabbix监控的UI界面服务(端口:80、443)
  2. zabbix-server:提供zabbix监控程序的服务(端口:10051)
  3. zabbix-agent:提供zabbix-server自身的监控代理服务(端口:10050)
  4. zabbix-db:提供zabbix服务存储的数据库服务(端口:5432、3306)
  5. zabbix-snmptraps(可选):提供snmp管理监控的服务(端口:162)

Zabbix 组件运行模式:

在这里插入图片描述

2. Docker 运行和变量

因为 Zabbix 的组件较多,单独运行 docker run 不便于后期的管理和维护,理解 Zabbix Docker 的运行需要一定的 Docker 容器的基础知识,本次目的是使用 compose 文件编排和运行 Zabbix。

每个 Zabbix 以一个 Docker 镜像为单位,设置镜像之间的变量来实现各个组件的通信,从 Zabbix 官方提供的 compose 文件中我们可以很好的理解组件之间的关联。

GitHub 提供的 compose install 安装部署文件有两种方式:本地构建部署和远程镜像部署。

  • 本地构建部署:本地构建后镜像后运行(docker-compose_v3_centos_pgsql_local.yaml)
  • 远程镜像部署:拉取远程仓库的镜像运行(docker-compose_v3_centos_pgsql_latest.yaml)

3. Compose 文件说明

本次演示使用 docker-compose_v3_centos_pgsql_latest.yaml 作为演示部署的文件,我们选择提供 web 服务组件和数据库服务分别是:nginx ,postsql ,通过 docker compose 部署 zabbix 组件分为了以下文件:

  • .env:设置全局变量,用于定义 compose 镜像配置的信息和变量。
  • env_vars.env 文件中定义镜像变量的目录路径
  • compose_databases.yaml:定义 databases 容器的运行
  • compose_zabbix_components.yaml:定义 zabbix 组件容器的运行
  • docker-compose_v3_centos_pgsql_latest.yaml:主运行配置文件,容器运行、网络定义、密码等。

env_vars.env 文件中 ENV_VARS_DIRECTORY 变量定义镜像运行时所使用的变量的目录路径:

  • .env_srv:设置 zabbix-server 配置文件的变量,根据需要修改(默认即可)
  • .env_agent:设置 zabbix-agent 配置文件的变量,根据需要修改(默认即可)
  • .env_db_pgsql:设置 zabbix-db 的数据库信息(默认数据库:zabbix)
  • .env_snmptraps:设置 zabbix 的 snmp组件信息( ZBX_SNMP_TRAP_USE_DNS=true 开启功能)
  • .env_web:设置 zabbix-web 的配置信息(设置PHP时区 PHP_TZ=Asia/Shanghai
  • .POSTGRES_PASSWORD:设置 postgres 服务中 zabbix 数据库的密码(zabbix)
  • .POSTGRES_USER:设置 postgres 服务中 zabbix 数据库的用户名(zabbix)

运行 compose 文件的步骤:

# 创建项目存放的目录
mkdir /usr/local/container-data/docker-zabbix
cd /usr/local/container-data/docker-zabbix

# 上传和拷贝 compose 文件和变量环境
链接:https://pan.baidu.com/s/1Rsw9PAvcX_neXap6uEFeKg?pwd=43tu

# 创建 .env 文件定义的数据目录
mkdir ./zbx_env

# 运行 compose 文件(plugin插件式安装的 ompose)
docker compose -f ./docker-compose_v3_centos_pgsql_latest.yaml up -d
# [+] Running 5/0
#  ✔ Container zbx-server        started               0.0s 
#  ✔ Container zbx-web-nginx     started               0.0s 
#  ✔ Container zbx-agent         started               0.0s 
#  ✔ Container zbx-snmptraps     started               0.0s 
#  ✔ Container zbx-db            started               0.0s
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值