Prometheus installieren, Mailcow-Exporter installieren und in Grafana visuell darstellen
Also meine Grundlage ist eine VM auf Proxmox mit Docker und Docker-Compose. Wobei Letzteres nicht benötigt wird.
Auf dieser VM habe ich erstmal Prometheus installiert:
wget https://github.com/prometheus/prometheus/releases/download/v2.53.3/prometheus-2.53.3.linux-amd64.tar.gz
capture_001_27022025_021731.jpg
Datei entpacken:
tar xvfz prometheus-2.53.3.linux-amd64.tar.gz
capture_004_27022025_022130.jpg
Dann ins Prometheus-Verzeichnis gewechselt:
cd prometheus-2.53.3.linux-amd64/
capture_002_27022025_021855.jpg
Dort dann die "prometheus.yml" angepasst an die URL inkl. API-Key der Mailcow ( s. 2. Screenshot ):
nano prometheus.yml
capture_004_27022025_022125.jpg
capture_004_27022025_022136.jpg

Den API-Key kann man im Mailcow Config-Menü ganz einfach generieren.
Ich habe dann einmal den Container manuell mit der Config-Datei gestartet:
docker run -p 9090:9090 -v /root/prometheus-2.53.3.linux-amd64/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
capture_003_27022025_021916.jpg
Um den Prometheus-Container immer automatisch zu starten, habe ich per Portainer den Prometheus-Container bei "Restart" auf "Always" gesetzt.
Alternativ geht das aber auch mit dem Befehl
docker run --restart always <image_name>
In meinem Fall heißt der Container "prom/prometheus:latest".
capture_008_27022025_023040.jpg
Am Besten ist es aber, über den Portainer diese Einstellung vorzunehmen, da per CLI ein neuer Container angelegt wird, warum auch immer.
Bezüglich Prometheus sind wir auf der Docker-VM fertig.
Auf der Mailcow habe ich ebenfalls Portatiner laufen. Hier müssen wir nicht so viel machen. Lediglich den Container "thej6s/mailcow-exporter" laden. Auch hier habe ich per Portainer den "Restart" auf "Always" gestellt, damit dieser immer automatisch geladen wird.
capture_005_27022025_022209.jpg
Das war's im Grunde schon.
Sobald auf der Mailcow der "thej6s/mailcow-exporter" läuft, werden die Daten schon zum Prometheus geschoben und wir können unser Dashboard im Grafana "basteln" bzw. eher gesagt "klauen". :)
Im Grafana dann noch die Datenquelle "Prometheus" hinzufügen:
capture_009_27022025_023640.jpg
Danach können wir die Dashboards in Grafana importieren.
Ich habe diese beide Dashboards genommen:
https://github.com/hagaram/mailcow-grafana-dashboard
https://github.com/remkolodder/mailcow-dashboard
Fertig. :)