Uptime Kuma monitoring: Docker Container type vs https Healthcheck api? reddit / selfhosted ---------------------------------------------------------------------- geroulas · 2023-12-17 11:02 What is the best way of monitoring Docker Containers with Uptime Kuma? 1. Using Docker Container type? 2. Using HTTP(s) type with url of healthcheck api? 3. Running healthcheck on the Container itselfh with healtcheck api url and then on UptimeKuma useing just Docker type. Does Uptime Kuma get more information about what is happening to a container by using one method versus the others? ​ ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 11:11 The best way is always if the container image itself reports its health state based on its metric (like the Ethereum container is running but the node is not synced), sadly most images don't really perform a proper healthchech so an external verificatio is often required. This is mostly done on the load balancer (since it needs to know which images are working and which are down). So, for your uptime Kuma is probably the best approach if you don't load balance/proxy your requests. ---------------------------------------------------------------------- sid2k · 2023-12-17 11:30 I'm implementing something similar with Gatus instead of Kuma. For containers where checking the served content is not enough I am doing a "is it running" check, but it's obviously not enough. Ideally I'll check the healthcheck, but most containers don't come with one and will need to spend some time writing them... ---------------------------------------------------------------------- daedric · 2023-12-17 16:49 Docker container type: pointless. The container can be up, the healthcheck sucessfull, and the service still failing. 1. Setup healthchecks in the docker(-compose.yaml). 2. Setup http**s** (or ping? if relevant) on a EXTERNAL uptime kuma. You could use docker-proxy to monitor docker remotely, but i find it pointless... Quote often i had containers up, the health check working... but the service failing because of a expired certificate, a error which would only trigger on external access, etc etc. The docker healthchecks are important, specially when services DEPEND on one another, like waiting for a DB to be triggered as healthy (and not started) before the services that depend on it start. The external kuma will be similar to the same access you would trigger, making any error similar to what you would observe. Also, Kuma has NOTIFICATIONS, which won't work if it's in the same machine and it lost access to the internet for instance. ---------------------------------------------------------------------- geroulas · 2023-12-17 21:06 Some services provide more information on their healthchecks beyond just service is running. Lets say you setup a healthcheck waiting for a DB as you said: When using HTTPS on uptimekuma it will notify you that DB is down. If you use Docker Container Type, which now looks at the healthcheck you created will it pass the information tha DB is down (just like with https) or it will just inform you that the container is down? Basicaly using the best of both, easy managment with Docker Type plus all the right healtcheck information you setup on your container. (Also lots of services like radarr comes with proper healthcheck in dockerfile)