플랫폼 로깅

Google Health API는 Cloud Logging과 통합되어 서드 파티 클라이언트에 웹훅 알림 전송의 상태와 결과에 관한 자세한 통계를 제공합니다. 이 로깅 통합을 통해 클라이언트는 등록된 엔드포인트로의 데이터 전송 안정성을 모니터링하고, 문제를 해결하고, 확인할 수 있습니다.

개요

Google Health 플랫폼에서 관련 사용자 데이터가 변경되면 플랫폼은 사전 등록된 서드 파티 클라이언트의 엔드포인트에 웹훅 알림을 HTTP 요청으로 전송합니다. 플랫폼 로깅은 HTTP 상태 코드, 헤더, 응답 페이로드를 비롯한 이러한 전송 시도의 거래 세부정보를 캡처하고 클라이언트의 Google Cloud 프로젝트로 자동 라우팅합니다.

Cloud Logging 로그 항목에 대한 자세한 내용은 Cloud Logging 플랫폼 로그 항목 문서를 참고하세요.

모니터링 리소스

Cloud Logging에서 로그 항목은 모니터링 리소스 아래에 그룹화됩니다. Google Health API의 웹훅 알림 로그 항목은 개별 구독자 인스턴스 리소스 유형과 연결됩니다.

  • Resource Type(리소스 유형): health.googleapis.com/Subscriber

각 로그 항목에는 다음 라벨을 사용하여 영향을 받는 구독자 인스턴스를 고유하게 식별하는 라벨이 지정됩니다.

  • resource_container: 구독자 리소스를 소유하는 Google Cloud 프로젝트 ID (또는 관련 조직 ID나 폴더 ID)입니다.
  • subscriber_id: 구독자 생성 시 클라이언트가 할당한 고유 구독자 ID입니다.
  • location: 구독자 정의는 지역화되지 않으므로 global로 설정합니다.

이러한 라벨을 사용하면 Google Cloud 콘솔의 로그 탐색기에서 단일 구독자와 관련된 로그 항목을 쿼리하고 필터링할 수 있습니다.

로그 구조 및 세부정보

  • 로그 이름: projects/<PROJECT_ID>/logs/health.googleapis.com%2Fwebhook_notification
  • 페이로드 유형: 배송 시도의 google.rpc.HttpResponse 세부정보를 래핑하는 WebhookNotificationCloudLog 구조를 포함합니다.
  • 로그 라벨:
    • dataType: 구독과 연결된 데이터 유형입니다 (예: NUTRITION, SLEEP).

로그 항목 필터링

쿼리를 사용하여 로그 탐색기에서 웹훅 로그 항목을 필터링할 수 있습니다. 예를 들어 웹훅 전송과 관련된 모든 로그 항목을 찾으려면 다음을 실행합니다.

resource.type="health.googleapis.com/Subscriber"
logName="projects/<PROJECT_ID>/logs/health.googleapis.com%2Fwebhook_notification"

특정 구독자 또는 데이터 유형으로 검색 범위를 좁히려면 추가 필터 기준을 추가하면 됩니다.

resource.labels.subscriber_id="YOUR_SUBSCRIBER_ID"
labels.dataType="SLEEP"