Monitoring Tiny Web Services

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Healthchecks

    Open-source cron job and background task monitoring service, written in Python & Django

  • healthchecks.io is a great service (and apparently can be self-hosted - https://github.com/healthchecks/healthchecks) that I use for both personal projects and at work.

    It works really well for cron jobs - while it works with a single call, you can also call a /start and finished endpoint and get extra insights such as runtime for your jobs.

    It would be nice if it had slightly more complex alerting rules available - for example, a "this service should run successfully at least once every X hours, but is fine to fail multiple times otherwise" type alert.

    We used to use it for monitoring some periodic downloads (like downloading partners' reports), and the expectation is the call will often time out or fail or have no data to download, which is technically a "failure", but only if it goes on for more than a day. But ended up writing our own monitoring of that logic into the downloader code, and reduced the healtchecks.io role to just "did the process run through without crashing?" logic instead.

  • uptime-kuma

    A fancy self-hosted monitoring tool

  • Currently got the cheapest VPS that I could (in my case from Time4VPS, some others might prefer Hetzner, or Scaleway Stardust instances), setup Uptime Kuma on it (https://github.com/louislam/uptime-kuma), now have checks every 5 minutes against 30+ URLs (could easily do each minute, but don't need that sort of resolution yet).

    It's integrated with Mattermost currently, seems to work pretty well. Could also set it up on another VPS, for example on Hetzner (which also has excellent pricing), could also integrate another alerting method such as sending e-mails, or anything else that's supported out of the box: https://github.com/louislam/uptime-kuma/issues/284

    Oh, also Zabbix for the servers themselves. Honestly, if things are as simple to setup as nowadays and you have about 50 EUR per year per node that you want (1 is usually enough, 2 is better from a redundancy standpoint, since then it becomes feasible to monitor the monitoring, others might go for 3 nodes for important things etc.), you don't even need to look for cloud services or complex systems out there.

    Of course, if someone knows of some affordable options for cloud services, feel free to share!

    I briefly checked the prices for a few and most of them are more expensive than just getting a VPS, setting up sshd to only use key based auth, throwing Let's Encrypt in front of the web UI (or maybe additional auth, or making it accessible only through VPN, whatever you want), adding fail2ban and unattended updates, and doing some other basic configuration that you probably have automated anyways.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • k3s

    Lightweight Kubernetes

  • One reason this is not feasible is that K8s doesn't really support secure multitenancy, so for every tenant, you'll need to spin up an entire K8s control plane, which includes a database and several services - this is what's driving the cluster fees. Keep in mind that customers also expect managed K8s to be highly available, so this cost is also going into things like replicating data, setting up load balancers, etc...

    Compare this to a serverless offering that is multitenant by design, the overhead cost of an extra user is basically zero, which is why they don't charge you a fee like this.

    IMO if you're a hobbyist interested in K8s, your best way to go is to install K3s, which is a lightweight, API compatible K8s alternative that runs on a single node. It's pretty nice if you don't care about fault tolerance or High Availability.

    https://k3s.io/

  • Huginn

    Create agents that monitor and act on your behalf. Your agents are standing by!

  • You could hack that together with huginn pretty easily

    https://github.com/huginn/huginn

  • shot-scraper

    A command-line utility for taking automated screenshots of websites

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts