ich habe ein vollständiges Zabbix-Monitoring für Mailcow entwickelt und als Open Source (GPLv3) veröffentlicht. Vielleicht ist es für den ein oder anderen hier nützlich.
Was macht es?
Ein Python-Collector läuft alle 60 Sekunden per systemd Timer, sammelt 246 Metriken und schreibt sie in eine JSON-Datei. Der Zabbix Agent liest nur noch die JSON — kein Docker-Zugriff, kein sudo, kein UnsafeUserParameters nötig.
Was wird überwacht?
Anomalie-Erkennung
Statt fester Schwellwerte nutzt das Monitoring trendavg() — es lernt automatisch was normal ist und alarmiert bei Abweichungen (z.B. 5× mehr Mails als üblich oder plötzlicher Drop auf unter 20%).
Zahlen
Installation
unzip mailcow-monitoring-v1.0.zip
cd mailcow-monitoring-v1.0
sudo ./install.sh
Danach Template importieren, Host zuweisen, fertig. Ein test-complete.sh prüft alle 246 Keys.
Voraussetzungen: Mailcow-Dockerized, Zabbix Server + Agent 2, Python 3, pflogsumm
Links
Was macht es?
Ein Python-Collector läuft alle 60 Sekunden per systemd Timer, sammelt 246 Metriken und schreibt sie in eine JSON-Datei. Der Zabbix Agent liest nur noch die JSON — kein Docker-Zugriff, kein sudo, kein UnsafeUserParameters nötig.
Was wird überwacht?
- Postfix: Queue, Connections, Deferred/Bounced, SASL-Fehler, Relay-Denied
- Postscreen: Pass/Reject/DNSBL/Pregreet (automatisch erkannt)
- Dovecot: Connections, Login-Fehler, IMAP-Disconnects
- Rspamd: Spam/Ham, Reject-Rate, Bayes-Training-Status (untrained/low/good/excellent)
- ClamAV: Signatur-Alter, DB-Version
- Watchdog: Health-Status aller 15 Services
- Docker: CPU, RAM, Restarts pro Container (via LLD)
- TLS/Zertifikate: HTTPS, IMAPS, Submission — Tage bis Ablauf
- DNS: SPF, DKIM, DMARC, PTR
- Security Audit: DANE/TLSA, MTA-STS, TLS-RPT, BIMI — Score 0-7
- Mailboxen & Domains: Quota pro Mailbox/Domain (LLD)
- Backup: Alter, Größe, fehlende Backups
- Mailflow (pflogsumm): Received/Delivered/Bounced mit Anomalie-Erkennung
- Quarantine, Queue Age, Sync Jobs, SOGo/Memcached, Updates
Anomalie-Erkennung
Statt fester Schwellwerte nutzt das Monitoring trendavg() — es lernt automatisch was normal ist und alarmiert bei Abweichungen (z.B. 5× mehr Mails als üblich oder plötzlicher Drop auf unter 20%).
Zahlen
- 246 UserParameters
- 303 Template Items + 21 LLD-Prototypen
- 71 Trigger (inkl. 5 Baseline-Anomalie)
- 4 LLD Discovery Rules (Domains, Mailboxen, Sync Jobs, Docker)
- 19 Dashboard-Pages
- Zabbix 7.0
Installation
unzip mailcow-monitoring-v1.0.zip
cd mailcow-monitoring-v1.0
sudo ./install.sh
Danach Template importieren, Host zuweisen, fertig. Ein test-complete.sh prüft alle 246 Keys.
Voraussetzungen: Mailcow-Dockerized, Zabbix Server + Agent 2, Python 3, pflogsumm
Links
- GitHub:https://github.com/linuser/Mailcow-Zabbix-Monitoring
- Blog (mit Details): Mailcow Zabbix Monitoring
Comment