DEV Community

Peon Sh
Peon Sh

Posted on Originally published at peon.sh

Self-Host Uptime Kuma: Free Status Monitoring for All Your Services

Check websites, APIs, containers and cron jobs with Uptime Kuma, a visually stunning self-hosted service that replaces UptimeRobot and Pingdom.

What you get for one container
With all the features included in the $15 to $50 per month monitoring SaaS available in one container and taking just 100 MB of RAM, uptime kuma provides: HTTP(S) checks with keyword and status code validation, TCP checks, DNS checks, ping, docker container check, heartbeat checks for cron jobs, SSL certificate expiration alerts, more than 90 alerting providers, and custom public status pages.

Minimum checking frequency is 20 seconds and better than most SaaS free plans. The storage limit is set solely by your storage space.

Deploy in five minutes
Deploy the template using a persistent volume attached to /app/data (containing its SQLite database and configuration files), give it the name status.example.com and set up the admin account. This is all you need to do to install it.

A monitoring set that catches real incidents
Monitor for each production URL: HTTPS monitor with status 200 and keyword appearing only when app is actually rendered.

APIs: Monitor for hitting the health endpoint, which verifies dependencies along with liveness

Databases and Redis: Monitor TCP monitors to respective internal ports which can be reached if Kuma uses the same Docker network

Scheduled jobs: Monitor push with a cron job which curls a particular URL successfully and alarms after a grace period; this will detect issues like “cron silently stopped” which other monitoring won’t catch

SSL expiry: Built-in feature in HTTPS monitors with warnings after 14 days and 7 days

Notifications and status pages
Use notifications that your team actually checks: Slack, Discord, Telegram, or email, and tie those notifications to monitors with reasonable retry settings (notify if 2 or 3 failures occur in a row to prevent false notifications). Status pages combine some of your monitors under one branded page answering the question “Is it down for everybody?” for free.

The one architectural rule
Do not run your lone monitor on the system it monitors: once the latter goes down, your notification capability will be taken out with it. You can run Kuma on a different small VPS ($4 should be enough) or have one outside monitor that keeps an eye on Kuma. Double-checking the monitor sounds excessive until it comes in handy.

Top comments (0)