OpenUptime

OpenUptime as a Better Stack alternative

Better Stack bundles uptime monitoring with incident management, on-call scheduling and log management in one hosted product. OpenUptime is narrower: monitoring, incidents, alerts and status pages, open source and self-hostable.

Better Stack (which includes the product formerly called Better Uptime) is a closed-source, hosted platform. Uptime monitoring is one part of it, next to on-call and incident management and log management. Information about other products is general and may be out of date. Check their own sites for current features and pricing.

At a glance

TopicOpenUptimeBetter Stack
LicenseMIT license, source on GitHubClosed source
Where it runsHosted service, or self-host with Docker and Postgres, or on Cloudflare Workers with PostgresHosted by the vendor only
ScopeUptime monitoring, incidents, alerts and status pagesUptime monitoring plus on-call, incident management and logs
AlertingEmail, Slack, Lark / Feishu, Telegram, PagerDuty and webhooks; per-monitor routing, repeat reminders, escalation until acknowledged; iOS pushOn-call scheduling and phone or SMS alerts are part of the product; check their docs for what each plan includes
AutomationREST API, JSON import and export of monitors, and an MCP server for AI agents (OAuth)Has an API; check their docs for coverage
PricingFree to self-host. The hosted service has plans; check the current onesCheck their current pricing

What OpenUptime does not do

Check this list before you switch. It is short, and it is complete as of this page.

  • No TLS certificate expiry monitoring.
  • No ICMP ping monitor; use a TCP or HTTP check instead.
  • No browser-based or multi-step transaction checks, and no real user monitoring.
  • No SMS or phone-call alerts and no on-call rotation schedules. Escalation works by channel and by minutes unacknowledged.
  • Database monitors check that the server answers; they send no credentials and run no queries.

What Better Stack is known for that OpenUptime does not do

  • On-call schedules and phone-call or SMS alerts. OpenUptime escalates by channel after a number of minutes unacknowledged, but has no rota.
  • Log management next to monitoring. OpenUptime does not collect logs.

Who each is best for

Pick Better Stack if

  • Your team needs on-call rotations and phone calls for pages, in the same tool as monitoring.
  • You also want logs and incident management from one vendor.

Pick OpenUptime if

  • You only need monitoring, incidents and a status page, and want to pay for nothing else.
  • You want to run it yourself, or read and change the code.
  • Slack, Telegram, PagerDuty or webhooks already cover how your team gets paged.

Moving from Better Stack

  1. List your monitors as JSON with a name, a url or hostname, the interval in seconds and the type. If you have many, the Better Stack API can help you produce that list.
  2. The importer reads name (or friendly_name), target (or url, hostname, host), interval in seconds, and type (http, https, keyword, tcp, port, dns, heartbeat, postgres, mysql, redis). Intervals below 60 seconds are raised to 60.
  3. Open Monitors in OpenUptime and upload the JSON file with the import button, or send it to POST /api/monitors/import. Up to 500 monitors per file. Entries that cannot be imported are listed with the reason and the rest are created.
  4. If PagerDuty is how your team is paged today, add it as a channel in OpenUptime with the same routing key. Otherwise recreate Slack, Telegram, email or webhook channels under Alerting.
  5. Run both tools side by side for a few days before you switch alerts off in the old one, and compare the incidents each one opens.

Questions

How do I move my Better Stack monitors to OpenUptime?

Put your monitors in a JSON list and import it on the Monitors page or through the API. The importer accepts common field names used by other tools, skips entries it cannot read and reports why. Channels and status pages are set up again by hand.

What does Better Stack do that OpenUptime does not?

OpenUptime has no TLS certificate expiry monitoring, no ICMP ping monitor, no browser or multi-step checks, and no SMS, phone-call or on-call schedule features. If you rely on one of those, check whether the other tool covers it before you switch.

Does OpenUptime have on-call scheduling?

No. You can repeat reminders and escalate to other channels when an incident stays unacknowledged, and acknowledge it from the iOS app, but there is no rota or phone-call paging. PagerDuty works as a channel if you already use it for that.

Is OpenUptime cheaper than Better Stack?

Self-hosting costs only the infrastructure you run it on. The hosted service has plans, and Better Stack changes its own pricing from time to time, so compare the current pricing pages of both for the number of monitors and check interval you need.

Try OpenUptime

Start on the hosted service, or run it yourself. The source is on GitHub under the MIT license.

Better Stack 的替代方案:OpenUptime

Better Stack 把可用性监控、事件管理、值班排班和日志管理放在同一个托管产品里。OpenUptime 更专注:监控、事件、告警和状态页,开源且可自托管。

