OpenUptime as a Uptime Kuma alternative
Uptime Kuma is a popular open-source tool you run yourself. OpenUptime is also open source and self-hostable, and differs in multi-region probes, workspaces with roles, an MCP server and an optional hosted service.
Uptime Kuma is an open-source (MIT) monitoring tool that you install and operate yourself. It is known for an easy install and a wide range of monitor types and notification options. Information about other products is general and may be out of date. Check their own sites for current features and pricing.
At a glance
| Topic | OpenUptime | Uptime Kuma |
|---|---|---|
| License | MIT license, source on GitHub | MIT license, source on GitHub |
| Where it runs | Hosted service, or self-host with Docker and Postgres, or on Cloudflare Workers with Postgres | Self-hosted; the project does not run a hosted service |
| Checks from several regions | HTTP and TCP monitors can be checked from several regions; a run fails when most answering regions fail. Self-hosters run their own probes | Checks run from the machine where it is installed; for another location you run another instance |
| Monitor types | HTTP and HTTPS (expected status, keyword must or must not appear, custom headers), TCP, DNS, heartbeat, PostgreSQL, MySQL / MariaDB and Redis reachability | A wide range, including ping and certificate expiry; see its docs for the current list |
| Alerts | Email, Slack, Lark / Feishu, Telegram, PagerDuty and webhooks; per-monitor routing, repeat reminders, escalation until acknowledged; iOS push | Many notification integrations; see its docs for the list |
| Teams and automation | Workspaces, projects and roles with invitations; REST API, JSON import and export of monitors, and an MCP server for AI agents (OAuth) | Check its docs for user management and API coverage |
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 Uptime Kuma is known for that OpenUptime does not do
- More monitor types, among them ping and TLS certificate expiry, which OpenUptime lacks.
- A large community and a long history as a self-hosted tool.
Who each is best for
Pick Uptime Kuma if
- You want a single self-hosted instance with the broadest set of monitor types and notification options.
- You need ping or certificate expiry monitoring.
Pick OpenUptime if
- You want the same monitor checked from several places, using probes you run in the regions you care about.
- You want the option of a hosted service now and self-hosting later, or the reverse, on the same code.
- Several people or clients share one installation, and you want workspaces, projects and roles.
- You want to drive monitoring from scripts or an AI agent.
Moving from Uptime Kuma
- Write your Kuma monitors as a JSON list with a name, a url or hostname, the interval in seconds and the type. OpenUptime does not read Kuma's backup file directly.
- 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.
- 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.
- Ping, certificate expiry and other types OpenUptime does not have are skipped with a reason; replace ping with a TCP or HTTP check where that makes sense.
- Monitors that point at private addresses are refused unless you set ALLOW_PRIVATE_TARGETS=true on your instance. Read the self-host docs before turning that on.
- Alert channels, status pages and incident history are not imported. Add your channels under Alerting, then create a status page and pick the monitors for it.
Questions
Is OpenUptime a drop-in replacement for Uptime Kuma?
For HTTP, TCP, DNS, heartbeat and database reachability checks, largely yes. It has no ping or certificate expiry monitor, and Kuma's backup file cannot be imported directly, so plan for a small conversion step.
How do I move my Uptime Kuma 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 self-hosting OpenUptime need compared with Uptime Kuma?
A Postgres database next to the app. The Docker setup starts both with one compose file. Uptime Kuma's own storage requirements are in its documentation.
What does Uptime Kuma 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.
Try OpenUptime
Start on the hosted service, or run it yourself. The source is on GitHub under the MIT license.
Uptime Kuma 的替代方案:OpenUptime
Uptime Kuma 是广受欢迎、需自行运行的开源工具。OpenUptime 同样开源、可自托管,区别在于多区域探针、带角色的工作区、MCP 服务以及可选的托管服务。
Uptime Kuma 是开源(MIT)的监控工具,需要你自己安装和运维,以安装简单、监控类型和通知方式丰富著称。 关于其他产品的信息只是概括,可能已经过时。当前功能和价格请以其官网为准。
对比一览
| 项目 | OpenUptime | Uptime Kuma |
|---|---|---|
| 许可证 | MIT 许可证,源码在 GitHub | MIT 许可证,源码在 GitHub |
| 运行方式 | 托管服务;也可用 Docker 加 Postgres 自托管,或部署到 Cloudflare Workers 加 Postgres | 自托管;项目本身不提供托管服务 |
| 多区域检测 | HTTP 与 TCP 监控可从多个区域检测,多数应答区域失败才判定失败。自托管时由你自己运行探针 | 检测在安装它的机器上运行;要换一个位置,需要另外再部署一个实例 |
| 监控类型 | HTTP / HTTPS(预期状态码、关键字必须出现或不得出现、自定义请求头)、TCP、DNS、心跳、PostgreSQL、MySQL / MariaDB 与 Redis 连通性 | 类型丰富,包括 ping 与证书到期;当前列表见其文档 |
| 告警 | 邮件、Slack、飞书 / Lark、Telegram、PagerDuty 与 Webhook;按监控项路由、重复提醒、未确认时逐级升级;iOS 推送 | 提供大量通知集成;列表见其文档 |
| 团队与自动化 | 工作区、项目与角色,支持邀请成员;REST API、监控项 JSON 导入导出,以及支持 OAuth 的 MCP 服务(供 AI Agent 使用) | 用户管理与 API 覆盖范围请查看其文档 |
OpenUptime 没有的功能
切换之前请先看这份清单。它不长,截至本页是完整的。
- 不监控 TLS 证书到期。
- 没有 ICMP ping 监控;可改用 TCP 或 HTTP 检测。
- 没有基于浏览器或多步骤的事务检测,也没有真实用户监控。
- 没有短信或电话告警,也没有值班排班表。升级按告警渠道和未确认的分钟数进行。
- 数据库监控只检查服务端是否应答,不发送凭据,也不执行查询。
Uptime Kuma 擅长而 OpenUptime 没有的功能
- 更多监控类型,包括 ping 和 TLS 证书到期,这些 OpenUptime 都没有。
- 庞大的社区和作为自托管工具的长期积累。
各自适合谁
适合选择 Uptime Kuma 的情况
- 你想要一个自托管实例,监控类型和通知方式越全越好。
- 你需要 ping 或证书到期监控。
适合选择 OpenUptime 的情况
- 你想让同一个监控项从多个地点检测,探针由你部署在关心的区域。
- 你希望现在用托管服务、以后改为自托管(或反过来),并且代码是同一份。
- 多人或多个客户共用同一套部署,需要工作区、项目和角色。
- 你想通过脚本或 AI Agent 驱动监控。
从 Uptime Kuma 迁移
- 把 Kuma 的监控项整理成 JSON 列表,每项包含名称、url 或 hostname、以秒为单位的间隔和类型。OpenUptime 不能直接读取 Kuma 的备份文件。
- 导入时会识别 name(或 friendly_name)、target(或 url、hostname、host)、以秒为单位的 interval,以及 type(http、https、keyword、tcp、port、dns、heartbeat、postgres、mysql、redis)。小于 60 秒的间隔会提升到 60 秒。
- 在 OpenUptime 的监控页用导入按钮上传 JSON 文件,或发送到 POST /api/monitors/import。每个文件最多 500 个监控项。无法导入的条目会连同原因一并列出,其余照常创建。
- OpenUptime 不支持的 ping、证书到期等类型会连同原因被跳过;合适时可用 TCP 或 HTTP 检测代替 ping。
- 指向内网地址的监控项会被拒绝,除非你在自己的实例上设置 ALLOW_PRIVATE_TARGETS=true。开启前请先阅读自托管文档。
- 告警渠道、状态页和事件历史不会被导入。请在告警页添加渠道,再创建状态页并选择要展示的监控项。
常见问题
OpenUptime 能直接替换 Uptime Kuma 吗?
对于 HTTP、TCP、DNS、心跳和数据库连通性检测,基本可以。它没有 ping 和证书到期监控,也不能直接导入 Kuma 的备份文件,需要做一步简单的格式转换。
如何把 Uptime Kuma 的监控项迁移到 OpenUptime?
把监控项整理成 JSON 列表,在监控页或通过 API 导入。导入器接受其他工具常见的字段名,读不懂的条目会被跳过并说明原因。告警渠道和状态页需要手动重新设置。
和 Uptime Kuma 相比,自托管 OpenUptime 需要什么?
应用旁边需要一个 Postgres 数据库。Docker 方案用一个 compose 文件同时启动两者。Uptime Kuma 自身的存储要求请参阅其文档。
Uptime Kuma 有哪些 OpenUptime 没有的功能?
OpenUptime 没有 TLS 证书到期监控、ICMP ping 监控、浏览器或多步骤检测,也没有短信、电话告警或值班排班功能。如果你依赖其中之一,切换前请先确认。