资讯详情

OneUptime 手动监控器(Manual Monitor)完全指南:用 API 与状态页驱动的纯人工监控方案

📅 2026/9/20 22:27:30 | 华诺云谱 👁 阅读
OneUptime 手动监控器(Manual Monitor)完全指南:用 API 与状态页驱动的纯人工监控方案
OneUptime 手动监控器Manual Monitor完全指南用 API 与状态页驱动的纯人工监控方案【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime手动监控器Manual Monitor是 OneUptime 中唯一一种完全不做自动化检查的监控器类型它没有探针Probe、没有监控间隔、没有自动判定的告警条件监控器的状态完全由你在仪表盘或通过 API 手动设定。本文以 OneUptime 官方文档法文版原文为核心脉络并结合仓库源码深入讲解手动监控器的类型定义、创建步骤、状态更新方式、事件与告警联动以及它与其它监控器类型在底层实现上的本质差异。读完本文你将掌握如何在 OneUptime 中用最少的配置接入外部监控工具、托管无法自动探测的服务并在状态页上对外呈现受控的状态信息。概述手动监控器是什么OneUptime 官方文档对手动监控器的定义非常明确手动监控允许你创建状态完全由人工或通过 API 管理的监控器OneUptime 不执行任何自动化检查——你直接控制监控器的状态。在源码层面这一设计由 MonitorType 枚举 落地Manual Manual是枚举中的一个独立值与Website、API、Ping、Host等类型平级但在整个平台的调度、探测、评估体系中它都被特殊对待。MonitorTypeHelper中提供了一系列类型能力判断函数手动监控器在每一条判断路径上都返回否或无这正是文档所说不进行任何自动化检查的代码级印证详见下文与其他监控器的底层差异一节。简单来说手动监控器就是一个由你亲手维护的占位符placeholder。官方文档列出了它最典型的四类用途与外部监控工具集成由外部工具通过 OneUptime API 回写状态追踪无法被自动化监控的服务或系统为没有自动化健康检查的组件管理事件Incident代表你以人工方式跟踪状态的第三方依赖。在源码中的定位从枚举到类型能力要理解手动监控器先看它在代码里的身份。在 MonitorType.ts 中MonitorTypeHelper把全部监控器类型按用途分类展示getMonitorTypeCategoriesMonitorType.Manual被单独归入Other其他分类{ label: Other, monitorTypes: [MonitorType.Manual], },同文件还给出了Manual类型在监控器创建选择器中的展示信息标题Manual描述No automatic checks. You set the status yourself, or from an external tool.无自动检查。你自己或由外部工具设定状态。图标IconProp.EmptyCircle空心圆搜索关键词static、external、integration、placeholder、no check、third party这些关键词意味着用户在创建监控器时即使只记得external、placeholder这类描述性词汇也能在类型选择器中检索到手动监控器。这与文档第三方依赖外部工具的定位完全一致。在数据模型层面监控器的类型与当前状态分别存储于 Monitor 数据库模型monitorType字段L877记录监控器类型currentMonitorStatusId与currentMonitorStatusL908-L925、L970记录当前状态。手动监控器的monitorType固定为Manual其currentMonitorStatus只会在你主动更新时改变。创建手动监控器在 OneUptime 仪表盘中创建手动监控器非常简单官方文档给出了四步操作进入 OneUptime 仪表盘的监控器Monitors页面点击创建监控器Create Monitor在监控器类型中选择手动Manual为监控器输入名称和描述。由于手动监控器没有探测步骤probe step与判定条件criteria创建流程到此即告完成——不需要配置监控间隔、不需要选择探针、不需要编写任何检查规则。这是它与其它所有监控器类型在创建体验上最显著的差异。工作原理没有间隔、没有探针、没有自动评估官方文档用一句话概括了手动监控器的工作方式手动监控器没有监控间隔、没有探针、也没有自动化的条件评估。监控器的状态会一直保持为你设定的值直到你再次修改它。这一点在源码中有非常直接的印证。MonitorTypeHelper提供了以下能力判断方法MonitorType.ts能力判断方法返回规则对 Manual 的结果isProbableMonitor()L835-L852仅 API、Website、Ping、Port 等列入探测清单的类型为 truefalse——不会进入探针的工作列表doesMonitorTypeHaveInterval()L903-L905直接返回isProbableMonitor()的结果false——没有监控间隔可配置doesMonitorTypeHaveCriteria()L907-L909return monitorType ! MonitorType.Manualfalse——没有告警条件criteria可配置doesMonitorTypeHaveGraphs()L911-L934Manual 不在返回 true 的类型清单中false——没有监控曲线/图表也就是说从调度器、探针分发到告警评估、图表渲染手动监控器在所有自动化路径上都被显式排除。它唯一的数据源就是人工或 API 写入的状态值。这正是它适合作为占位符的根本原因平台不会用任何自动化任务去干扰你设定的状态。更新状态仪表盘与 API 双通道手动监控器没有自动状态流转因此更新状态是使用它的核心操作。官方文档明确给出了两种方式仪表盘Dashboard——直接在 OneUptime 仪表盘中修改监控器的状态API——通过 OneUptime API 以编程方式更新监控器状态。仪表盘方式适合人工值守场景当你在状态页上要对外展示某个组件的状态时直接点击修改即可。API 方式则适合自动化场景外部监控工具、脚本或 CI/CD 流水线可以在检测到问题时调用 OneUptime API 回写状态。结合源码中的 ApiKey / ApiKeyPermission 模型 可以推断平台提供了基于 API Key 的鉴权机制供外部系统调用实际使用时请以当前 OneUptime 实例的 API 文档为准获取具体的端点与参数。无论是哪种方式最终落地的都是对 Monitor 模型 中currentMonitorStatus字段的写入状态一旦更新便会立即反映在监控器列表与关联的状态页组件上。事件与告警手动监控器同样参与没有自动检查并不等于不能产生告警。官方文档强调你可以像对待其它任何监控器类型一样对手动监控器创建事件Incident和告警Alert。这带来了三个典型能力跟踪外部监控服务的停机时间——外部工具通过 API 把状态置为异常你再针对该监控器创建事件在问题被人工上报时手动创建事件——例如业务侧反馈某个流程不可用在状态页Status Page上使用手动监控器向用户传达状态——这是它作为状态页占位符的核心用法。从数据模型看事件Incident与监控器之间存在标准的关联关系监控器可以触发或挂载事件与告警这一机制对手动监控器同样生效因此你完全可以把状态页上的第三方依赖线下业务流程等组件建模为手动监控器并为其配置事件与告警流程而不需要这些组件真的具备可探测的端点。适用场景一览官方文档用一张表格总结了手动监控器最典型的五类使用场景使用场景描述第三方服务跟踪你依赖但无法直接监控的外部服务状态物理基础设施表示没有网络监控能力的硬件或物理系统业务流程跟踪影响服务状态的非技术流程API 驱动状态允许外部工具通过 OneUptime API 更新监控器状态状态页占位符在状态页上展示由 OneUptime 外部管理的组件这张表也呼应了前文源码中的描述与关键词external、integration、placeholder、third party——手动监控器正是为我无法自动探测但需要在平台上统一呈现和告警的场景而设计。手动监控器与其他监控器类型的底层差异为了更清楚地理解手动到底意味着什么可以把MonitorTypeHelper中的类型能力判断汇总成一张对比表。以最常见的Website网站监控器为参照能力项MonitorType.ManualMonitorType.Website示例是否进入探针工作列表isProbableMonitor否是是否有监控间隔doesMonitorTypeHaveInterval否是是否有判定条件doesMonitorTypeHaveCriteria否是是否产生监控图表doesMonitorTypeHaveGraphs否是分类归属OtherBasic Monitoring图标EmptyCircle空心圆Globe地球由此可见手动监控器在平台内部是被完整剥离了自动化能力的监控器它不参与探针调度、不评估告警条件、不生成监控曲线只保留监控器的身份、状态字段、事件告警关联与状态页展示能力。它像是一个空壳监控器把状态的判定权完全交还给你。计费与配额手动监控器免费且不限量对于关心成本与配额的用户源码中还透露了一个重要信息。在 MonitorType.ts 中isBilledAsActiveMonitor()方法的注释明确指出该方法镜像了服务端实际的计费逻辑——ActiveMonitoringMeteredPlan只统计类型不是 Manual 的监控器。手动监控器免费且不限量。public static isBilledAsActiveMonitor(monitorType: MonitorType): boolean { return !this.isManualMonitor(monitorType); }也就是说无论你在状态页上挂多少个手动占位符组件都不会计入活跃监控Active Monitoring的计费额度也不会触发免费套餐的用量告警。对于需要大量在状态页上呈现外部依赖、线下设施组件的团队来说这是一个非常实用的特性。小结手动监控器是 OneUptime 监控体系中的一个特例存在它没有探针、没有间隔、没有条件评估状态完全由人工或 API 驱动同时保留事件、告警与状态页集成能力并且免费、不限量。从源码角度看MonitorType 枚举与 MonitorTypeHelper 通过一系列能力判断方法把 Manual 从自动化链路中完整剥离只留下状态容器的职责从使用角度看它最适合作为外部依赖、物理设施、业务流程与状态页占位符的建模载体。如果你正在接入外部监控工具或在状态页上需要呈现平台之外管理的组件不妨从创建一个手动监控器开始——它没有自动检查带来的噪音只有你想要的确定性。【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。