OpenUptime

OpenUptime as a UptimeRobot alternative

UptimeRobot is a hosted service known for quick setup of website, keyword and port checks. OpenUptime covers the same basics, adds multi-region checks and an MCP server, and can be self-hosted.

UptimeRobot is a closed-source, hosted monitoring service with a free tier and paid plans. It is not available as software you run yourself. Information about other products is general and may be out of date. Check their own sites for current features and pricing.

At a glance

TopicOpenUptimeUptimeRobot
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
Self-hostingYes, the same code as the hosted service, no feature limitsNot offered
Monitor typesHTTP and HTTPS (expected status, keyword must or must not appear, custom headers), TCP, DNS, heartbeat, PostgreSQL, MySQL / MariaDB and Redis reachabilityWebsite, keyword and port style checks; see their site for the full list
Status pagesPublic status pages with grouped components, incident history, email subscriptions, an RSS feed and an embeddable badgeOffered; check their docs for features per plan
PricingFree to self-host. The hosted service has plans; check the current onesFree tier and paid plans; check 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 UptimeRobot is known for that OpenUptime does not do

  • A long-running hosted service you do not have to operate. With OpenUptime you either use the hosted service or run it yourself.

Who each is best for

Pick UptimeRobot if

  • You want a hosted service and the checks you need are plain website, keyword or port checks.
  • You do not want to read any documentation before the first monitor is running.

Pick OpenUptime if

  • You want to see the source, or run monitoring on your own infrastructure.
  • You want one monitor checked from several regions before it counts as down.
  • You want to manage monitors from scripts or from an AI agent over MCP.

Moving from UptimeRobot

  1. Export or copy your monitors from UptimeRobot into a JSON list: for each one a name, a url or hostname, the interval in seconds, and the type.
  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. 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.
  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 UptimeRobot 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.

Can I self-host OpenUptime instead of using UptimeRobot?

Yes. OpenUptime runs from one Docker image with Postgres, or on Cloudflare Workers with a Postgres database you provide. The self-hosted version is the same code as the hosted service.

What does UptimeRobot 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.

Is OpenUptime cheaper than UptimeRobot?

Self-hosting costs only the infrastructure you run it on. The hosted service has plans, and UptimeRobot 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.

UptimeRobot 的替代方案:OpenUptime

UptimeRobot 是托管服务,以快速设置网站、关键字和端口检测见长。OpenUptime 覆盖同样的基础功能,另有多区域检测和 MCP 服务,并且可以自托管。

UptimeRobot 是闭源的托管监控服务,有免费档和付费套餐,不提供可自行部署的软件。 关于其他产品的信息只是概括,可能已经过时。当前功能和价格请以其官网为准。

对比一览

项目OpenUptimeUptimeRobot
许可证MIT 许可证,源码在 GitHub闭源
运行方式托管服务;也可用 Docker 加 Postgres 自托管,或部署到 Cloudflare Workers 加 Postgres仅由厂商托管
自托管支持,与托管服务是同一份代码,没有功能限制不提供
监控类型HTTP / HTTPS(预期状态码、关键字必须出现或不得出现、自定义请求头)、TCP、DNS、心跳、PostgreSQL、MySQL / MariaDB 与 Redis 连通性网站、关键字、端口等检测;完整列表见其官网
状态页公开状态页,支持分组、事件历史、邮件订阅、RSS 与可嵌入的状态徽章提供;各套餐的功能请查看其文档
价格自托管免费。托管服务有各档套餐,请查看最新方案有免费档与付费套餐;请查看其最新价格

OpenUptime 没有的功能

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

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

UptimeRobot 擅长而 OpenUptime 没有的功能

  • 无需自行运维的长期托管服务。使用 OpenUptime 时,你要么用托管服务,要么自己运行。

各自适合谁

适合选择 UptimeRobot 的情况

  • 你想用托管服务,而且需要的只是网站、关键字或端口这类基础检测。
  • 你希望不看任何文档就能让第一个监控跑起来。

适合选择 OpenUptime 的情况

  • 你想看到源码,或把监控运行在自己的基础设施上。
  • 你希望同一个监控项从多个区域检测后才判定为故障。
  • 你想通过脚本或经 MCP 的 AI Agent 管理监控项。

从 UptimeRobot 迁移

  1. 把 UptimeRobot 中的监控项导出或整理成 JSON 列表:每项包含名称、url 或 hostname、以秒为单位的间隔和类型。
  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. 告警渠道、状态页和事件历史不会被导入。请在告警页添加渠道,再创建状态页并选择要展示的监控项。
  5. 先让两个工具并行运行几天,再关闭旧工具的告警,并对比两边各自创建的事件。

常见问题

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

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

可以用自托管的 OpenUptime 代替 UptimeRobot 吗?

可以。OpenUptime 可用一个 Docker 镜像加 Postgres 运行,也可部署在 Cloudflare Workers 上并使用你自己提供的 Postgres 数据库。自托管版本与托管服务是同一份代码。

UptimeRobot 有哪些 OpenUptime 没有的功能?

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

OpenUptime 比 UptimeRobot 便宜吗?

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

试用 OpenUptime

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