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?

  • Corbin@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 hours ago

    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.

  • mesa@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 hours ago

    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.

  • wizardbeard@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    6
    ·
    15 hours ago

    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.

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    14 hours ago

    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.

  • ludrol@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    12 hours ago

    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.

  • hdsrob@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 hours ago

    Currently using UptimeRobot, but have used a few different products over the years.