Better Stack(包含原名 Better Uptime 的产品)是闭源的托管平台。可用性监控只是其中一部分,此外还有值班与事件管理以及日志管理。 关于其他产品的信息只是概括,可能已经过时。当前功能和价格请以其官网为准。

对比一览

项目OpenUptimeBetter Stack
许可证MIT 许可证,源码在 GitHub闭源
运行方式托管服务;也可用 Docker 加 Postgres 自托管,或部署到 Cloudflare Workers 加 Postgres仅由厂商托管
产品范围可用性监控、事件、告警与状态页可用性监控,加上值班、事件管理与日志
告警邮件、Slack、飞书 / Lark、Telegram、PagerDuty 与 Webhook;按监控项路由、重复提醒、未确认时逐级升级;iOS 推送值班排班以及电话、短信告警是产品的一部分;各套餐包含的内容请查看其文档
自动化REST API、监控项 JSON 导入导出,以及支持 OAuth 的 MCP 服务(供 AI Agent 使用)提供 API;覆盖范围请查看其文档
价格自托管免费。托管服务有各档套餐,请查看最新方案请查看其最新价格

OpenUptime 没有的功能

切换之前请先看这份清单。它不长,截至本页是完整的。

  • 不监控 TLS 证书到期。
  • 没有 ICMP ping 监控;可改用 TCP 或 HTTP 检测。
  • 没有基于浏览器或多步骤的事务检测,也没有真实用户监控。
  • 没有短信或电话告警,也没有值班排班表。升级按告警渠道和未确认的分钟数进行。
  • 数据库监控只检查服务端是否应答,不发送凭据,也不执行查询。

Better Stack 擅长而 OpenUptime 没有的功能

  • 值班排班表以及电话、短信告警。OpenUptime 在事件未确认若干分钟后按渠道升级,但没有排班表。
  • 监控之外还有日志管理。OpenUptime 不收集日志。

各自适合谁

适合选择 Better Stack 的情况

  • 你的团队需要值班轮换和电话告警,并希望与监控放在同一个工具里。
  • 你还想从同一家厂商获得日志和事件管理。

适合选择 OpenUptime 的情况

  • 你只需要监控、事件和状态页,不想为其他功能付费。
  • 你想自己运行,或阅读、修改代码。
  • 你们已经通过 Slack、Telegram、PagerDuty 或 Webhook 来接收告警。

从 Better Stack 迁移

  1. 把监控项整理成 JSON,每项包含名称、url 或 hostname、以秒为单位的间隔和类型。数量较多时,可借助 Better Stack 的 API 生成这份列表。
  2. 导入时会识别 name(或 friendly_name)、target(或 url、hostname、host)、以秒为单位的 interval,以及 type(http、https、keyword、tcp、port、dns、heartbeat、postgres、mysql、redis)。小于 60 秒的间隔会提升到 60 秒。
  3. 在 OpenUptime 的监控页用导入按钮上传 JSON 文件,或发送到 POST /api/monitors/import。每个文件最多 500 个监控项。无法导入的条目会连同原因一并列出,其余照常创建。
  4. 如果你们目前通过 PagerDuty 接收告警,可在 OpenUptime 里用同一个路由密钥添加该渠道;否则请在告警页重新创建 Slack、Telegram、邮件或 Webhook 渠道。
  5. 先让两个工具并行运行几天,再关闭旧工具的告警,并对比两边各自创建的事件。

常见问题

如何把 Better Stack 的监控项迁移到 OpenUptime?

把监控项整理成 JSON 列表,在监控页或通过 API 导入。导入器接受其他工具常见的字段名,读不懂的条目会被跳过并说明原因。告警渠道和状态页需要手动重新设置。

Better Stack 有哪些 OpenUptime 没有的功能?

OpenUptime 没有 TLS 证书到期监控、ICMP ping 监控、浏览器或多步骤检测,也没有短信、电话告警或值班排班功能。如果你依赖其中之一,切换前请先确认。

OpenUptime 有值班排班吗?

没有。你可以设置重复提醒,并在事件长时间未确认时升级到其他渠道,也可以在 iOS 应用里确认事件,但没有排班表和电话告警。如果你已在用 PagerDuty,可以把它作为一个告警渠道。

OpenUptime 比 Better Stack 便宜吗?

自托管只需承担运行它的基础设施成本。托管服务有各档套餐,Better Stack 的价格也会不时调整,请对照两边当前的价格页,按你需要的监控数量和检测间隔来比较。

试用 OpenUptime

可以直接使用托管服务,也可以自己运行。源码在 GitHub,采用 MIT 许可证。