Google Health API は Cloud Logging と統合され、Webhook 通知の配信ステータスと結果に関する詳細な分析情報をサードパーティ クライアントに提供します。このロギング統合により、クライアントは登録されたエンドポイントへのデータ配信の信頼性をモニタリング、トラブルシューティング、検証できます。
概要
Google Health プラットフォームで関連するユーザーデータの変更が発生すると、プラットフォームは HTTP リクエストとして、サードパーティ クライアントの事前登録済みエンドポイントに webhook 通知を送信します。プラットフォーム ロギングは、これらの配信試行の取引明細(HTTP ステータス コード、ヘッダー、レスポンス ペイロードなど)をキャプチャし、クライアントの Google Cloud プロジェクトに自動的に転送します。
Cloud Logging のログエントリの詳細については、Cloud Logging プラットフォームのログエントリのドキュメントをご覧ください。
Monitored Resource
Cloud Logging では、ログエントリはモニタリング対象リソースの下にグループ化されます。Google Health API の Webhook 通知ログエントリは、個々のサブスクライバー インスタンスのリソースタイプに関連付けられています。
- 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など)。
ログエントリのフィルタリング
ログ エクスプローラでクエリを使用して、Webhook ログエントリをフィルタできます。たとえば、Webhook 配信に関連するすべてのログエントリを検索するには、次のようにします。
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"