system-status
system-status
Hermes スタイルの運用エージェント: Ubuntu / Docker / パブリック IP を監視し、アラートを飞书へプッシュします。
機能
🐳 Docker 監視:コンテナ状態、再起動回数、CPU/メモリ、ヘルスチェック
🖥️ システム監視:CPU、メモリ、ディスク、ロード
🌐 パブリック IP ドリフト検出:複数のソースで検証し、変化時にアラート
💬 飞书アラート:リッチテキストカード + @指定ユーザー
📊 SQLite 履歴データ:サンプリングごとにDBへ保存し、デフォルトで7日間保持
️ Web パネル:リアルタイムダッシュボード + トレンドグラフ + アラートストリーム
ブラウザで
http://localhost:8080/web/を開くだけでOKです。
🌐 HTTP / MCP インターフェース:Hermes / クライアントからの呼び出し用
GET /healthGET /api/docker/containersPOST /api/docker/restartGET /api/systemGET /api/ipGET /api/dashboardGET /api/history/system?inutes=60GET /api/history/ipGET /api/alarts/recentGET /mcp/tops
Related MCP server: 6amdev-server-mcp
クイックスタート
1. 飞书 ロボットを作成
グループチャット → 設定 → グループボット → 追加 → カスタムボット → Webhook と Secret を取得します。
2. 環境変数の設定
cp .env.example .env
# 编辑 .env,填入飞书 webhook 和 secret3. 起動
docker compose up -d4. 検証
curl http://localhost:8080/health
curl http://localhost:8080/api/docker/containers
curl http://localhost:8080/api/system
curl http://localhost:8080/api/ip設定説明
.env:
変数 | 必須 | 説明 |
| ✅ | 飞书 ロボット Webhook |
| ⭕ | 署名検証キー |
| ⭕ | @する電話番号、カンマ区切り |
| ⭕ | 全員に@するかどうか |
| ⭕ | チェック間隔(秒)、デフォルト 60 |
| ⭕ | HTTP ポート、デフォルト 8080 |
Hermes への連携
Hermes は HTTP MCP を経由してこれらのエンドポイントを直接呼び出すことができます。 Hermes の設定に次を追加します:
mcp_servers:
- name: system-status
type: http
base_url: http://localhost:8080
tools:
- name: list_containers
method: GET
path: /api/docker/containers
- name: system_health
method: GET
path: /api/system
- name: check_public_ip
method: GET
path: /api/ip
- name: restart_container
method: POST
path: /api/docker/restart
body_schema:
type: object
properties:
name: { type: string }すると、Hermes に次のように指示できます:
「終了したコンテナをすべて列挙して」 「mysql-01 を再起動して」 「現在のパブリック IP は?」 「システムの健全性はどう?」
プロジェクト構成
system-status/
├── src/
│ ├── index.ts # 入口
│ ├── config.ts # 配置加载
│ ├── mcp/server.ts # HTTP / MCP 接口
│ ├── monitor/
│ │ ├── docker.ts # Docker 监控
│ │ ├── system.ts # 系统监控
│ │ ├── ip.ts # 公网 IP 检测
│ │ └── loop.ts # 监控主循环
│ └── alert/
│ ├── feishu.ts # 飞书 Webhook + 签名
│ └── templates.ts # 告警模板
├── config/rules.yaml # 告警规则
├── Dockerfile
├── docker-compose.yml
└── .env.exampleアラートのクールダウン
同じ種類のアラートは、デフォルトでは 5 分 以内に重複してプッシュされません(アラートストーム防止)。
調整するには、src/monitor/loop.ts の COOLDOWN_MS を変更してください。
セキュリティ上の注意
⚠️
docker.sockは root 権限と同等です。必ず読み取り専用の:roでマウントしてください。⚠️ コンテナで
privileged: trueを有効にしている場合は、本番環境でのリスクを評価してください。⚠️ 飞书 Webhook は Git にコミットしないでください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Free uptime monitoring: HTTP/TCP/TLS/DNS + MCP server checks, cron heartbeats, status pages, alerts.
Uptime monitoring with 127 tools across 23 protocols. Tag filtering + Code Mode.
- sentinelOAuthio.rootstuff
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Uptime monitoring and public status page: HTTP monitors, down/up alerts and incidents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMulti-machine system monitor with a built-in MCP server that enables AI agents to query health metrics, manage processes, schedule cron jobs, and run diagnostics across local and remote machines.133 npmApache 2.0

6amdev-server-mcpofficial
AlicenseBqualityDmaintenanceMCP server for managing Ubuntu servers with AI integration, enabling system monitoring, Docker control, Gitea repository management, Ollama LLM interaction, workspace file operations, and Claude Code assistant via natural language.34MIT- AlicenseAqualityDmaintenanceEnables AI agents to monitor Docker containers, system resources, ports, and logs in real-time.5MIT
- AlicenseNot gradedqualityDmaintenanceOfficial Hyperping MCP server for uptime, API, cron and server monitoring. 26 tools covering monitors, outages and timelines, uptime, response time, MTTR and MTTA, on-call schedules and escalation policies, over a remote Streamable HTTP endpoint with Bearer token auth and no install.1MIT