AI / 자동화 2026년 4월 21일

2026 임대 Mac mini에서 OpenClaw 헬스 프로브, 합성 가동률, 디스크 가드레일

ProxyMac 엔지니어링 팀 2026년 4월 21일 약 13분 읽기

HK, JP, KR, SG, US에 있는 임대 ProxyMac Mac miniOpenClaw 게이트웨이는 「건강해 보이는데」 조용히 실패할 수 있다. HTTP 리스너는 여전히 바인딩돼 있지만 모델 라우트는 꽉 막혀 있거나, 디스크가 92% 찼거나, LaunchAgent가 너무 빨리 재생돼 로그가 플러시되지 않는다. 이 2026 플레이북은 계층형 헬스 프로브LaunchAgent가 예약한 빠른 localhost curl, LAN 밖의 느린 합성 가동률 점검, 디스크와 통합 로깅 가드레일—을 더하고, 실패를 Launchctl 복구배포 문제 해결의 구조화된 트리아지 단계에 묶는다. 다섯 열 신호 매트릭스(속도 제한 가이드와 표 모양이 다름), 복사해 쓸 curl 프로브, 타이밍 수치(60초 주기, 5초 클라이언트 타임아웃, 여유 디스크 12GB 바닥), 그리고 온콜이 Cloudflare·TLS·게이트웨이 프로세스 중 무엇이 먼저 깨졌는지 추측하지 않게 하는 5단계 사고 매트릭스를 준다.

이 글을 헬프 센터 자동화 노트와 짝지어 읽고, 미니에 에이전트를 더 쌓기 전에 요금으로 용량을 확보하라.

게이트웨이에 「프로세스가 떠 있다」 이상의 프로브가 필요한 이유

macOS 활동 모니터는 녹색인데 워커 스레드가 futex에서 막혀 있을 수 있다. 외부 벤더는 호스트에 ICMP가 닿았다고만 말한다—OpenClaw HTTP 표면이 모델 자격 증명이 로드됐음을 증명하는 HTTP/200과 JSON 본문을 돌려주는지는 말하지 않는다. 프로브는 순서대로 세 질문에 답해야 한다: TCP 포트를 받는가? 앱 로직이 준비됐다고 말하는가? 디스크·비밀·업스트림 API 같은 의존성이 SLA 안인가? 한 층이라도 빠지면 매주 금요일 같은 Sev2를 다시 연다.

  • LaunchAgent 가시성: 실패한 프로브가 카운터를 올려 syslog로 SIEM에 보낼 수 있다.
  • 카나리 페이로드: 512바이트 JSON 에코는 TCP가 아니라 TLS 종료와 JSON 파싱을 증명한다.
  • 운영자 정신 건강: 2분에 걸쳐 연속 3회 프로브 실패 후에만 자동 재시작하되, 마지막 정상 종료가 10분 미만 전이면 하지 않는다—포크 폭탄을 막는다.

신호 유형 비교(생존 vs 준비 vs 비즈니스)

신호통과 조건여전히 깨질 수 있는 것전형적 프로브 도구권장 주기
TCP 오픈포트 443이 SYN을 받음TLS 오설정, 앱 패닉nc -vz 127.0.0.1 PORT120초마다(저렴)
HTTP 생존200 OK 빈 본문모델 인증 만료curl -fsS --max-time 5 URL60초마다
HTTP 준비JSON이 큐 깊이 < 임계상위 LLM 장애jq가 있는 스크립트 점검180초마다
비즈니스 프로브합성 대화 완료드문 레이스 버그별도 워커 미니15분마다

TLS 프런트 뒤에서도 살아남는 localhost 프로브 패턴

관리용 헬스 경로를 공개 웹훅 소켓과 분리한 127.0.0.1 고포트에 바인딩하라—웹훅 강화에 설명된 바와 같다. LaunchAgent는 게이트웨이와 같은 사용자 맥락에서 돌아가므로 키체인 항목이 잠금 해제된 상태를 유지한다. 멈춘 백엔드가 launchd를 영원히 막지 않게 curl --fail --silent --show-error --max-time 5를 쓴다.

curl -fsS --max-time 5 http://127.0.0.1:18080/healthz || logger -t openclaw-probe "FAIL"

LaunchAgent 타이머 배선(StartInterval, ThrottleInterval)

