Prometheus installieren, Mailcow-Exporter installieren und die "Mailcow" in Grafana visuell darstellen
Also meine Grundlage ist eine VM auf Proxmox mit Docker und Docker-Compose. Wobei Letzteres nicht benötigt wird.
Ebenfalls empfehle ich immer ein Snapshot / Backup anzulegen! :)
Auf dieserder Docker-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
Datei entpacken:
tar xvfz prometheus-2.53.3.linux-amd64.tar.gz
Dann ins Prometheus-Verzeichnis gewechselt:
cd prometheus-2.53.3.linux-amd64/
Dort dann die "prometheus.yml" angepasst an die URL inkl. API-Key der Mailcow ( s. 2. Screenshot ):
nano prometheus.yml

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
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".
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.
docker run -p '9099:9099' thej6s/mailcow-exporter
Auch hier habe ich per Portainer den "Restart" auf "Always" gestellt, damit dieser immer automatisch geladen wird.
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:
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. :)







