Yeah fair enough this, personally want to monitor backend services too just for good measure. Also to prove to my friends and family that i can maintain a higher uptime % than cloudflare 🤣
Comment on How do you healthcheck your containers?
realitaetsverlust@piefed.zip 3 days ago
How do you notify yourself about the status of a container?
I usually notice if a container or application is down because that usually results in something in my house not working.
Is there a “quick” way to know if a container has healthcheck as a feature.
Check the documentation
Does healthcheck feature simply depend on the developer of each app, or the person building the container?
If the developer adds a healthcheck feature, you should use that. If there is none, you can always build one yourself. If it’s a web app, a simple HTTP request does the trick, just validate the returned HTML - if the status code is 200 and the output contains a certain string, it seems to be up. If it’s not a web app, like a database, a simple SELECT 1 on the database could tell you if it’s reachable or not.
Is it better to simply monitor the http(s) request to each service? (I believe this in my case would make Caddy a single point of failure for this kind of monitor).
If you only run a bunch of web services that you use on demand, monitoring the HTTP requests to each service is more than enough. Caddy being a single point of failure is not a problem because your caddy being dead still results in the service being unusable. And you will immediately know if caddy died or the service behind it because the error message looks different. If the upstream is dead, caddy returns a 502, if caddy is dead, you’ll get a “Connection timed out”
Sunny@slrpnk.net 3 days ago
mmmac@lemmy.zip 2 days ago
If you’re looking for this you can use something like uptime kuma, which pings each service and looks for a specific response or it will ping you
I doubled down recently and now have Grafana dashboards + alerts for all of my proxmox hosts, their containers etc.
Alerts are mainly mean CPU, memory or disk utilization > 80% over 5 minutes
Sunny@slrpnk.net 2 days ago
As i wrote in my post, im already using uptimekuma to monitor my services. However if i choose the “docker container” mode foe uptimekuma to monitor it cant actually so that, as there is no health feature in most containers, so this results in 100% downtime 🙃 Other way would to do it would to just check the url of the service whoch ofc works too, but its not a “true” health check.
lps2@lemmy.ml 3 days ago
For databases, many like postgres have a ping / ready command you can use to ensure it’s up and not have the overhead of an actual query! Redis is the same way (I feel like pg and redis health checks covers a lot of the common stack patterns)