OpenClaw를 임대 원격 Mac에서 24/7 게이트웨이로 돌릴 때는 “어제 됐다”만으로는 부족합니다. 이 HowTo는 최소 재현 경로를 제시합니다: 문서화된 헬스 URL로 살아 있음을 증명하고, Prometheus 호환 스크랩(필요 시 OpenTelemetry Collector로 브리지)으로 시계열을 모은 뒤 임계 알림을 걸고, 구조화 로그로 원인까지 이어 읽습니다. 기본 설치·바인드는 Docker·하드닝 가이드, 노출·토큰은 Tailscale·토큰 교체, 출구 정책은 스킬 샌드박스·화이트리스트와 같이 보세요.
개념: 당김(pull) 지표, 푸시(push) 트레이스, 같은 장애
Prometheus는 HTTP 엔드포인트를 주기적으로 스크랩합니다. OpenTelemetry는 보통 OTLP로보내지만, Collector에 Prometheus receiver와 exporter를 얹으면 같은 게이트웨이를 vendor 백엔드로 넘길 수 있습니다. 임대 Mac에서 폭발 반경을 줄이려면 (1) /healthz·/readyz 합성 가용성, (2) 호스트 CPU·메모리·디스크(node_exporter 등), (3) 프로브가 빨갛게 될 때 이유를 주는 게이트웨이 구조화 로그 세 가지부터 고정하세요.
나중에 공식 /metrics나 OTLP가 생겨도 service_name=openclaw-gateway, env, instance 같은 job 라벨을 유지하면 대시보드·알림이 덜 흔들립니다.
1단계 — 게이트웨이 헬스 엔드포인트(재현 가능한 curl)
리스너(흔히 18789)는 가벼운 프로브를 냅니다. 먼저 임대 호스트 셸에서 검증해 망 경로를 제거하세요.
# 생존: 프로세스·HTTP 스택 응답
curl -fsS http://127.0.0.1:18789/healthz
# 준비: 의존성이 새 작업을 받기에 충분한지(릴리스별 의미)
curl -fsS http://127.0.0.1:18789/readyz
노트북에서는 SSH 로컬 포워드로 동일 검사를 권장합니다(게이트웨이가 루프백만 쓸 때).
ssh -N -L 18789:127.0.0.1:18789 user@임대-호스트
curl -fsS http://127.0.0.1:18789/healthz
런북에 기대 본문·상태 코드를 적어두면 온콜이 “녹색”을 공유 언어로 말합니다. healthz는 살아 있고 readyz만 실패하면 성능 저하로 보세요: 디스크 부족, 멈춘 서브프로세스, 업스트림 장애가 로그에 드러납니다.
2단계 — 지표 스크랩 간격(Prometheus 잡 스케치)
Prometheus(또는 OTel Collector의 prometheus receiver)가 같은 URL을 긁습니다. 패턴은 두 가지가 흔합니다: 게이트웨이가 /metrics 텍스트를 주면 직접 스크랩, 아니면 blackbox_exporter 모듈 http_2xx로 /healthz·/readyz만 봅니다.
간격 가이드: 대화형 제어 평면은 15s, 기본 균형 30s, Mac 과부하·테일넷 지터가 크면 60s. global.scrape_interval·잡별 scrape_interval과 evaluation_interval을 맞추면 알림 창이 흔들리지 않습니다.
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 # blackbox_exporter
Docker 배포면 127.0.0.1을 compose에 맞는 호스트 포트·브리지 IP로 바꿉니다. RED급 히스토그램 전에 “게이트웨이에 닿는가?”를 단일 진실원으로 두세요.
3단계 — 알림 규칙 예시(PromQL 스타일)
아래는 blackbox의 probe_success 가정입니다. 네이티브 노출을 긁으면 히스토그램·카운터로 바꿔 확장하세요.
groups:
- name: openclaw_gateway
interval: 30s
rules:
- alert: OpenClawHealthzDown
expr: probe_success{job="openclaw_gateway_health"} == 0
for: 2m
labels:
severity: page
annotations:
summary: "OpenClaw health 프로브 실패"
description: "타깃 {{ $labels.instance }} 2분 이상 실패."
- alert: OpenClawReadyzDegraded
expr: probe_success{job="openclaw_gateway_health", instance=~".*readyz.*"} == 0
for: 5m
labels:
severity: ticket
annotations:
summary: "준비 실패(작업 수락 위험)"
- alert: OpenClawProbeSlow
expr: probe_duration_seconds > 2
for: 5m
labels:
severity: warning
annotations:
summary: "프로브 2초 초과"
요청 카운터·지연 히스토그램을 추가하면 5xx·도구 실패율, p95 예산 같은 SLO 규칙을 얹을 수 있습니다. 공유 임대 호스트에서는 라벨 카디널리티를 낮추세요—사용자 ID 단위 라벨은 Prometheus와 비용 모두에 해롭습니다.
4단계 — 알림과 OpenClaw 로그 필드 맞추기
지표는 언제, 로그는 왜입니다. 알림에서 한 번에 점프하려면 필드를 표준화하세요: 타임스탬프(RFC3339, 임대 Mac은 sntp 동기), level(info·warn·error), request_id 또는 trace_id, channel·session, tool 또는 skill_pack, upstream, duration_ms, error_class(타임아웃·429·인증·샌드박스 거부 등).
Grafana Loki·Elastic에는 service="openclaw-gateway" AND level="error" 템플릿을 저장하고 Prometheus의 env와 동일하게 두세요. 429 폭풍이면 게이트웨이 측 프로젝트별 API 예산·퓨즈와 관측 스택을 함께 두는 편이 지출 정책과 싸우지 않습니다.
프로덕션: 게이트웨이 토큰과 아웃바운드 제한
토큰. OPENCLAW_GATEWAY_TOKEN은 Prometheus 라벨이 아닙니다. launchd 환경 파일·Docker secret·금고 사이드카에 두고 Tailscale·API 키와 같은 캘린더로 교체하세요. 스크랩 URL에 비밀을 붙이지 마세요—설정과 exporter 로그가 유출면이 큽니다. 인증이 꼭 필요하면 로컬 리버스 프록시에서 TLS·mTLS로 끝내고 스크랩은 루프백에 두세요.
아웃바운드. 에이전트 섬 임대 Mac은 스킬용 도메인 화이트리스트를 씁니다. OTLP, Grafana Cloud, vendor remote_write도 별도 목적지로 허용 목록에 넣거나 관리망에 Collector를 두세요. 그렇지 않으면 “지표가 끊김”이 곧 방화벽이 정상 동작한 것인데 게이트웨이 장애로 오인됩니다.
빈도·카디널리티. 고빈도 스크랩과 디버그 로그는 에이전트와 같은 CPU 예산을 잡아먹습니다. 프로덕션은 기본 info, 디버그는 샘플링, 라벨 차원은 상한을 두세요.
FAQ
알림 평가를 임대 Mac 안에서 돌려도 되나요? 호스트가 죽으면 페이징도 같이 사라지므로, 관리 Prometheus·클라우드 모니터링 같은 외부 평가기를 권장합니다. 최후 수단으로만 경량 watchdog 스크립트를 두세요.
지금은 로그만 있는데요? 로그를 스택으로 보내 로그 기반 지표를 만들고, 준비되면 Prometheus 프로브를 추가해도 장애 대응 흐름은 동일합니다.
정리
/healthz·/readyz를 문서화된 스크랩 경로에 올리고, 간격을 SLO 성향에 맞추며, PromQL 스타일 규칙으로 생존·준비를 인코딩하고, 구조화 로그로 루프를 닫으면 임대 원격 Mac 게이트웨이 운영이 현실적으로 굴러갑니다. 토큰과 출구를 단단히 해 관측이 보안을 약화시키지 않게 하세요.
공개 가격·구매·지원(로그인 없이 열람)은 아래 사이트 페이지를 이용하세요.