AI / オートメーション 2026年5月9日

2026 年 OpenClaw 障害通知:Slack Incoming Webhook、汎用 HTTPS エンドポイント、ProxyMac Mac mini(香港・日本・韓国・シンガポール・米国)での JSONL 相関

ProxyMac エンジニアリングチーム 2026年5月9日 約 13 分で読める

レンタルした Apple Silicon M4 Mac mini 上で OpenClaw ゲートウェイを動かす運用者は、香港・日本・韓国・シンガポール・米国のどのリージョンでも、やがて同じ穴に落ちます。モデルスタックはまだプロンプトに答えるのに、MCP ツールの失敗は静かに積み上がり、顧客が古い CI アーティファクトに気づくまで誰も気づかない、というギャップです。本稿で届けるものは実用的な通知層——人が見るページング向けの Slack Incoming Webhook、自動化ブリッジ向けの 汎用 HTTPS POST、そして推測ではなくJSONL ログと強く結びついた相関指紋付きアラートです。内容は (1) ページングに値する障害クラスとダッシュボード向けノイズの切り分け、(2) MCP 再試行の嵐向けに調整した4 行の重複排除表(3) プロセスが非ゼロ終了したときだけ Webhook を撃つ macOS launchd の型、(4) ロールバックスイッチ付きの9 ステップ導入チェックリスト、および 構造化ログゲートウェイ再起動の復旧環境分離、外向き TLS が企業検査を通るときの HTTP CONNECT プロキシの心得への導線です。

  • シグナル:ゲートウェイが120 秒以内にクラッシュループ——即時ページ。末尾 200 行の JSONL ハッシュを添付。
  • ノイズ:上流 LLM のレート制限中の単発 MCP タイムアウト——10 分以内に同一ツール名で5 件以上重ならない限り抑制。
  • コンプライアンス:Slack ワークスペースの法的所在地が mini と異なる場合がある——有効化前にデータフローを文書化する。

人が気づく前に OpenClaw が出す障害シグナル

明らかな stderr 以外にも、本番ゲートウェイはふつう構造化フックを持ちます。ツール遅延のヒストグラム、ハートビートのタイムスタンプ、リモート API への依存プローブなどです。3 段階の深刻度に分けてください:劣化(ベースラインの4 倍超の遅延だがリクエストは成功)、損傷(ツールの一部が失敗)、停止(MCP サーバを fork できない、TLS ハンドシェイクが根本から失敗)。段階ごとにチャンネルを分ける:#openclaw-warnings#incidents とオンコール SMS ブリッジ——混ぜると確実にアラート疲れします。

相関のコツ:HOST_REGION、plist のラベル、OpenClaw 設定バンドルのコミット SHA(切り詰め)を含め、ローリング配備がインフラ退行に見えないようにする。

Slack Incoming Webhook と汎用 HTTPS 受信側

Incoming Webhook は Slack の Block Kit 向け JSON を受け付けます。curl か小さな Node シムから最速で配線でき、セキュリティがワークスペースアプリを既に承認していれば OAuth の儀式は要りません。欠点は URL の秘密性自体が資格情報になること——チャンネルメンバーから誰かが抜けたらローテートしてください。汎用 HTTPS エンドポイント(PagerDuty、Opsgenie、社内インシデント API など)はしばしば署名を期待します——シークレットガイドに沿い Keychain に置いた鍵から HMAC ヘッダを計算するのが無難です。並列エージェントでトラフィックが跳ねたら、パケット落ちを Webhook のせいにする前に 同時実行の調整を見直してください。

うるさい MCP 再試行向けの重複排除とレート制限表

失敗パターン 典型的な頻度 ページング規則 バックオフの目安
単一ツールの DNS 失敗 60 秒3〜8件のバースト ツール ID ごとに 1 件にまとめる 重複排除 30 秒
ゲートウェイの OOM 強制終了 1 回のあとクラッシュループ 即時・高深刻度 指数バックオフ 2n 分(上限 15
TLS MITM プロキシが証明書を差し替え 安定して100% 失敗 ネットセキュリティ向けチャンネルへ 黙って再試行しない——ゲートウェイを一時停止
モデルベンダからのレート制限 数分おきの波 SLA 違反がなければダッシュボードのみ ジッター付き再試行 5〜30 秒

launchd 監督、ラッパスクリプト、終了コード Webhook

OpenClaw のホットパスから Slack をポーリングする代わりに、ゲートウェイバイナリをシェルか Swift の薄いヘルパで包み、終了コードを捕まえます:$?0 でなければ、最小限の JSON を POST し syslog のマーカーを含めます。ラッパは80 行以内、サービスアカウントが所有し、ProgramArguments から参照して launchctl print の表示と食い違わないようにしてください。再起動の復旧の自動再起動ポリシーと Webhook 抑制タイマを組み合わせないと、監督されるたびにチャンネルが埋まります。

運用衛生:リポジトリの平文に Webhook URL を埋めない——配備時に plist の EnvironmentVariables で注入するか、ボールトから短命トークンを取る。

9 ステップの導入チェックリスト

  1. JSONL を確認:ローテーションとパーミッションを ログ記事どおりに。
  2. サンドボックスの Slack アプリと Webhook を作成——承認スクリーンショットを残す。
  3. curl で POST を試作——プレースホルダ文でチャンネル参加を確認。
  4. 重複排除ミドルウェアを追加(単一 mini なら Redis なしのファイルロックでも足りる)。
  5. 本番ゲートウェイの絶対パスに終了ラッパを配線
  6. 機能フラグ:plist 環境変数 ALERTS_ENABLED=false で即ミュート。
  7. ゲームデイ:ゲートウェイに kill -9——ポリシーどおり 1 件のアラートと自動再起動を期待。
  8. シークレットレビュー:Webhook URL は四半期ローテ。ステージング分離と整合。
  9. 文書化:Webhook 設定チケットの横にランブックリンクを置く。

FAQ

香港と米国の mini で同じ Webhook を使い回せますか? 技術的には可能——JSON に region フィールドを足し、経路が一目で分かるようにしてください。

Microsoft Teams は? 同じ型です。受信コネクタ URL は Slack の Webhook に似ています。ペイロードサイズ上限(28 KB 級)に注意。

スタックトレースは載せるべき? 切り詰めたポインタとオブジェクト ID のみ——全文は暗号化ログアーカイブ側へ。

常時オンのアラート接着に ProxyMac Mac mini が合う理由

専用の Mac mini M4 はラッパの経路が安定し、launchd 監督が信頼でき、補助的な通知プロセスの電力負荷も Apple Silicon の効率でほとんど目立ちません。リージョンは 料金から選び、越境遅延のリハーサルは ヘルプセンター、Webhook の資格情報ローテ中に GUI プロンプトを見る必要があれば VNC を使ってください。

OpenClaw を実用的なページング付きで出荷する

Webhook · JSONL · HK / JP / KR / SG / US