Update zabbix server local app

This commit is contained in:
okxlin
2026-06-26 23:30:55 +08:00
parent 9a5682d88b
commit 969a01ff2c
14 changed files with 622 additions and 3 deletions
@@ -0,0 +1,7 @@
CONTAINER_NAME="zabbix-server"
PANEL_APP_PORT_HTTP2="10051"
PANEL_APP_PORT_HTTP="40047"
PANEL_DB_NAME="zabbix"
PANEL_DB_USER="zabbix"
PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl"
MYSQL_PASSWORD="MySQL_root_pwd"
@@ -0,0 +1,19 @@
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
character_set_server=utf8
lower_case_table_names=1
group_concat_max_len=1024000
log_bin_trust_function_creators=1
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
+104
View File
@@ -0,0 +1,104 @@
additionalProperties:
formFields:
- default: zabbix
envKey: MYSQL_PASSWORD
labelEn: MySQL root Password
labelZh: 数据库root密码
label:
en: 'MySQL root Password'
zh: '数据库root密码'
zh-Hant: '資料庫 root 密碼'
ja: 'MySQL root パスワード'
ko: 'MySQL root 비밀번호'
ru: 'Пароль root MySQL'
ms: 'Kata laluan root MySQL'
pt-br: 'Senha root do MySQL'
random: true
required: true
rule: paramComplexity
type: password
- default: zabbix
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
label:
en: 'Database'
zh: '数据库名'
zh-Hant: '數據庫名'
ja: 'データベース'
ko: '데이터베이스'
ru: 'База данных'
ms: 'Pangkalan Data'
pt-br: 'Banco de Dados'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
label:
en: 'User'
zh: '数据库用户'
zh-Hant: '數據庫用戶'
ja: 'ユーザー'
ko: '사용자'
ru: 'Пользователь'
ms: 'Pengguna'
pt-br: 'Usuário'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
label:
en: 'Password'
zh: '数据库用户密码'
zh-Hant: '數據庫用戶密碼'
ja: 'パスワード'
ko: '비밀번호'
ru: 'Пароль'
ms: 'Kata laluan'
pt-br: 'Senha'
random: true
required: true
rule: paramComplexity
type: password
- default: 10051
edit: true
envKey: PANEL_APP_PORT_HTTP2
labelEn: Gateway port
labelZh: 网关端口
label:
en: 'Gateway port'
zh: '网关端口'
zh-Hant: '網關埠'
ja: 'ゲートウェイポート'
ko: '게이트웨이 포트'
ru: 'Порт шлюза'
ms: 'Port gerbang'
pt-br: 'Porta do gateway'
required: true
rule: paramPort
type: number
- default: 40047
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
label:
en: 'Port'
zh: '端口'
zh-Hant: '埠'
ja: 'ポート'
ko: '포트'
ru: 'Порт'
ms: 'Port'
pt-br: 'Porta'
required: true
rule: paramPort
type: number
@@ -0,0 +1,76 @@
services:
mysql-server:
container_name: ${CONTAINER_NAME}-mysql
restart: always
networks:
- 1panel-network
volumes:
- ./data/:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
- ./log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_DATABASE=${PANEL_DB_NAME}
- MYSQL_USER=${PANEL_DB_USER}
- MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
command: --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
image: mysql:8.0.36
labels:
createdBy: Apps
zabbix-server-mysql:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP2}:10051"
environment:
- DB_SERVER_HOST=mysql-server
- DB_SERVER_PORT=3306
- MYSQL_DATABASE=${PANEL_DB_NAME}
- MYSQL_USER=${PANEL_DB_USER}
- MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
- ZBX_JAVAGATEWAY=zabbix-java-gateway
image: zabbix/zabbix-server-mysql:alpine-7.4.11
depends_on:
- zabbix-java-gateway
- mysql-server
labels:
createdBy: Apps
zabbix-java-gateway:
container_name: ${CONTAINER_NAME}-gateway
restart: always
networks:
- 1panel-network
image: zabbix/zabbix-java-gateway:alpine-7.4.11
labels:
createdBy: Apps
zabbix-web-nginx-mysql:
container_name: ${CONTAINER_NAME}-nginx
restart: always
networks:
- 1panel-network
environment:
- ZBX_SERVER_HOST=zabbix-server-mysql
- DB_SERVER_HOST=mysql-server
- MYSQL_DATABASE=${PANEL_DB_NAME}
- MYSQL_USER=${PANEL_DB_USER}
- MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
ports:
- ${PANEL_APP_PORT_HTTP}:8080
image: zabbix/zabbix-web-nginx-mysql:alpine-7.4.11
depends_on:
- zabbix-server-mysql
- mysql-server
labels:
createdBy: Apps
networks:
1panel-network:
external: true
@@ -0,0 +1,8 @@
CONTAINER_NAME="zabbix-server"
PANEL_APP_PORT_COMM="10051"
PANEL_APP_PORT_HTTP="40047"
PANEL_APP_PORT_SNMP="1162"
PANEL_DB_HOST="127.0.0.1"
PANEL_DB_NAME="zabbix"
PANEL_DB_USER="zabbix"
PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl"
+121
View File
@@ -0,0 +1,121 @@
additionalProperties:
formFields:
- default: ""
edit: true
envKey: PANEL_DB_HOST
key: postgresql
labelEn: Database Service
labelZh: 数据库服务
label:
en: 'Database Service'
zh: '数据库服务'
zh-Hant: '數據庫服務'
ja: 'データベースサービス'
ko: '데이터베이스 서비스'
ru: 'Сервис базы данных'
ms: 'Perkhidmatan Pangkalan Data'
pt-br: 'Serviço de Banco de Dados'
required: true
type: service
- default: zabbix
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
label:
en: 'Database'
zh: '数据库名'
zh-Hant: '數據庫名'
ja: 'データベース'
ko: '데이터베이스'
ru: 'База данных'
ms: 'Pangkalan Data'
pt-br: 'Banco de Dados'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
label:
en: 'User'
zh: '数据库用户'
zh-Hant: '數據庫用戶'
ja: 'ユーザー'
ko: '사용자'
ru: 'Пользователь'
ms: 'Pengguna'
pt-br: 'Usuário'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
label:
en: 'Password'
zh: '数据库用户密码'
zh-Hant: '數據庫用戶密碼'
ja: 'パスワード'
ko: '비밀번호'
ru: 'Пароль'
ms: 'Kata laluan'
pt-br: 'Senha'
random: true
required: true
rule: paramComplexity
type: password
- default: 10051
edit: true
envKey: PANEL_APP_PORT_COMM
labelEn: Gateway port
labelZh: 网关端口
label:
en: 'Gateway port'
zh: '网关端口'
zh-Hant: '網關埠'
ja: 'ゲートウェイポート'
ko: '게이트웨이 포트'
ru: 'Порт шлюза'
ms: 'Port gerbang'
pt-br: 'Porta do gateway'
required: true
rule: paramPort
type: number
- default: 40047
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
label:
en: 'Port'
zh: '端口'
zh-Hant: '埠'
ja: 'ポート'
ko: '포트'
ru: 'Порт'
ms: 'Port'
pt-br: 'Porta'
required: true
rule: paramPort
type: number
- default: 1162
edit: true
envKey: PANEL_APP_PORT_SNMP
labelEn: Snmptraps Port
labelZh: Snmptraps 端口
label:
en: 'Snmptraps Port'
zh: 'Snmptraps 端口'
zh-Hant: 'Snmptraps 埠'
ja: 'Snmptraps ポート'
ko: 'Snmptraps 포트'
ru: 'Порт Snmptraps'
ms: 'Port Snmptraps'
pt-br: 'Porta do Snmptraps'
required: true
rule: paramPort
type: number
@@ -0,0 +1,55 @@
services:
zabbix-snmptraps:
container_name: ${CONTAINER_NAME}-snmptraps
image: zabbix/zabbix-snmptraps:alpine-7.4.11
volumes:
- ./data/snmptraps:/var/lib/zabbix/snmptraps:rw
- ./data/mibs:/usr/share/snmp/mibs:ro
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_SNMP}:1162/udp"
restart: always
labels:
createdBy: Apps
zabbix-server-pgsql:
container_name: ${CONTAINER_NAME}
image: zabbix/zabbix-server-pgsql:alpine-7.4.11
environment:
- DB_SERVER_HOST=${PANEL_DB_HOST}
- POSTGRES_USER=${PANEL_DB_USER}
- POSTGRES_PASSWORD=${PANEL_DB_USER_PASSWORD}
- POSTGRES_DB=${PANEL_DB_NAME}
- ZBX_ENABLE_SNMP_TRAPS=true
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_COMM}:10051"
volumes:
- ./data/snmptraps:/var/lib/zabbix/snmptraps:rw
- ./data/mibs:/usr/share/snmp/mibs:ro
restart: always
labels:
createdBy: Apps
zabbix-web-nginx-pgsql:
container_name: ${CONTAINER_NAME}-nginx
image: zabbix/zabbix-web-nginx-pgsql:alpine-7.4.11
environment:
- ZBX_SERVER_HOST=zabbix-server-pgsql
- DB_SERVER_HOST=${PANEL_DB_HOST}
- POSTGRES_USER=${PANEL_DB_USER}
- POSTGRES_PASSWORD=${PANEL_DB_USER_PASSWORD}
- POSTGRES_DB=${PANEL_DB_NAME}
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:8080"
restart: always
labels:
createdBy: Apps
networks:
1panel-network:
external: true
@@ -0,0 +1,3 @@
#!/bin/bash
chown -R 1000:1000 data
+8
View File
@@ -0,0 +1,8 @@
CONTAINER_NAME="zabbix-server"
PANEL_APP_PORT_HTTP2="10051"
PANEL_APP_PORT_HTTP="40047"
PANEL_DB_HOST="127.0.0.1"
ZABBIX_DB_PORT="3306"
PANEL_DB_NAME="zabbix"
PANEL_DB_USER="zabbix"
PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl"
+126
View File
@@ -0,0 +1,126 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_DB_HOST
labelEn: Database Service
labelZh: 数据库服务
label:
en: 'Database Service'
zh: '数据库服务'
zh-Hant: '數據庫服務'
ja: 'データベースサービス'
ko: '데이터베이스 서비스'
ru: 'Сервис базы данных'
ms: 'Perkhidmatan Pangkalan Data'
pt-br: 'Serviço de Banco de Dados'
required: true
type: service
default: mysql
labelEn: Database Service
labelZh: 数据库服务
label:
en: 'Database Service'
zh: '数据库服务'
zh-Hant: '數據庫服務'
ja: 'データベースサービス'
ko: '데이터베이스 서비스'
ru: 'Сервис базы данных'
ms: 'Perkhidmatan Pangkalan Data'
pt-br: 'Serviço de Banco de Dados'
params:
- envKey: ZABBIX_DB_PORT
key: mysql
type: param
value: "3306"
required: true
type: apps
envKey: PANEL_DB_TYPE
values:
- label: "MySQL"
value: mysql
- default: zabbix
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
label:
en: 'Database'
zh: '数据库名'
zh-Hant: '數據庫名'
ja: 'データベース'
ko: '데이터베이스'
ru: 'База данных'
ms: 'Pangkalan Data'
pt-br: 'Banco de Dados'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
label:
en: 'User'
zh: '数据库用户'
zh-Hant: '數據庫用戶'
ja: 'ユーザー'
ko: '사용자'
ru: 'Пользователь'
ms: 'Pengguna'
pt-br: 'Usuário'
random: true
required: true
rule: paramCommon
type: text
- default: zabbix
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
label:
en: 'Password'
zh: '数据库用户密码'
zh-Hant: '數據庫用戶密碼'
ja: 'パスワード'
ko: '비밀번호'
ru: 'Пароль'
ms: 'Kata laluan'
pt-br: 'Senha'
random: true
required: true
rule: paramComplexity
type: password
- default: 10051
edit: true
envKey: PANEL_APP_PORT_HTTP2
labelEn: Gateway port
labelZh: 网关端口
label:
en: 'Gateway port'
zh: '网关端口'
zh-Hant: '網關埠'
ja: 'ゲートウェイポート'
ko: '게이트웨이 포트'
ru: 'Порт шлюза'
ms: 'Port gerbang'
pt-br: 'Porta do gateway'
required: true
rule: paramPort
type: number
- default: 40047
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
label:
en: 'Port'
zh: '端口'
zh-Hant: '埠'
ja: 'ポート'
ko: '포트'
ru: 'Порт'
ms: 'Port'
pt-br: 'Porta'
required: true
rule: paramPort
type: number
@@ -0,0 +1,51 @@
services:
zabbix-server-mysql:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP2}:10051"
environment:
- DB_SERVER_HOST=${PANEL_DB_HOST}
- DB_SERVER_PORT=${ZABBIX_DB_PORT}
- MYSQL_DATABASE=${PANEL_DB_NAME}
- MYSQL_USER=${PANEL_DB_USER}
- MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD}
- ZBX_JAVAGATEWAY=zabbix-java-gateway
image: zabbix/zabbix-server-mysql:alpine-7.4.11
depends_on:
- zabbix-java-gateway
labels:
createdBy: Apps
zabbix-java-gateway:
container_name: ${CONTAINER_NAME}-gateway
restart: always
networks:
- 1panel-network
image: zabbix/zabbix-java-gateway:alpine-7.4.11
labels:
createdBy: Apps
zabbix-web-nginx-mysql:
container_name: ${CONTAINER_NAME}-nginx
restart: always
networks:
- 1panel-network
environment:
- ZBX_SERVER_HOST=zabbix-server-mysql
- DB_SERVER_HOST=${PANEL_DB_HOST}
- MYSQL_DATABASE=${PANEL_DB_NAME}
- MYSQL_USER=${PANEL_DB_USER}
- MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD}
ports:
- ${PANEL_APP_PORT_HTTP}:8080
image: zabbix/zabbix-web-nginx-mysql:alpine-7.4.11
depends_on:
- zabbix-server-mysql
labels:
createdBy: Apps
networks:
1panel-network:
external: true
+4 -3
View File
@@ -9,8 +9,8 @@
- 本应用使用 Docker Compose 在 1Panel 中部署。
- 应用分类:工具。
- 支持架构:amd64。
- 可选版本:`latest`、`6.4.13`、`6.4.13&mysql`、`6.4.13-postgres`、`latest&mysql`、`latest-postgres`。
- 安装后按应用表单中的端口访问 Web UI、SSH 或对应服务。
- 可选版本:`latest`、`7.4.11`、`7.4.11&mysql`、`7.4.11-postgres`、`6.4.13`、`6.4.13&mysql`、`6.4.13-postgres`、`latest&mysql`、`latest-postgres`。
- 安装后按应用表单中的端口访问 Web UI 或对应服务。
## 端口
| 变量 | 说明 | 默认值 | 必填 |
@@ -35,7 +35,7 @@ password:zabbix
### 注意事项
**注意:默认版本是Zabbix-MySQL版本的,Zabbix 6.X的需求环境MySQL8**
**注意:默认版本是 Zabbix-MySQL 版本。Zabbix 7.4 要求 MySQL/Percona 8.0.30+ 或 PostgreSQL 13+。**
**`postgresql`的版本,资源占用会小很多。**
@@ -45,6 +45,7 @@ password:zabbix
- 带`&mysql`版本,会安装符合`Zabbix`格式要求的数据库版本
- 不带`&mysql`的版本,默认调用面板安装的数据库
- 官方文档说明 Zabbix 7.4.x 支持从 6.4.x 直接升级;旧的 6.4.13 版本目录保留用于老用户升级和回溯。
## 参考资料
- 官网: <https://www.zabbix.com/>
+40
View File
@@ -320,6 +320,46 @@
],
"allowedVersions": "/^2.5.*/"
},
{
"description": "Keep Zabbix Server 6.4 historical tracks on 6.4 Alpine images",
"matchFileNames": [
"apps/zabbix-server/6.4.*/*.yml"
],
"matchPackageNames": [
"zabbix/zabbix-server-mysql",
"zabbix/zabbix-web-nginx-mysql",
"zabbix/zabbix-java-gateway",
"zabbix/zabbix-snmptraps",
"zabbix/zabbix-server-pgsql",
"zabbix/zabbix-web-nginx-pgsql"
],
"allowedVersions": "/^alpine-6\\.4\\..*/"
},
{
"description": "Keep Zabbix Server 7.4 tracks on 7.4 Alpine images",
"matchFileNames": [
"apps/zabbix-server/7.4.*/*.yml"
],
"matchPackageNames": [
"zabbix/zabbix-server-mysql",
"zabbix/zabbix-web-nginx-mysql",
"zabbix/zabbix-java-gateway",
"zabbix/zabbix-snmptraps",
"zabbix/zabbix-server-pgsql",
"zabbix/zabbix-web-nginx-pgsql"
],
"allowedVersions": "/^alpine-7\\.4\\..*/"
},
{
"description": "Keep bundled Zabbix MySQL on the 8.0 line",
"matchFileNames": [
"apps/zabbix-server/*&mysql/*.yml"
],
"matchPackageNames": [
"mysql"
],
"allowedVersions": "/^8\\.0\\..*/"
},
{
"description": "Require dashboard approval for multi-service multi-image compose apps",
"matchFileNames": [