Apple은 StartInterval을 초 단위로 문서화한다. 프로브 스크립트가 복구도 트리거한다면 ThrottleInterval을 최소 30으로 맞춰라—그렇지 않으면 게이트웨이가 소켓을 비우기 전에 launchctl kickstart를 더 빨리 두드린다. 성공은 Debug 수준으로만 로그하고, 실패는 에포크 타임스탬프·종료 코드·curl 시간이 한 줄에 나오게 한다.

재시작 레시피 재사용: 프로브가 실패하면 게이트웨이 재시작 복구에서 가리키는 것과 같은 래퍼 스크립트를 호출해 운영자가 런북 하나만 외우게 하라.

관리 경로를 노출하지 않는 외부 합성 점검

상호 TLS 클라이언트 인증이나 서명된 요청 헤더를 지원하는 외부 모니터를 고르라. 인증 없는 헬스 JSON을 공인 인터넷에 올리지 마라. 도쿄에서 JP 미니로의 지연은 HTTPS 프로브 p95가 80ms 아래에 머물러야 한다—합성 점검이 나쁘고 localhost 프로브는 통과하면 OpenClaw보다 앞의 WAF나 인증서 만료를 의심하라.

디스크와 통합 로깅 가드레일

대화 내용을 스트리밍하는 OpenClaw 워크로드는 팀이 예상보다 빨리 /var/db/diagnostics를 채운다. 사용 가능 바이트가 12GB 아래로 떨어지면 알림—퍼센트가 아니라(APFS 스냅샷이 비율을 왜곡한다). 성장 속도를 추적하라. 단일 테넌트 미니에서 하루 3GB를 넘으면 보통 사고 후 디버그 로깅을 켠 채로 둔 것이다. newsyslog 스타일 상한으로 앱 로그를 돌리거나 gzip CPU가 모델 추론을 빼앗기기 전에 원격 저장으로 보내라.

비밀 순환: 키 순환 직후 HTTP 401로 프로브가 실패하기 시작하면 모니터가 비밀 가이드대로 키체인에서 버전이 있는 비밀을 읽게 하라—plist에 장수 PAT를 박아 넣지 마라.

프로브가 빨강으로 바뀔 때 5단계 사고 매트릭스

  1. 범위 확인: localhost와 외부 프로브가 엇갈리는가? 외부만 실패하면 TLS와 DNS부터 본다.
  2. LaunchAgent stderr 확인: macOS 15에서 log show --predicate 'process == "curl"' --last 5m가 대부분의 실패를 잡으며 게이트웨이 상세 로그를 켤 필요가 없다.
  3. 의존성 검증: 디스크, inode 수, 모델 공급자 429 카운터—공급자 페일오버 가이드의 HTTP 신호 표를 재사용한다.
  4. 가드된 kickstart 패턴으로 한 번 재시작; 90초 안에 프로브가 다시 실패하면 루프를 멈추고 스핀덤프를 남긴다.
  5. 영향 범위 문서화: 어떤 자동화를 멈췄는지, HK / JP / KR / SG / US 중 어떤 리전이 건강했는지, 산출물을 변경 티켓에 링크한다.

FAQ

프로브는 root로 돌려야 하나요? 게이트웨이와 같은 비권한 사용자를 선호해 파일 권한이 운영과 같게 맞춰진다.

MCP 헬스 엔드포인트를 재사용할 수 있나요? 종종 그렇다—MCP 설정을 보라—다만 OpenClaw 코어 헬스는 분리해 부분 MCP 장애가 게이트웨이 죽음을 가리지 않게 하라.

다중 에이전트 동시성은? 동시성이 치솟으면 준비 프로브가 깜빡일 수 있다—알림을 끄기 전에 큐 임계를 조인다.

OpenClaw 프로브를 강화하기에 ProxyMac Mac mini가 맞는 이유

게이트웨이 옆에서 프로브를 돌리면 HK / JP / KR / SG / USApple Silicon M4 하드웨어가 curl+jq 스크립트에 결정적 CPU를 주고, launchd와 네이티브로 붙으며, 사고 중 장황한 로깅을 흡수할 단일 테넌트 디스크가 충분하다—리눅스 cgroup 깜짝 행동과 싸울 필요가 없다. 모델 API 리전에 가장 가까운 미니를 요금으로 빌리고, OpenClaw 설정과 같은 Git 저장소에 프로브 plist를 코드화하라—GitOps 가이드대로. 파일럿이 끝나면 머신을 회수해 재무가 미스터리 클라우드 항목 대신 명확한 SKU를 보도록 한다.

프로브 여유를 남긴 채 자동화

OpenClaw + 모니터링 스크립트용 HK / JP / KR / SG / US Mac mini