What's your approach to monitoring side projects without overengineering it?
from indidev@lemmy.world to programming@programming.dev on 04 Jul 20:42
https://lemmy.world/post/49038583
from indidev@lemmy.world to programming@programming.dev on 04 Jul 20:42
https://lemmy.world/post/49038583
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?
#programming
threaded - newest
Currently using UptimeRobot, but have used a few different products over the years.
If it’s a side project, then by definition I’m doing it for fun or to build certain skills, not as some sort of “product”. Personally, I don’t do “professional” work outside of my job.
But yeah, getting sidetracked is absolutely a classic trap.
At risk of sidetracking more, could you turn the monitoring you’re doing into its own project or something at least re-usable?
If not, I’d either self-host something or just continue using what you’ve made as-is.
Isn’t there a bunch of good monitoring solutions and all you need to configure is, X should be reachable, or it should answer with a HTTP status code 200. And that’s the needed effort per service?
Idk which monitoring software is best of as today, here’s a list: https://github.com/awesome-foss/awesome-sysadmin#monitoring–status-pages
I guess there’s lots of edge cases, though. Testing for example whether some web form still triggers an email in your inbox is probably something that requires custom logic.
I have my (1) project as homepage, if it doesn’t load on browser startup then I have ze problem. (I am a monster with disabled tab restoring.)
IDK what I will do if I will have more than one, but that’s future me problem.
If i cant do it in a weekend i usually hire someone.
…unless it brings me joy. Then its fun like setting up my miyoo mini plus with a cystom pokrmon theme.
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.