Skip to content

Self-hosted alternatives to Better Stack

Better Stack is a hosted platform that combines uptime monitoring, incident management with on-call, status pages, log management, tracing and error tracking. Three listed apps do its main job and run in your own Cloudflare account.

Each answer comes from the app’s README and source code, compared with the features Better Stack describes on its own site.

  • Uptime Guard dashboard for a Production project with one service down, one warning and the recent checks of each service

    Uptime monitor for websites, ports, DNS, certificates and cron jobs, with Telegram alerts and public status pages

    Deploy
    One-click
    License
    MIT
    GitHub stars
    29 stars
    Last commit
  • UptimeFlare status page reporting all systems operational, with daily uptime bars and response-time charts

    Serverless uptime monitor and status page with HTTP, TCP and keyword checks, deployed through GitHub Actions

    Deploy
    Manual
    License
    Apache-2.0
    GitHub stars
    3.9k stars
    Last commit
  • Uptimer public status page with website and server monitors, 60-day availability bars and latency of the last 60 checks

    Uptime monitor and status page with HTTP and TCP checks, incidents and webhook alerts, on Workers, Pages and D1

    Deploy
    Manual
    License
    MIT
    GitHub stars
    481 stars
    Last commit

Better Stack features, app by app

FeatureUptime GuardUptimeFlareUptimer
Website and API uptime monitoringYesYesYes
Port, SSL, domain expiry and DNS checksYesPartlyPartly
Heartbeat monitoring for cron jobsYesNoNo
Checks from multiple regionsNoPartlyNo
Alerts by phone call, SMS, email, Slack and push, with escalationPartlyPartlyPartly
Incident management with on-call schedulesPartlyNoPartly
Status page with custom domain and email subscribersPartlyPartlyPartly
Log management, tracing and error trackingNoNoNo

Uptime monitor for websites, ports, DNS, certificates and cron jobs, with Telegram alerts and public status pages

What a Better Stack user would miss
It has no multi-location checks, no phone, SMS, email or Slack alerts, no on-call schedules, no subscribers on its status page, and no logs or tracing.
What it adds
Its README names Better Uptime among the pay-per-monitor tools it contrasts itself with; data stays in your Cloudflare account and sign-in needs a password plus an authenticator code.
  • Yes Website and API uptime monitoring. HTTP checks with status range, keyword and JSON field assertions.
  • Yes Port, SSL, domain expiry and DNS checks. TCP port, TLS certificate expiry, domain expiry and DNS record checks.
  • Yes Heartbeat monitoring for cron jobs. Heartbeat monitors with a unique /ping URL and a grace window.
  • No Checks from multiple regions. Checks run from the Worker with no location choice.
  • Partly Alerts by phone call, SMS, email, Slack and push, with escalation. Telegram and Web Push with reminders at widening gaps and a recovery message; no phone, SMS, email or Slack.
  • Partly Incident management with on-call schedules. Incidents open and close automatically with downtime and mean time to recovery; one owner account and no on-call schedules.
  • Partly Status page with custom domain and email subscribers. Read-only public page per project; no custom domain setting or subscribers.
  • No Log management, tracing and error tracking. No logs, tracing or error tracking.

Sources:github.com/calmray-solutions/uptime-guard#readmegithub.com/calmray-solutions/uptime-guard/blob/main/worker/src/checks.tsgithub.com/calmray-solutions/uptime-guard/blob/main/worker/src/index.ts

Serverless uptime monitor and status page with HTTP, TCP and keyword checks, deployed through GitHub Actions

What a Better Stack user would miss
It has no heartbeat or certificate checks, on-call schedules, subscribers or log tools, and alerts go only through webhooks.
What it adds
It runs from a one-minute cron trigger with a status page that can be served on your own domain, and data stays in your Cloudflare account.
  • Yes Website and API uptime monitoring. HTTP(S) checks with custom method, headers, body, status codes and keywords.
  • Partly Port, SSL, domain expiry and DNS checks. TCP port checks only; SSL certificate checks are not built.
  • No Heartbeat monitoring for cron jobs. No heartbeat monitor type.
  • Partly Checks from multiple regions. A monitor can run from one chosen region through a check proxy that you set up.
  • Partly Alerts by phone call, SMS, email, Slack and push, with escalation. Webhook alerts with a grace period; no phone, SMS or email.
  • No Incident management with on-call schedules. Incident history is generated from downtime; no acknowledgement or on-call schedules.
  • Partly Status page with custom domain and email subscribers. Own domain through a CNAME and an optional password; no subscribers.
  • No Log management, tracing and error tracking. No logs, tracing or error tracking.

Sources:github.com/lyc8503/uptimeflare#featuresgithub.com/lyc8503/UptimeFlare/blob/main/uptime.config.tsgithub.com/lyc8503/UptimeFlare/wiki/Setup-notification

Uptime monitor and status page with HTTP and TCP checks, incidents and webhook alerts, on Workers, Pages and D1

What a Better Stack user would miss
It has no heartbeat or certificate checks, escalation or on-call schedules, subscribers or log tools, and alerts go only through webhooks and Telegram.
What it adds
It combines checks, incident handling and a public status page in one app, and webhook messages can be signed with HMAC-SHA256.
  • Yes Website and API uptime monitoring. HTTP(S) probes with headers, body, status codes and keywords.
  • Partly Port, SSL, domain expiry and DNS checks. TCP port checks only.
  • No Heartbeat monitoring for cron jobs. No heartbeat monitor type.
  • No Checks from multiple regions. Probes run from the cron Worker with no location choice.
  • Partly Alerts by phone call, SMS, email, Slack and push, with escalation. Webhooks to Discord, Slack, ntfy or any URL, plus a Telegram preset; no phone, SMS or email.
  • Partly Incident management with on-call schedules. Incidents with a timeline and maintenance windows; no on-call schedules.
  • Partly Status page with custom domain and email subscribers. Public status page with incidents and maintenance; no custom domain setting or subscribers.
  • No Log management, tracing and error tracking. No logs, tracing or error tracking.

Sources:github.com/vriancao/uptimer#featuresgithub.com/VrianCao/Uptimer/blob/master/docs/notifications.mdgithub.com/VrianCao/Uptimer/blob/master/apps/worker/src/schemas/incidents.ts