Pilot Fleet Health Monitor Setup
/install pilot-fleet-health-monitor-setup
Fleet Health Monitor Setup
Deploy 3 agents that monitor server health and aggregate alerts.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| web-monitor | \x3Cprefix>-web-monitor |
pilot-health, pilot-alert, pilot-metrics | Monitors web servers, publishes health alerts |
| db-monitor | \x3Cprefix>-db-monitor |
pilot-health, pilot-alert, pilot-metrics | Monitors databases, publishes health alerts |
| alert-hub | \x3Cprefix>-alert-hub |
pilot-webhook-bridge, pilot-alert, pilot-event-filter, pilot-slack-bridge | Aggregates alerts, forwards to humans |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For web-monitor or db-monitor:
clawhub install pilot-health pilot-alert pilot-metrics
# For alert-hub:
clawhub install pilot-webhook-bridge pilot-alert pilot-event-filter pilot-slack-bridge
Step 3: Set the hostname:
pilotctl --json set-hostname \x3Cprefix>-\x3Crole>
Step 4: Write the setup manifest:
mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/fleet-health-monitor.json \x3C\x3C 'MANIFEST'
{
"setup": "fleet-health-monitor",
"setup_name": "Fleet Health Monitor",
"role": "\x3CROLE_ID>",
"role_name": "\x3CROLE_NAME>",
"hostname": "\x3Cprefix>-\x3Crole>",
"description": "\x3CROLE_DESCRIPTION>",
"skills": { "\x3Cskill>": "\x3Ccontextual description>" },
"peers": [ { "role": "...", "hostname": "...", "description": "..." } ],
"data_flows": [ { "direction": "send|receive", "peer": "...", "port": 1002, "topic": "...", "description": "..." } ],
"handshakes_needed": [ "\x3Cpeer-hostname>" ]
}
MANIFEST
Step 5: Tell the user to initiate handshakes with direct communication peers.
Manifest Templates Per Role
web-monitor
{
"setup": "fleet-health-monitor",
"setup_name": "Fleet Health Monitor",
"role": "web-monitor",
"role_name": "Web Server Monitor",
"hostname": "\x3Cprefix>-web-monitor",
"description": "Watches nginx/app health, CPU, memory, and response times. Emits alert events when thresholds are breached.",
"skills": {
"pilot-health": "Check nginx, app endpoints, SSL certs. Run on schedule or on-demand.",
"pilot-alert": "When health checks fail, publish alert to \x3Cprefix>-alert-hub on topic health-alert.",
"pilot-metrics": "Collect CPU, memory, disk, and response time. Format as JSON event payloads."
},
"peers": [
{ "role": "db-monitor", "hostname": "\x3Cprefix>-db-monitor", "description": "Fellow monitor — does not communicate directly" },
{ "role": "alert-hub", "hostname": "\x3Cprefix>-alert-hub", "description": "Central alert aggregator — receives health-alert events" }
],
"data_flows": [
{ "direction": "send", "peer": "\x3Cprefix>-alert-hub", "port": 1002, "topic": "health-alert", "description": "Health check failures and metric anomalies" }
],
"handshakes_needed": ["\x3Cprefix>-alert-hub"]
}
db-monitor
{
"setup": "fleet-health-monitor",
"setup_name": "Fleet Health Monitor",
"role": "db-monitor",
"role_name": "Database Monitor",
"hostname": "\x3Cprefix>-db-monitor",
"description": "Monitors database connections, query latency, replication lag, and disk usage. Emits alerts on anomalies.",
"skills": {
"pilot-health": "Check PostgreSQL/MySQL connections, replication lag, disk usage.",
"pilot-alert": "When DB health fails, publish alert to \x3Cprefix>-alert-hub on topic health-alert.",
"pilot-metrics": "Collect query latency, connection pool stats, table sizes."
},
"peers": [
{ "role": "web-monitor", "hostname": "\x3Cprefix>-web-monitor", "description": "Fellow monitor — does not communicate directly" },
{ "role": "alert-hub", "hostname": "\x3Cprefix>-alert-hub", "description": "Central alert aggregator — receives health-alert events" }
],
"data_flows": [
{ "direction": "send", "peer": "\x3Cprefix>-alert-hub", "port": 1002, "topic": "health-alert", "description": "Database alerts and replication warnings" }
],
"handshakes_needed": ["\x3Cprefix>-alert-hub"]
}
alert-hub
{
"setup": "fleet-health-monitor",
"setup_name": "Fleet Health Monitor",
"role": "alert-hub",
"role_name": "Alert Aggregator",
"hostname": "\x3Cprefix>-alert-hub",
"description": "Receives alerts from all monitors, filters duplicates and noise, then forwards critical alerts to Slack and PagerDuty via webhooks.",
"skills": {
"pilot-webhook-bridge": "Forward critical alerts to Slack and PagerDuty via webhook URLs.",
"pilot-alert": "Subscribe to health-alert from all monitors. Aggregate and deduplicate.",
"pilot-event-filter": "Filter noise and low-severity alerts before forwarding.",
"pilot-slack-bridge": "Post formatted alert summaries to Slack channels."
},
"peers": [
{ "role": "web-monitor", "hostname": "\x3Cprefix>-web-monitor", "description": "Sends health alerts from web servers" },
{ "role": "db-monitor", "hostname": "\x3Cprefix>-db-monitor", "description": "Sends health alerts from databases" }
],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-web-monitor", "port": 1002, "topic": "health-alert", "description": "Health check failures and metric anomalies" },
{ "direction": "receive", "peer": "\x3Cprefix>-db-monitor", "port": 1002, "topic": "health-alert", "description": "Database alerts and replication warnings" },
{ "direction": "send", "peer": "external", "port": 443, "topic": "slack-forward", "description": "Filtered alerts to Slack and PagerDuty" }
],
"handshakes_needed": ["\x3Cprefix>-web-monitor", "\x3Cprefix>-db-monitor"]
}
Data Flows
web-monitor → alert-hub: health-alert events (port 1002)db-monitor → alert-hub: health-alert events (port 1002)alert-hub → humans: forwarded alerts via webhook/announce
Handshakes
# web-monitor and db-monitor handshake with alert-hub:
pilotctl --json handshake \x3Cprefix>-alert-hub "setup: fleet-health-monitor"
# alert-hub handshakes with both monitors:
pilotctl --json handshake \x3Cprefix>-web-monitor "setup: fleet-health-monitor"
pilotctl --json handshake \x3Cprefix>-db-monitor "setup: fleet-health-monitor"
Workflow Example
# On alert-hub — subscribe to health events:
pilotctl --json subscribe \x3Cprefix>-web-monitor health-alert
pilotctl --json subscribe \x3Cprefix>-db-monitor health-alert
# On web-monitor — publish a health alert:
pilotctl --json publish \x3Cprefix>-alert-hub health-alert '{"host":"web-01","status":"critical","cpu":95,"mem":88}'
# On db-monitor — publish a database alert:
pilotctl --json publish \x3Cprefix>-alert-hub health-alert '{"host":"db-01","status":"warning","disk_pct":88,"repl_lag_ms":450}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install pilot-fleet-health-monitor-setup - 安装完成后,直接呼叫该 Skill 的名称或使用
/pilot-fleet-health-monitor-setup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Pilot Fleet Health Monitor Setup 是什么?
Deploy a fleet health monitoring system with 3 agents. Use this skill when: 1. User wants to set up fleet or server health monitoring 2. User is configuring... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 77 次。
如何安装 Pilot Fleet Health Monitor Setup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install pilot-fleet-health-monitor-setup」即可一键安装,无需额外配置。
Pilot Fleet Health Monitor Setup 是免费的吗?
是的,Pilot Fleet Health Monitor Setup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Pilot Fleet Health Monitor Setup 支持哪些平台?
Pilot Fleet Health Monitor Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Pilot Fleet Health Monitor Setup?
由 Calin Teodor(@teoslayer)开发并维护,当前版本 v1.0.0。