mcpField
C
crontap-uptime-monitor

crontap-uptime-monitor

github.com/crontapクラウド・DevOps1937 回インストール6 週間前に更新
リポジトリ

crontap-uptime-monitor について

crontap-uptime-monitorは、CrontapでHTTPエンドポイントの稼働状況を管理するエージェントスキルです。プローブの設定や状態確認、メンテナンス中の一時停止を行うユーザー向けで、MCPとRESTの手順を扱います。

主な機能

  1. 01HTTP稼働監視の作成
  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 は正常です。 ネットワークエラー、タイムアウト、その他のステータスコードは、プローブの失敗としてカウントされます。

前提条件

必要なツールを使う前に、利用可能かどうかを確認してください。いずれかが 利用できない場合は、処理を中断し、ユーザーに次の選択肢を正確に2つ提示してください。

  1. https://mcp.crontap.com/mcp で Crontap MCP に接続します。MCP アクセスは Crontap のすべてのプランで利用できます。
  2. 生の API を使う場合は、$CRONTAP_CLIENT_ID と $CRONTAP_API_KEY を設定します。生の API アクセスには Ultra が必要です。

ユーザーがいずれかを選ぶまで、どちらかを勝手に選んだり、処理を続けたりしないでください。

  • 監視対象の依存関係を表す、軽量なヘルス URL を選びます。
  • 必要な間隔と連続失敗のしきい値を確認します。
  • 計画済みデプロイ中にモニターを一時停止するかどうかを決めます。

ワークフロー

  1. 名前、URL、間隔、しきい値を指定してモニターを作成します。
  2. 保存された実行間隔と保留中の状態を確認します。
  3. 最初のチェックが実行されたら、UTC の1日分のプローブを調べます。
  4. メンテナンス期間中にアラートが誤解を招く場合は、status を paused に設定します。
  5. メンテナンス後、正常に再開するために status を pending に設定します。

MCP の例

2回失敗するとダウンになる、5分間隔のモニターを作成します。

{
  "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 による代替手段

REST は Ultra API アクセスがある場合にのみ使用してください。

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
  }'

一時停止するには、{"status":"paused"} を /v1/monitor/<monitor-id> に PUT で送信します。再開するには pending を使用します。

確認

  • 少なくとも1回のプローブと、そのステータスコードまたはネットワークエラーを確認します。
  • 正常なエンドポイントによって、モニターの状態が pending から up に遷移することを確認します。
  • down と復旧のアラートを検証する場合は、別途用意したテストエンドポイントを使用します。本番環境のヘルスルートを壊さないでください。
  • 設定したしきい値が、希望するアラート感度に合っていることを確認します。

安全性とプランの上限

  • 公開されているか、意図的に到達可能にしたエンドポイントを監視します。プローブを可能にするためだけに、非公開の管理ルートを公開しないでください。
  • 認証情報が埋め込まれた URL は避けてください。ヘルスチェック用に設計されたエンドポイントを使用します。
  • Starter プランと有料プランでは、モニター数と実行間隔の下限が異なります。
  • 作成または更新時にプラン上限エラーが返された場合は、4つの選択肢からなる段階的なプラン構成を説明し、実現可能な最小の選択肢を示します。

トラブルシューティング

  • プローブの 401 または 403 は、ヘルスエンドポイントに公開状態でプローブできないことを意味します。
  • 短時間の停止が頻発する場合は、失敗のしきい値を上げる必要があるかもしれません。ただし、影響を見えなくする前に、ユーザーへの影響を確認してください。
  • タイムアウトは、ヘルスハンドラーの応答が遅いか、下流の依存関係に問題があることを示している可能性があります。
  • 一時停止中にプローブがないのは正常です。

参考資料

コメント