diff --git a/apps/zabbix-proxy/7.4.5/data.yml b/apps/zabbix-proxy/7.4.5/data.yml new file mode 100644 index 000000000000..46e60d7dc367 --- /dev/null +++ b/apps/zabbix-proxy/7.4.5/data.yml @@ -0,0 +1,95 @@ +additionalProperties: + formFields: + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_RECEIVE + labelEn: Data receiving port + labelZh: 数据接收端口 + label: + label: + en: Data Receiving Port + zh: 数据接收端口 + es-es: Puerto de recepción de datos + fa: پورت دریافت داده + zh-Hant: 資料接收埠 + ja: データ受信ポート + ko: 데이터 수신 포트 + ms: Port Penerimaan Data + pt-br: Porta de Recebimento de Dados + ru: Порт приема данных + tr: Veri Alma Portu + required: true + rule: paramPort + type: number + - default: "" + envKey: ZABBIX_SERVER + labelEn: Zabbix Server Address + labelZh: Zabbix服务端地址 + label: + en: Zabbix Server Address + zh: Zabbix服务端地址 + es-es: Dirección del servidor Zabbix + fa: آدرس سرور Zabbix + zh-Hant: Zabbix伺服器位址 + ja: Zabbixサーバーアドレス + ko: Zabbix 서버 주소 + ms: Alamat Pelayan Zabbix + pt-br: Endereço do servidor Zabbix + ru: Адрес сервера Zabbix + tr: Zabbix Sunucu Adresi + required: true + type: text + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + labelEn: Database Service + labelZh: 数据库服务 + label: + en: Database Service + zh: 数据库服务 + es-es: Servicio de base de datos + fa: سرویس پایگاه داده + zh-Hant: 資料庫服務 + ja: データベースサービス + ko: 데이터베이스 서비스 + ms: Perkhidmatan Pangkalan Data + pt-br: Serviço de banco de dados + ru: Служба базы данных + tr: Veritabanı Hizmeti + required: true + type: apps + values: + - label: MySQL + value: mysql + - default: "" + envKey: PANEL_DB_ROOT_PASSWORD + labelEn: Root Password + labelZh: Root 密码 + required: true + type: password + - default: zabbix_proxy + envKey: PANEL_DB_NAME + labelEn: Database name + labelZh: 数据库名称 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: Database username + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix@123 + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database Password + labelZh: 数据库密码 + random: true + required: true + type: password diff --git a/apps/zabbix-proxy/7.4.5/docker-compose.yml b/apps/zabbix-proxy/7.4.5/docker-compose.yml new file mode 100644 index 000000000000..57406b29d13e --- /dev/null +++ b/apps/zabbix-proxy/7.4.5/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.8' + +services: + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:alpine-7.4.5 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_RECEIVE}:10051" + environment: + - TZ=Asia/Shanghai + - ZBX_HOSTNAME=zabbix-proxy + - ZBX_SERVER_HOST=${ZABBIX_SERVER} + - ZBX_SERVER_PORT=10051 + - ZBX_PROXYMODE=1 + - DB_SERVER_HOST=${PANEL_DB_HOST} + - DB_SERVER_PORT=3306 + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/zabbix-proxy/README.md b/apps/zabbix-proxy/README.md new file mode 100644 index 000000000000..16df7a6f11c4 --- /dev/null +++ b/apps/zabbix-proxy/README.md @@ -0,0 +1,33 @@ +# Zabbix Proxy 分布式监控代理 +Zabbix分布式监控代理组件,适用于多机房、跨网段、内网隔离监控场景。采用主动上报模式,仅Proxy单向访问Zabbix Server,内网隔离环境更安全;应用依赖外置独立MySQL数据库,容器启动后自动完成数据库表初始化。 + +## 组件说明 +| 组件 | 说明 | 默认状态 | +|------|------|----------| +| zabbix-proxy-mysql | Zabbix分布式监控代理,内置MySQL客户端 | 常驻运行 | + +## 镜像说明 +> 注意:镜像名称中的 `mysql` 仅代表内置MySQL客户端,**不自带数据库服务**,本应用必须外接独立MySQL。 + +| 镜像 | 标签 | +|------|------| +| zabbix/zabbix-proxy-mysql | alpine-7.4.5 | + +## 安装前提 +1. 提前准备**独立外置MySQL数据库**(支持MySQL 5.7+ / MariaDB 10.5+),禁止与Zabbix Server共用数据库; +2. 服务器最低配置:内存 ≥1G,CPU ≥1核; + +## 安装后 +1. 容器启动后自动连接外置数据库,自动创建Proxy所需数据表; +2. 启动后主动向填写的Zabbix Server注册代理节点; +3. 登录Zabbix Server网页后台,进入「管理-代理」即可查看本Proxy在线状态,分配对应内网主机监控。 + +## 端口说明 +| 端口 | 默认值 | 用途 | +|------|--------|------| +| Proxy通信端口 | 10051 | Proxy与Zabbix Server数据上报通信端口 | + +## 相关链接 +- 官方官网:https://www.zabbix.com +- Proxy官方文档:https://www.zabbix.com/documentation/current/manual/distributed_monitoring/proxies +- 官方GitHub:https://github.com/zabbix/zabbix diff --git a/apps/zabbix-proxy/README_en.md b/apps/zabbix-proxy/README_en.md new file mode 100644 index 000000000000..acc1068c88c2 --- /dev/null +++ b/apps/zabbix-proxy/README_en.md @@ -0,0 +1,33 @@ +# Zabbix Proxy Distributed Monitoring Proxy +Zabbix distributed monitoring proxy component, suitable for monitoring scenarios with multiple computer rooms, cross-network segments, and isolated internal networks. It adopts the active reporting mode where only the Proxy initiates one-way access to the Zabbix Server, delivering higher security for isolated intranet environments. This component relies on an external independent MySQL database, and automatic initialization of database tables will be completed after the container starts. + +## Component Description +| Component | Description | Default Status | +| ---- | ---- | ---- | +| zabbix-proxy-mysql | Zabbix distributed monitoring proxy with built-in MySQL client | Persistently running | + +## Image Instructions +Note: The `mysql` suffix in the image name only indicates a built-in MySQL client. The image does NOT include a database service. An external independent MySQL instance is mandatory for this application. + +| Image | Tag | +| ---- | ---- | +| zabbix/zabbix-proxy-mysql | alpine-7.4.5 | + +## Prerequisites for Installation +1. Prepare an independent external MySQL database in advance (MySQL 5.7+ / MariaDB 10.5+ supported). Sharing a database with Zabbix Server is prohibited. +2. Minimum server specifications: Memory ≥ 1 GB, CPU ≥ 1 core. + +## Post-Installation Behavior +1. The container automatically connects to the external database after startup and creates all data tables required by the Proxy. +2. The Proxy actively registers itself as an agent node to the specified Zabbix Server after launch. +3. Log in to the Zabbix Server web backend, navigate to **Administration → Proxies** to check the online status of this Proxy and assign intranet hosts for monitoring. + +## Port Specifications +| Port Type | Default Value | Purpose | +| ---- | ---- | ---- | +| Proxy Communication Port | 10051 | Data reporting communication port between Proxy and Zabbix Server | + +## Relevant Links +- Official Website: https://www.zabbix.com +- Official Proxy Documentation: https://www.zabbix.com/documentation/current/manual/distributed_monitoring/proxies +- Official GitHub Repository: https://github.com/zabbix/zabbix diff --git a/apps/zabbix-proxy/data.yml b/apps/zabbix-proxy/data.yml new file mode 100644 index 000000000000..821780aff8a9 --- /dev/null +++ b/apps/zabbix-proxy/data.yml @@ -0,0 +1,38 @@ +name: Zabbix Proxy +tags: + - 监控 +title: Zabbix分布式监控代理组件 +description: Zabbix分布式监控代理,适用于多机房、内网隔离监控场景 +additionalProperties: + key: zabbix-proxy + name: Zabbix Proxy + tags: + - Tool + - Server + shortDescZh: Zabbix分布式监控代理,适用于多机房、内网隔离场景 + shortDescEn: Distributed monitoring proxy for Zabbix, support isolated intranet deployment + description: + en: Distributed monitoring proxy for Zabbix, support isolated intranet deployment + zh: Zabbix分布式监控代理,适用于多机房、内网隔离监控场景 + es-es: Proxy de monitoreo distribuido para Zabbix, compatible con implementaciones de intranet aislada + fa: پروکسی مانیتورینگ توزیع شده برای Zabbix، پشتیبانی از استقرار شبکه داخلی مجزا + zh-Hant: Zabbix分散式監控代理,適用於多機房、內網隔離監控場景 + ja: Zabbixの分散監視プロキシ、隔離されたイントラネットへの導入に対応 + ko: Zabbix 분산 모니터링 프록시, 격리된 인트라넷 배포 지원 + ms: Proksi pemantauan teragih untuk Zabbix, menyokong penggunaan intranet terpencil + pt-br: Proxy de monitoramento distribuído para Zabbix, compatível com implantação de intranet isolada + ru: Распределенный прокси мониторинга для Zabbix, поддерживает развертывание в изолированных внутренних сетях + tr: Zabbix için dağıtık izleme proxy'si, izole intranet dağıtımını destekler + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 45 + website: https://www.zabbix.com/ + github: https://github.com/zabbix/zabbix + document: https://www.zabbix.com/documentation/current/manual/distributed_monitoring/proxies + memoryRequired: 512 + architectures: + - amd64 + - arm64 + - ppc64le + - s390x diff --git a/apps/zabbix-proxy/logo.png b/apps/zabbix-proxy/logo.png new file mode 100644 index 000000000000..8cabcacd99d0 Binary files /dev/null and b/apps/zabbix-proxy/logo.png differ