mcpField
C
crontap-uptime-monitor

crontap-uptime-monitor

github.com/crontap云与 DevOps1937 次安装6 周前更新
代码仓库

关于 crontap-uptime-monitor

crontap-uptime-monitor 是使用 Crontap 管理 HTTP 端点可用性监控的 Agent 技能,面向需要配置探测、核验状态并管理维护暂停的用户。它涵盖 MCP 与 REST 操作及探测结果检查。

主要功能

  1. 01创建 HTTP 可用性监控
  2. 02配置探测间隔与失败阈值
  3. 03暂停及恢复监控
  4. 04检查按日探测记录
  5. 05核验端点状态与告警敏感度

适用场景

  1. 01跟踪公开健康检查端点
  2. 02验证维护期间暂停及恢复
  3. 03检查失败探测的状态码或网络错误

MCP 相关

该技能通过 Crontap MCP 创建、更新监控并读取探测记录;也说明了使用 REST API 的备用流程。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crontap/skills --skill crontap-uptime-monitor

安装后在 Claude Code 中输入/crontap-uptime-monitor确认已加载。

详细介绍

监控 HTTP 端点

Crontap 正常运行时间监控会发送 HTTP GET 探测请求。HTTP 200 至 399 表示正常。 网络错误、超时和其他状态码均视为探测失败。

前提条件

使用所需工具前,请先检查这些工具是否可用。如果有任何工具不可用,请停止并仅向用户提供以下两个选项:

  1. 连接 Crontap MCP:https://mcp.crontap.com/mcp。所有 Crontap 套餐均支持 MCP 访问。
  2. 为原始 API 配置 $CRONTAP_CLIENT_ID 和 $CRONTAP_API_KEY。原始 API 访问需要 Ultra 套餐。

不要擅自选择路径,也不要在用户选择前继续操作。

  • 选择一个能代表所监控依赖项的轻量级健康检查 URL。
  • 确认所需的间隔和连续失败阈值。
  • 决定计划内的部署是否应暂停监控。

工作流

  1. 使用名称、URL、间隔和阈值创建监控。
  2. 验证已保存的运行频率和待处理状态。
  3. 首次检查运行后,查看一个 UTC 日期的探测记录。
  4. 当维护窗口期间的警报会造成误导时,将 status 设为 paused。
  5. 维护完成后,将 status 设为 pending,以便正常恢复监控。

MCP 示例

创建一个五分钟间隔、连续失败两次后判定为宕机的监控:

{
  "tool": "create_monitor",
  "arguments": {
    "name": "Public API health",
    "url": "https://api.example.com/health",
    "intervalMinutes": 5,
    "failureThreshold": 2,
    "emailCooldownMinutes": 15
  }
}

维护期间暂停:

{
  "tool": "update_monitor",
  "arguments": {
    "monitorId": "<monitor-id>",
    "status": "paused"
  }
}

验证后恢复:

{
  "tool": "update_monitor",
  "arguments": {
    "monitorId": "<monitor-id>",
    "status": "pending"
  }
}

检查探测记录:

{
  "tool": "get_monitor_probes",
  "arguments": {
    "monitorId": "<monitor-id>",
    "day": "2026-09-14"
  }
}

REST 备用方案

仅在拥有 Ultra API 访问权限时使用 REST:

curl --fail-with-body https://api.crontap.com/v1/monitor \
  -X POST \
  -H "ClientId: $CRONTAP_CLIENT_ID" \
  -H "ApiKey: $CRONTAP_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Public API health",
    "url": "https://api.example.com/health",
    "intervalMinutes": 5,
    "failureThreshold": 2
  }'

如需暂停,请使用 PUT 向 /v1/monitor/<monitor-id> 发送 {"status":"paused"}。恢复时使用 pending。

验证

  • 确认至少有一次探测,并查看其状态码或网络错误。
  • 检查健康的端点是否会使监控状态从待处理变为正常。
  • 如果要验证宕机和恢复警报,请使用专门的测试端点。不要破坏生产环境的健康检查路由。
  • 确认配置的阈值符合预期的警报灵敏度。

安全与套餐限制

  • 监控公开可访问或特意设置为可访问的端点。不要仅为使其可被探测而暴露私有管理路由。
  • 避免在 URL 中嵌入凭据。请使用专为健康检查设计的端点。
  • Starter 和付费套餐的监控数量与最低运行频率各不相同。
  • 如果创建或更新操作返回套餐限制错误,请说明四档套餐选项,并指出满足需求的最低选项。

故障排查

  • 探测返回 401 或 403,表示健康检查端点无法从公网探测。
  • 短暂中断频繁发生时,可能需要提高失败阈值,但在隐藏此类中断前,请先确认其对用户的影响。
  • 超时可能表示健康检查处理程序响应缓慢,或下游依赖项出现问题。
  • 暂停期间没有探测记录属于预期情况。

参考资料

评论

支持 Markdown