360 Secure SkillHub
360 安全技能中心

Watchdog Heartbeat

针对常驻系统的可观测性 Skill:接收服务清单、健康检查方式、心跳记录、工作流状态和重启记录,输出服务健康汇总、心跳过期列表、卡住工作流列表、恢复与降级建议及检查日志,并区分警告与危急、标注可观测性缺口。

sunbinnju-star
sunbinnju-star
热度 40.81
最近更新 2026-05-11 17:37:23
分类:自动化依赖:纯提示词应用场景:DevOps / 工作流 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add watchdog-heartbeat
Metadata
name
watchdog-heartbeat
description
Monitor service health, heartbeat freshness, stuck workflows, and trigger recovery or degraded mode. Use on: high-frequency schedule, after system startup, when a workflow stalls, when heartbeat freshness must be verified. Triggered by watchdog cron jobs or health check requests.

Watchdog Heartbeat

Provide observability and recovery awareness for a resident OpenClaw system. Verify process aliveness, heartbeat freshness, and workflow integrity.

Input

Required:

  • service_list — list of monitored services and their expected health states
  • health_endpoints — map of service → health check endpoint or method
  • heartbeat_records — recent heartbeat timestamps per agent/skill
  • workflow_status_records — current status of all active workflows
  • restart_records — history of service restarts and recovery events

Output Schema

service_health_summary: {
  service: string
  status: "healthy" | "degraded" | "down" | "unknown"
  last_check: string      # ISO-8601
  latency_ms: number | null
  error: string | null
}[]

expired_heartbeat_list: {
  agent_or_skill: string
  last_heartbeat: string  # ISO-8601
  seconds_expired: number
  severity: "warning" | "critical"
}[]

stuck_workflow_list: {
  workflow_id: string
  workflow_name: string
  stuck_since: string     # ISO-8601
  stuck_duration_min: number
  last_progress: string | null
  severity: "warning" | "critical"
}[]

recovery_recommendation: {
  action: "restart" | "notify" | "escalate" | "no_action" | "degraded_mode"
  target: string
  reason: string
}[]

degraded_mode_recommendation: {
  affected_services: string[]
  degraded_features: string[]
  estimated_recovery_time: string | null
  user_impact: string
}

watchdog_log: {
  check_id: string
  check_time: string     # ISO-8601
  services_checked: number
  heartbeats_checked: number
  workflows_checked: number
  issues_found: number
  observability_gap: string[] | null
}

Rules

  1. Process alive ≠ healthy. Check recent success, not just process existence.
  2. Expired heartbeat triggers attention. Do not ignore stale heartbeats.
  3. Stuck workflows must be explicitly surfaced. Don't let them disappear into silence.
  4. Silent failure is unacceptable. If something fails and no one is notified, that's a system failure.
  5. Distinguish warning from critical. Warning = may self-recover. Critical = requires intervention.

Heartbeat Expiry Thresholds

Seconds Expired Severity
< 60s healthy
60s – 300s warning
> 300s critical

Workflow Stuck Thresholds

Duration Severity
< 10 min healthy (in progress)
10 – 30 min warning
> 30 min critical

Recovery Actions

  • no_action — within normal parameters
  • notify — alert human, no automatic restart
  • restart — attempt automatic restart
  • escalate — human intervention required
  • degraded_mode — reduce functionality, maintain partial service

Failure Handling

If monitoring data is incomplete:

  • Set observability_gap with missing field names
  • Report status = "unknown" for affected services
  • Do not fabricate health states
  • Recommend escalate if critical services have observability gaps