3 ms·
While Grafana allows you to monitor metrics provided by Prometheus and Alertmanager allows you to configure alerts also based on these metrics, Gatus allows you
by TwinProduction 6y ago
While Grafana allows you to monitor metrics provided by Prometheus and Alertmanager allows you to configure alerts also based on these metrics, Gatus allows you to directly monitor your service(s) by sending requests to them at interval and evaluating the conditions that make your service(s) "healthy".
As mentioned in the README, Gatus can double as automated user acceptance tests to check if, for instance, an endpoint that you expect to return X has Y instead.
Let me know if that's not clear enough, I can provide more a in-depth example :)
- tomaaron 6y agoI like the simple UI and visualization of the timeline! It kinda reminds me of the Prometheus Blackbox exporter. I think you can achieve similar acceptance tests. See https://github.com/prometheus/blackbox_exporter https://github.com/prometheus/blackbox_exporter
- rurounijones 6y agoI think the keyword you might want to add to your README is "Canary". This can refer to a deployment tactic or a system that actively tests systems in the manner that this system does. So that you can be notified of client-side facing issues that might not be visible server-side without relying on actual clients to beat down the door and shout at you.
- oauea 6y agoIsn't that similar to using https://github.com/prometheus/blackbox_exporter https://github.com/prometheus/blackbox_exporter with prometheus, alertmanager and grafana?
- TwinProduction 6y agoI honestly didn't even know that was a thing. That said, it looks like it doesn't support JSONPath out of the box, though I was able to find a plugin that should allow you to parse JSON. I'm not sure how that would work out, but the point is that this is all-in-one. Beyond just that, the resource usage of Gatus is significantly lower than running Grafana, Prometheus and alertmanager individually - much less running all of them at the same time. My personal Kubernetes cluster is quite limited in resources after all, and running Prometheus does make that resource pool even smaller than it already is :p That said, even for clusters that don't have similar resource restrictions, I find that having all of this together in a single application makes it a lot easier to manage, though I guess that's up to the individual :)