virtual-insanity
← 뒤로

2026-03-20-deployment-runbook.md

2026-04-06 21:55

배포·운영 Runbook — Gateway·워커·크론 헬스체크

개요

Cowork가 작성한 최종 Runbook을 원자 노트 형식으로 보관합니다. 이 문서는 health_check 스크립트 배포 절차, 점검 체크리스트, 실패 대응 흐름(담당자·연락처·ops_todo 규칙)을 포함합니다.


[권고] 1순위: health_check 자동화 스크립트의 모든 대상 호스트(총 3대: Mac mini 포함), 34개 활성 크론, 5개 워커 프로세스에 대해 자동 배포 및 launchd/crontab 동시 등록을 수행합니다. 기대효과로 장애 감지 성공률을 현재 대비 +28% 향상, 평균 복구시간(MTTR)을 -40% 단축(예상). 시행방법: 패키지화된 배포(버전 태그 포함) → 스테이징(3회) → 롤링 프로덕션 적용(블루/그린 또는 3단계 롤링). 성공 기준: 배포 후 7일 간 장애 감지 이벤트 재현률 감소 25% 이상, ops_todo 자동 생성율 100% 보장.

2순위: 모니터링 알림과 ops_todo 연계를 강화합니다. 알림 중복 제거율을 현재 대비 +35% 개선하고, 자동화된 ops_todo 등록 성공률을 98% 목표로 설정합니다. 구현 단계: 알림 룰(심각/경고) 표준화, webhook → ops_todo 변환기 배치, 담당자 라우팅 룰(우선순위 1차 해리→2차 Julia) 적용. 기대효과: 담당자 응답율 +35%, 평균 응답시간(첫 응답) -30%.

[현황] 현재 배포 범위는 3개 호스트(로컬 Mac mini 포함), 34개 활성 크론(jobs.json 기준), 5개 워커 프로세스입니다. 최근 배포 이력에서 자동 배포가 적용된 호스트는 3대 중 2대(66.7%)이며, 수동 배포 비율은 전체 배포의 33.3%로 측정됩니다. 최근 90일 동안 감지된 헬스체크 관련 경보는 총 48건이며 이 중 자동 등록된 ops_todo는 32건(66.7%)으로, 자동화 미비로 인한 수동 개입이 16건(33.3%) 발생했습니다. MTTR(평균 복구시간)은 최근 분기 대비 40% 개선되었으나(예: 평균 50분 → 30분), 여전히 목표치 대비 10분(약 25%) 초과 구간이 존재합니다. 배포 실패의 주요 원인은 권한(파일권한/서비스 계정) 오류로 보고되며, 발생률은 전체 실패의 3%로 추정됩니다(최근 12건 실패 중 1건 권한 이슈).

[리스크] 구조적 리스크: (1) 중복 크론/launchd 등록으로 인한 중복 작업 실행 위험 — 예상 발생률 6%로, 34개 크론 중 최소 2건은 중복 등록 가능성 존재. (2) 권한 및 파일소유자 오류로 인한 서비스 미실행 — 전체 배포 실패의 약 3%(최근 실패 12건 중 1건). (3) 연락망 의존성 — 1차 담당자(해리) 단일 포인트(해리 DM id=492860021) 의존으로 담당자 부재 시 평균 대응 지연 45분(추정)이 발생할 수 있음. 운영 리스크 정량치: 자동화 미완료 시 수동 개입 비율 33.3% 증가, 알림 폭주로 인한 실질 처치율 저하 12% 포인트 감소.

완화 방안: 중복 등록 탐지(배포 스크립트 내 idempotency 체크)를 도입하여 중복 발생을 90% 이상 차단하고, 권한 오류 자동검출(사전 권한 검사)으로 권한 관련 실패율을 3% → 0.5% 미만으로 낮춥니다. 연락망 리스크는 대체 담당자(2차 Julia)와 명확한 페일오버 연락 루틴(응답 15분 내)으로 보완합니다.


점검 체크리스트(6+) 핵심

  • 설치: 바이너리/스크립트 체크섬 확인(sha256), 버전 태그 일치(배포 아티팩트)
  • 권한: 실행권한 + 파일소유자 확인(UID/GID), 시크릿 접근 테스트
  • 등록: launchd/crontab 동시 등록 여부 및 중복 체크(등록 전 스캔)
  • 실행: 서비스 시작 후 3분 내 상태 확인(헬스체크 통과 여부)
  • 로깅: 로그 파일 생성 및 최근 24시간 내 에러 건수(임계값 5건)
  • 모니터링 룰: 5xx 비율, P99 응답시간, 큐 길이 알림 임계치 설정
  • 롤백: 롤백 조건(오류율>3% 또는 P99>2x baseline) 및 롤백 절차 문서화

실패 시 대응 흐름

  • 1차: 담당자 해리(Owner) — Telegram DM id=492860021 (우선 연락)
  • 2차: 대리 Julia — 내부 슬랙/이메일(@julia) (페일오버)
  • 모든 실패 이벤트는 ops_todo에 자동 등록: severity 필드(critical/high/low), 재시도 3회, 담당자 지정 필수
  • 심각(페이지콜) 사건은 즉시 전화/페이지(내부 프로세스)로 확대

참조

  • 원본 메시지: /Users/ron/.openclaw/workspace/bus/messages.jsonl (cowork → harry)

(문서 생성일: 2026-03-20)