英文原文: https://argusic.com/best/uptime-monitoring
开源运行时间监控与状态页面,已测试
可自行运行的监控器和状态页面。列表根据 Argusic 在全新安装每个项目时是否能够启动来排序,并且该次尝试的录屏一键即可查看。
测试时间为 2026年9月17日 至 2026年10月30日。每一行都注明了各自的测试日期;项目在那一天之后可能发生变化。
17 个已测试项目中有 17 个可运行。
简而言之: 在 17 个已测试项目中,有 15 个在全新机器上直接启动:gatus、hertzbeat、kener、tinystatus、jump、maintenant、Uptimer 和 PongHub,以及另外 7 个项目。另有 2 个在用替身替换其依赖的服务(例如数据库)后启动:tianji 和 UptimeKit-CLI。
每一次都由 Argusic 在全新机器上实测。 每个数字都链接到对应的证据。
| # | 项目 | 结论 | Argusic 评分 | 语言 | 星标数 | 测试日期 |
|---|---|---|---|---|---|---|
| 1 | gatus | 可运行 | 100 / 100 | Go | 12,501 | 2026年9月23日 |
面向开发者的自动化状态页面,支持告警和事件处理 测试发现:Gatus builds from source, launches on port 8080, serves the health API returning 200, monitors all configured HTTP and DNS endpoints, and 74 of 76 Go test packages pass with only ICMP tests failing due to missing CAP_NET_RAW in the unprivileged container. 6 分钟。 | ||||||
| 2 | hertzbeat | 可运行 | 100 / 100 | Java | 7,453 | 2026年9月23日 |
一个 AI 驱动的下一代开源实时可观测性系统。 测试发现:HertzBeat server builds, its full Maven test suite passes except one Docker-only integration test, and the assembled server runs with working JWT login and authenticated API on port 1157 in this container. 37 分钟。 | ||||||
| 3 | kener | 可运行 | 100 / 100 | TypeScript | 5,237 | 2026年9月24日 |
惊艳的状态页面,开箱即用。 测试发现:Kener v4.1.3 is built, serves a status page on port 3000 with SQLite and Redis, all 136 tests pass, health endpoint confirms database and Redis connectivity. 14 分钟。 | ||||||
| 4 | tinystatus | 可运行 | 100 / 100 | Python | 1,588 | 2026年10月6日 |
由 Python 脚本生成的微型状态页面 测试发现:TinyStatus installs and runs cleanly out of the box: all 17 unit tests pass, and the app generates a valid status page with proper HTTP/ping/port check results, incident rendering, and history tracking. 2 分钟。 | ||||||
| 5 | jump | 可运行 | 100 / 100 | PHP | 605 | 2026年10月30日 |
Jump 是一个自托管的起始页和实时状态页面,适用于你的服务器,设计简洁、时尚、快速且安全。 测试发现:Jump runs on PHP 8.3 in the sandbox, serving /, /tag/*, static assets and the status API with real JSON, and reported 7 configured sites (4 online, 3 offline). 35 分钟。 | ||||||
| 6 | maintenant | 可运行 | 100 / 100 | Go | 532 | 2026年10月18日 |
用于 Docker、Kubernetes 和正常运行时间的自托管监控。单个 Go 二进制文件,无需 agent 配置,实时告警。放入一个容器,你的技术栈即被监控。 测试发现:maintenant binary builds and runs, serving HTTP 200 on health API and root endpoint, with 42 test suites passing. 6 分钟。 | ||||||
| 7 | Uptimer | 可运行 | 100 / 100 | TypeScript | 483 | 2026年9月19日 |
一个基于 Cloudflare 边缘网络的强大无服务器正常运行时间监控与状态页面 测试发现:Uptimer project installs, builds, passes all 488 unit tests across 50 test files, typechecks, lints, and runs locally with the worker API responding with correct data on public and authenticated admin endpoints. 10 分钟。 | ||||||
| 8 | PongHub | 可运行 | 100 / 100 | Go | 224 | 2026年9月20日 |
免费端点监控。一键部署。 测试发现:PongHub builds, all 4 test packages pass, and the binary runs end-to-end against a real HTTP endpoint, correctly logging success and generating the HTML report. 4 分钟。 | ||||||
| 9 | upstat | 可运行 | 100 / 100 | TypeScript | 200 | 2026年9月20日 |
一个简单的开源自托管状态监控工具 测试发现:Upstat Go API builds and runs on port 8000 with SQLite, accepting user signup/signin, creating and listing monitors with heartbeat pings, and serving Swagger docs over HTTP. 17 分钟。 | ||||||
| 10 | peekaping | 可运行 | 96 / 100 | Go | 1,213 | 2026年9月18日 |
最佳 Uptime Kuma 替代方案 测试发现:Peekaping API server starts on port 8034 with SQLite, connects to local Redis, and responds HTTP 200 on /api/v1/health. All 16 Go test packages pass. The React web frontend builds without errors. 16 分钟。 | ||||||
| 11 | statuspage | 可运行 | 96 / 100 | JavaScript | 768 | 2026年9月19日 |
一个简单、零依赖、纯 js/html 的状态页,基于 GitHub Pages 和 Actions。 测试发现:Health check script curls 5 URLs and logs results; static server serves index.html, JS, CSS, SVG, config, and 5 log files with 200 status. 3 分钟。 | ||||||
| 12 | issue-status | 可运行 | 96 / 100 | TypeScript | 430 | 2026年9月19日 |
一个灵活、现代且速度极快的状态页 测试发现:The issue-status monorepo is fully functional: pnpm install succeeds, tests pass (1 passed, 1 skipped/todo), the issue-status package builds via Vite, both CLIs build via tsdown, the example status page app builds and serves correctly via dev/built modes, and the GitHub provider fetches real data from the public... 37 分钟。 | ||||||
| 13 | server-status | 可运行 | 96 / 100 | PHP | 407 | 2026年9月19日 |
简洁、现代风格的服务器状态页面,包含管理功能和一些实用特性,甚至可在共享虚拟主机上运行。 测试发现:PHP 8.3 and MariaDB 10.11 are running, the server_status database has 11 tables with proper settings, and all pages (index, admin, install, API) respond with HTTP 200 and render correct content without warnings. 27 分钟。 | ||||||
| 14 | fettle | 可运行 | 91 / 100 | TypeScript | 282 | 2026年9月20日 |
基于 GitHub 的免费美观状态页面,利用 GitHub Pages、Actions 和 Issues 实现实时更新和事件管理。别忘了点个星标以示支持。 测试发现:Fettle installs, builds, and exports cleanly (next.config.js patched for image optimization); the production server and the exported static site both serve HTTP 200, and a real headless-browser load of the exported page fetched live GitHub data and showed all systems operational with both services and incidents... 12 分钟。 | ||||||
| 15 | uptime-kuma | 可运行 | 64 / 100 | JavaScript | 93,261 | 2026年9月20日 |
一个花哨的自托管监控工具 测试发现:Uptime Kuma 2.5.3 starts on Node.js 22, listens on port 3001, serves the setup page over HTTP, and passes 196 of 242 backend tests; 38 tests fail solely due to missing Docker and missing ping binary in the container sandbox. 10 分钟。 | ||||||
| 16 | tianji | 借助 mock 可运行 | 92 / 100 | TypeScript | 3,118 | 2026年9月17日 |
Tianji:洞察一切,网站分析 + 在线监控 + 服务器状态。不仅仅是另一个 GA 替代品。 测试发现:Dependencies installed, project builds successfully, shared and most server unit tests pass, client component tests mostly pass; server cannot launch without a PostgreSQL database. 25 分钟。 | ||||||
| 17 | UptimeKit-CLI | 借助 mock 可运行 | 92 / 100 | JavaScript | 277 | 2026年9月20日 |
一个现代化的跨平台 CLI,用于监控网站和 API。 测试发现:The project builds, its 246-unit test suite passes 6/6 suites, and the CLI starts a background daemon, adds HTTP/DNS/SSL monitors, and renders a live TUI dashboard with real monitoring data (DNS resolution, SSL certificate validation, HTTP checks). The edit command was fixed to accept 0 retries. Node 22 is required. 18 分钟。 | ||||||
可运行 使用真实的依赖项完成安装并启动。 借助 mock 可运行 用替身替换数据库或第三方 API 等外部服务后启动。 无法验证 标准 agent 和更强的 agent 都没能在时间限制内让它运行起来;log 显示了它停在哪里。
选择之前
决定是否需要运行数据库。有 Five 个项目原样启动,使用嵌入式或 SQLite 存储(gatus、PongHub、upstat、hertzbeat,以及 kener,它还启动了一个真实的 Redis);有 three 个项目预期使用 Redis、MySQL 或 PostgreSQL,需要 agent 代为搭建(peekaping、server-status、tianji)。在阅读 README 之前,结论列和每个名称下的发现会告诉你项目属于哪一组。
决定是需要监控还是只需要状态页面。statuspage 和 fettle 是静态站点,它们发布你提供给它们的状态,自己无法探测任何东西。gatus、uptime-kuma 和 peekaping 运行检查并托管页面。tianji 更进一步,捆绑了 Web 分析,它也出现在自托管分析列表中,并在那里有自己的排名。
查看分钟数。每次验证运行所用的时间可以很好地反映首次安装的复杂程度:单二进制和静态项目需要 7 到 12 分钟,而构建完整技术栈的项目(hertzbeat、issue-status、server-status、upstat)需要 23 到 38 分钟。
在查看星标数之前先阅读发现。uptime-kuma 的星标数遥遥领先,但仍然排名第十二,因为在测试当天,它只有在下载了预构建的前端后才启动,并且其 240 个后端测试中有 46 个失败;那一行说明了这一点,log 也显示了这一点。
我们如何测试
对于监控或状态页面,可用意味着服务器进程在干净的机器上启动,并通过 HTTP 应答:Web UI 或健康端点响应,如果项目附带测试套件,则测试套件运行。
有两件事区分了此列表中的结论。包含单个二进制文件或捆绑 SQLite 存储的项目可原样启动;例如,gatus 继续针对实时端点执行真实的 HTTP 和 DNS 检查。需要数据库、缓存或消息队列的项目仅在 agent 代替该服务后才启动:peekaping 需要进程内 Redis,server-status 需要本地 MySQL,tianji 需要从提取的软件包构建的 PostgreSQL。这些属于“借助 mock 可运行”。

需要容器无法提供的基础设施的检查,例如 ICMP ping(原始套接字)或 Docker,在日志中显示为失败的测试,并且当服务器本身启动时不会阻止结论;uptime-kuma 是最明显的例子。静态状态页面是在本地构建和服务的;statuspage 和 fettle 是示例。

截至最近一次测试,本榜单中:15 个项目直接运行,2 个借助 mock 运行,0 个无法验证。已测试的语言:Go、Java、JavaScript、PHP、Python、TypeScript。每次尝试都使用一台干净的一次性机器、固定版本的项目,以及 45 分钟的时间限制;完整流程见方法论页面。
常见问题 (FAQ)
对于正常运行时间监控器,“可运行”是什么意思?
服务器在干净的机器上启动,并通过 HTTP 响应;如果存在测试套件,则运行该测试套件。这并不意味着每种检查类型都能正常工作:ping 需要原始套接字权限,而容器不具备该权限;这会在日志中显示为失败的测试,而不是在结论中显示。
为什么 uptime-kuma 没有排在首位?
排名是测量出来的,不是编辑决定的。在其测试日期,服务器只有在 agent 下载了预构建的前端并修补了超时垫片之后才启动;需要 Docker 或 ping 的测试失败了。这就是“借助 mock 可运行”,其排名低于按原样启动的项目。日志就在其所在行上,点击一次即可查看。
这些项目需要数据库才能自托管吗?
这取决于项目。此列表中有几个项目使用 SQLite 运行,或者完全不需要数据库。标记为“借助 mock 可运行”的项目需要一个由 agent 代为模拟的服务,例如 Redis、MySQL 或 PostgreSQL;每个项目的页面都会说明具体是哪个。
静态状态页面是否以同样的方式测试?
是的。agent 构建了站点并在本地提供输出;statuspage 和 fettle 就是例子。静态页面本身无法监控任何内容,因此它只回答了问题中状态页面的那一半。
这份列表的时效性如何?
每一行都带有自己的测试日期,页面会说明时间范围。项目在测试后可能会发生变化;只有在新尝试完成并提供完整证据后,才会替换结论。
本榜单是如何排名的?
依据测量结果,而不是观点:Argusic 在全新机器上安装并启动成功的项目排在最前,然后是用 mock 代替外部服务后运行的项目,再然后是无法验证的项目。结果相同时比较 Argusic 评分,再比较项目在其自身来源上的热度。
证据在哪里?
每一行都链接到该项目的 Argusic 页面,其中每次运行都有完整的 log 和终端录屏,并连同 sha256 指纹一起保存。每个已测试项目都有这样的页面,无论它是否在本榜单上。
同一类别的更多榜单
- 开源可观测性和日志,安装并运行 (与本榜单共有 hertzbeat、kener)
- 自托管仪表盘和主页,已安装并运行 (与本榜单共有 gatus、jump)
- 开源数据库,安装并查询 (与本榜单共有 hertzbeat)
- 开源自托管分析,在干净的服务器上测试过 (与本榜单共有 tianji)
- 开源 AI agent 框架,已安装并运行
- 可自行运行的开源 AI 应用,已测试
- 开源 API 客户端,构建并运行
- 开源 API 网关和反向代理,已测试
- 开源 CI/CD 工具,安装并运行
- 开源 CMS 平台,已安装并运行
- 开源 LLM 网关,已安装并运行
- 首次运行时即可启动的开源 MCP 服务器
- 开源 VPN 和网络工具,安装并运行
- 可安装并运行的开源备份工具
- 开源浏览器自动化工具,已安装并运行
- 构建并启动的开源代码编辑器和 IDE
- 在全新机器上运行过的开源 coding agents
- 开源开发者 CLI 工具,已验证可构建和运行
- 开源电子商务平台,安装并运行
- 已测试的开源电子书阅读器和库
- 开源游戏引擎,构建并运行
- 在全新机器上构建并启动的开源游戏
- 开源家庭自动化,安装并运行
- 开源低代码和无代码平台,已测试
- 开源地图服务器和工具,已安装并运行
- 开源消息队列与流处理,已测试
- 开源音乐服务器,安装即可播放
- 开源办公套件,安装并启动
- 可自托管且经过测试的开源密码管理器
- 开源项目管理工具,安装并运行
- 开源录屏工具,已开发并发布
- 开源搜索引擎,已安装并查询
- 开源语音转文本和文本转语音,已测试
- 开源静态网站生成器,构建并部署
- 开源向量数据库,可安装并查询
- 在全新机器上启动的开源视频编辑器
- 开源视频播放器,已构建并发布
- 开源 Web 抓取工具,已安装并运行
- 经测试的开源白板和图表工具
- 可自托管的开源 wiki,已测试
- 开源工作流自动化,安装并运行
- 自托管 Notion 替代品,经真实安装验证
- 在全新机器上启动的自托管 git 服务器