// the find
stefanprodan/swarmprom
Docker Swarm instrumentation with Prometheus, Grafana, cAdvisor, Node Exporter and Alert Manager
A pre-wired Prometheus/Grafana/Alertmanager stack for monitoring Docker Swarm clusters, built as a docker-compose/stack file plus two ready-made Grafana dashboards. It's for someone running an actual Swarm cluster (not Kubernetes) who wants cluster and container metrics without hand-building the Prometheus config and node/cAdvisor join queries from scratch.
The PromQL tricks for Swarm are the real value here, not the dashboards: using a textfile-collector metric (node_meta) to join overlay-network instance IPs to actual node hostnames and IDs is a genuinely useful pattern that isn't documented well anywhere else. DNS-based service discovery via tasks.<service> lets new nodes get scraped automatically without a Consul/file_sd setup. The two Grafana dashboards (nodes, services) are detailed and cover real operational questions (IOPS, health check failures, per-service CPU/mem) rather than generic templated panels.
Last commit is from 2020 — five-plus years stale, with no updates for current Prometheus, Grafana, or Docker versions, and Docker Swarm itself is now a niche choice compared to Kubernetes, so the audience for this has shrunk a lot. It bundles Unsee, which has been unmaintained and effectively replaced by Alertmanager's own UI for years; anyone following this README today would be standing up a dead project. All the images are custom forks (stefanprodan/swarmprom-prometheus, etc.) rather than official upstream images with an auto-updating tag, so you inherit someone else's build pipeline and patching cadence, or lack thereof. The dockerd-exporter piece depends on Docker's 'experimental' engine metrics endpoint, which was never stabilized and is a soft dependency likely to break on any recent Docker Engine release.