Files
pipistrello 0f8620c405 02-tekhnohim logging: add Zabbix Global view to Grafana
Pin alexanderzobnin-zabbix-app 6.5.0 for synchronous startup installation on Grafana 13.1.0, keeping the plugin reproducible across Portainer redeploys.

Reconstruct Zabbix dashboard 1 as a provisioned Grafana dashboard with eight site rows, 27 full-width traffic/storage graphs, a one-hour default range, and a computer-selectable failed-logon panel. Traffic errors and discards use a separate packets-per-second right axis.

Validated the compose model with Docker Compose 5.3.0, parsed the dashboard JSON, confirmed the Zabbix datasource against API 7.0.24, and ran all 28 panel queries: 263 frames returned with no query errors. Five panels are blank because their source Zabbix items have no retained history.
2026-07-17 17:56:26 +03:00

72 lines
2.6 KiB
YAML

version: '3.8'
services:
loki:
# Keep a fixed release for reproducible Portainer redeploys. The 2.9.8 ->
# 3.7.2 upgrade was validated against a copy of this stack's TSDB v13 data.
image: grafana/loki:3.7.2
container_name: loki
command: -config.file=/etc/loki/config.yaml
restart: unless-stopped
volumes:
- /mnt/containers/logging/loki-config/config.yaml:/etc/loki/config.yaml:Z
- /mnt/containers/logging/loki-data:/loki:Z
networks:
- logging-nw
alloy:
# Keep a fixed release for reproducible Portainer redeploys. The current
# RFC3164 config and an end-to-end Alloy -> Loki probe passed on v1.16.1.
image: grafana/alloy:v1.16.1
container_name: alloy
command:
- run
- --server.http.listen-addr=0.0.0.0:12345
- --storage.path=/var/lib/alloy/data
- /etc/alloy/config.alloy
restart: unless-stopped
depends_on:
- loki
volumes:
- /mnt/containers/logging/alloy-config/config.alloy:/etc/alloy/config.alloy:Z
- /mnt/containers/logging/alloy-data:/var/lib/alloy/data:Z
ports:
# syslog intake for routers/switches/phones (UDP, RFC3164/5424)
- '514:514/udp'
# optional TCP syslog for devices that don't do UDP
- '1514:1514/tcp'
networks:
- logging-nw
grafana:
# Keep a fixed release for reproducible Portainer redeploys. Grafana 13.1.0
# is supported by the host's Fedora 44 / kernel 7.1 runtime; the old 10.4.2
# pin was only required by the retired Fedora 35 / kernel 5.16 host.
image: grafana/grafana:13.1.0
container_name: grafana
restart: unless-stopped
depends_on:
- loki
environment:
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
# Install the Zabbix app before Grafana starts so its provisioned
# datasource and dashboards are available immediately after redeploy.
- GF_PLUGINS_PREINSTALL_SYNC=alexanderzobnin-zabbix-app@6.5.0
volumes:
- /mnt/containers/logging/grafana-data:/var/lib/grafana:Z
- /mnt/containers/logging/grafana-config/provisioning/datasources:/etc/grafana/provisioning/datasources:Z
# Dashboard provisioning: the provider config below points at the dashboards
# dir; both are file-provisioned, so UI edits are not persisted — edit the
# JSON in git and redeploy.
- /mnt/containers/logging/grafana-config/provisioning/dashboards:/etc/grafana/provisioning/dashboards:Z
- /mnt/containers/logging/grafana-config/dashboards:/var/lib/grafana/dashboards:Z
networks:
- logging-nw
- reverseproxy-nw
networks:
logging-nw:
reverseproxy-nw:
external: true