I run a few side projects and I’ve gone through different stages of monitoring them. First it was just checking manually if the site loads. Then I added a simple curl ping in cron. Then I started tracking response times, certificate expiry, even visual changes on pages.
At some point I realized I was spending more time building monitoring than the actual product. Classic trap.
Curious what other devs use for keeping an eye on their stuff. Do you go with a hosted service, self-host something like Uptime Kuma, or just wing it with scripts?


So, first, it’s important to know that monitoring is not the same thing as measuring service levels to adhere to some SLA (service-level agreement, a promise to some customer). We have jargon for the latter; we say that we are measuring SLIs (service-level indicators) and checking them against SLOs (service-level objectives). An SLA is kind of like a set of SLOs.
For monitoring, in general, I recommend Prometheus-style metrics. I do not recommend OpenTelemetry in any encoding; it is far too complex compared to one metric per line of plain text. To keep metrics private, you can either scrape over SSH, scrape over an admin interface, scrape over LAN, or scrape over localhost-only listeners; read the documentation for your service’s metrics-exporting tool. AlertManager, from the reference Prometheus suite, is a great way to get pinged on SMS/Pushover/Signal/etc. when something is down or broken.
For SLAs, I just set up an Uptime Kuma for a small business. It’s a pretty good tool for SLAs and basic notifications in Slack/Mattermost/IRC/etc. but not capable of doing much more than uptime/ping checks.
I can’t recommend any hosted service in good faith. You’re not going to ever be able to price-justify it; self-hosting will always be more cost-effective. And since the hosted service isn’t going to have your runbook or credentials or experience, what can they really do besides ping you? Pay $5/mo to your cloud provider instead of over $20/mo to a hosted metrics scraper or dashboard host.