feat(zabbix): Add Zabbix monitoring blueprint with Docker Compose, template, and metadata (#450)

Added a complete Zabbix 7.4 blueprint including Docker Compose setup for PostgreSQL, server, web interface, SNMP traps, and Java gateway; configuration template for environment variables; logo image; and metadata entry for easy deployment and monitoring capabilities.
This commit is contained in:
Jainil Prajapati
2025-10-15 09:11:56 +05:30
committed by GitHub
parent 25b94d1e85
commit fba27d1857
4 changed files with 120 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
version: "3.8"
services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- zabbix-postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:alpine-7.4-latest
restart: unless-stopped
zabbix-snmptraps:
image: zabbix/zabbix-snmptraps:alpine-7.4-latest
restart: unless-stopped
volumes:
- zabbix-snmptraps:/var/lib/zabbix/snmptraps
- zabbix-mibs:/var/lib/zabbix/mibs
zabbix-server-pgsql:
image: zabbix/zabbix-server-pgsql:alpine-7.4-latest
restart: unless-stopped
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
ZBX_ENABLE_SNMP_TRAPS: "true"
ZBX_JAVAGATEWAY: zabbix-java-gateway
depends_on:
postgres:
condition: service_healthy
zabbix-java-gateway:
condition: service_started
zabbix-snmptraps:
condition: service_started
volumes:
- zabbix-server-data:/var/lib/zabbix
- zabbix-snmptraps:/var/lib/zabbix/snmptraps
- zabbix-mibs:/var/lib/zabbix/mibs
expose:
- 10051
healthcheck:
test: ["CMD", "pgrep", "zabbix_server"]
interval: 10s
timeout: 5s
retries: 5
zabbix-web-nginx-pgsql:
image: zabbix/zabbix-web-nginx-pgsql:alpine-7.4-latest
restart: unless-stopped
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
ZBX_SERVER_HOST: zabbix-server-pgsql
PHP_TZ: ${PHP_TZ}
ZBX_SERVER_NAME: ${ZBX_SERVER_NAME}
depends_on:
zabbix-server-pgsql:
condition: service_healthy
expose:
- 8080
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
interval: 30s
timeout: 10s
retries: 3
volumes:
zabbix-postgres-data:
zabbix-server-data:
zabbix-snmptraps:
zabbix-mibs:

BIN
blueprints/zabbix/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,17 @@
[variables]
main_domain = "${domain}"
postgres_password = "${password:32}"
[config]
[[config.domains]]
serviceName = "zabbix-web-nginx-pgsql"
port = 8080
host = "${main_domain}"
[config.env]
POSTGRES_DB = "zabbix"
POSTGRES_USER = "zabbix"
POSTGRES_PASSWORD = "${postgres_password}"
PHP_TZ = "UTC"
ZBX_SERVER_NAME = "Dokploy Zabbix Monitoring"

View File

@@ -5377,6 +5377,24 @@
"webui"
]
},
{
"id": "zabbix",
"name": "Zabbix",
"version": "7.4",
"description": "Zabbix is an open-source enterprise-grade monitoring platform for networks, servers, virtual machines, and cloud services. This template includes PostgreSQL, Nginx frontend, SNMP traps, and Java gateway.",
"logo": "image.png",
"links": {
"github": "https://github.com/zabbix/zabbix-docker",
"website": "https://www.zabbix.com/",
"docs": "https://www.zabbix.com/documentation/current/en/manual/installation/containers"
},
"tags": [
"monitoring",
"infrastructure",
"observability",
"alerting"
]
},
{
"id": "zipline",
"name": "Zipline",