レンタル リモート Mac上のOpenClaw ゲートウェイでは、ヘルス URL・Prometheus 互換スクレイプ(必要なら OTel Collector)・閾値アラート・構造化ログを一連で揃えます。loopback 束縛なら取得経路は SSH トンネルか前段プロキシと一致させます。Docker 本番稿とTailscale・トークン輪換、外向き許可リストを参照してください。
運用でつまずきやすい点
- ローカルは緑でも経路で赤 — tailnet/SSH の前提を固定。
- スクレイプと evaluation_interval がズレてページが遅い。
- URL に載せたトークンがログに残る。
信号の対照(Prometheus/OTel)
Prometheus は HTTP を引き、OTel は OTLP で送ることが多いですが、Collector の receiver で橋渡しできます。レンタル機はヘルス合成・ホスト指標・ゲートウェイログの三層からで足ります。ラベル env・instance・service_name は据え置きが長持ちします。
| 信号 | Prometheus | OpenTelemetry |
|---|---|---|
| /healthz /readyz | probe_success 等 | receiver→OTLP |
| アプリ | /metrics | SDK/Collector |
| 因果 | 環境ラベル | request_id |
手順 1 — ヘルス端点(再現 curl)
既定 18789。ホスト上で先に叩き、期待コードをランブック化。readyz のみ落ちるときは劣化扱いでログ時刻を突合。
# liveness
curl -fsS http://127.0.0.1:18789/healthz
# readiness (semantics per release)
curl -fsS http://127.0.0.1:18789/readyz
# from laptop via SSH when bound to loopback
ssh -N -L 18789:127.0.0.1:18789 user@rental-host
curl -fsS http://127.0.0.1:18789/healthz
手順 2 — スクレイプ間隔
/metrics が無ければ blackbox_exporter の http_2xx で /healthz と /readyz を取得。間隔は 15s/30s/60s から負荷と SLO で選び、evaluation_interval と整合。Docker は公開ポートに置換。
scrape_configs:
- job_name: openclaw_gateway_health
scrape_interval: 30s
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://127.0.0.1:18789/healthz
- http://127.0.0.1:18789/readyz
labels:
service: openclaw-gateway
env: prod-rental-mac
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: 127.0.0.1:9115
手順 3 — アラート例
probe_success 想定。系列名は環境に合わせて差替え。共有機はラベル基数に注意。
groups:
- name: openclaw_gateway
interval: 30s
rules:
- alert: OpenClawHealthzDown
expr: probe_success{job="openclaw_gateway_health"} == 0
for: 2m
labels:
severity: page
- alert: OpenClawReadyzDegraded
expr: probe_success{job="openclaw_gateway_health", instance=~".*readyz.*"} == 0
for: 5m
labels:
severity: ticket
- alert: OpenClawProbeSlow
expr: probe_duration_seconds > 2
for: 5m
labels:
severity: warning
手順 4 — OpenClaw ログフィールド
時刻は RFC3339+sntp 同期。level、request_id/trace_id、channel/session、tool/skill_pack、upstream、duration_ms、error_class を揃え、アラート時刻から Loki/Elastic へ直行できるようにします。
本番:トークンと外向き
OPENCLAW_GATEWAY_TOKEN をラベルや URL に載せず秘密ストアから供給し定期輪換。観測の OTLP/remote_write 先はスキル許可リストへ明示追加し、メトリクス途切れをゲートウェイ障害と誤認しないようにします。高頻度スクレイプと debug ログは CPU を奪うため本番は info 既定とサンプリング。アラート評価はホストダウン時にも届くようマネージド監視側へ寄せるのが無難です。
FAQ
評価はホスト上? 外部のマネージド監視を推奨。
ログのみ? ログからエラー率を派生し、後からプローブ追加でよい。
まとめ
/healthz /readyz を文書化したパスで監視し、間隔・ルール・ログを揃え、トークンと egress で観測経路も最小権限にします。
引用値:18789、間隔 15s〜60s、ログ request_id error_class。