메인 콘텐츠로 건너뛰기
상태 확인 및 모니터링

무엇을 프로브하고, 무엇을 지켜봐야 하며, 프로브가 알려주지 못하는 것은 무엇인지 설명합니다.

Markdown

프로브​

엔드포인트응답용도
GET /health/live프로세스가 요청을 처리하는 동안 200 {"status":"ok"}라이브니스
GET /health/readyPostgreSQL이 응답하면 200 {"status":"ok"}, 그렇지 않으면 503 {"status":"unavailable"}레디니스: 준비된 후에만 트래픽을 라우팅
livenessProbe:
httpGet: { path: /health/live, port: 8080 }
readinessProbe:
httpGet: { path: /health/ready, port: 8080 }
timeoutSeconds: 5

레디니스 프로브에는 timeoutSeconds를 설정하세요. PostgreSQL이 연결은 받지만 응답하지 않게 되면 확인이 그보다 훨씬 오래 대기할 수 있습니다. 타임아웃을 설정하면 프로브가 멈추는 대신 실패하게 됩니다.

레디니스가 확인하지 않는 것​

레디니스는 데이터베이스만 확인합니다. 액세스 키가 유효한지, Unico에 연결할 수 있는지는 확인하지 않습니다. 잘못된 액세스 키는 프로브 실패가 아니라 생성 시 오류로 나타납니다. 배포 후 점검에 실제 생성 요청을 포함하세요.

로그​

로그는 표준 출력으로 나오는 JSON 라인이며 timestamp, severity, service, message를 포함합니다. 저장된 프로세스와 관련된 실패에는 해당 id가 포함됩니다. 호출자의 실수(400, 404, 409, 422)는 로그에 기록되지 않습니다.

정상적인 시작은 PostgreSQL 연결 메시지 사이에 다음 줄을 이 순서대로 기록합니다(카탈로그의 version과 count는 카탈로그 릴리스마다 바뀝니다).

{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}

알림을 설정할 항목​

  • 레디니스 실패: 데이터베이스에 연결할 수 없습니다.
  • 백엔드 호출에 대해 503 DATABASE_UNAVAILABLE 또는 502 UPSTREAM_UNAVAILABLE 응답이 반복됩니다.
  • 컨테이너 재시작: 재시작이 반복되는 것은 대개 누락된 설정, 접근할 수 없는 카탈로그 또는 데이터베이스 문제를 의미합니다. 로그에 원인이 표시됩니다.
  • creating process, retrieving process 같은 오류 수준 로그 줄.

Human Plugin은 메트릭을 내보내지 않습니다. 요청 속도와 지연 시간은 게이트웨이나 서비스 메시를 사용하세요.