平台日志记录

Google Health API 与 Cloud Logging 集成,可为 第三方客户端提供有关 Webhook 通知传送状态和 结果的详细洞见。借助此日志记录集成,客户端可以监控、排查和验证向其注册端点传送数据的可靠性。

概览

当 Google Health 平台中发生相关的用户数据更改时,该平台会以 HTTP 请求的形式向第三方客户端的预注册端点发送 Webhook 通知。平台日志记录会捕获这些传送尝试的交易详情(包括 HTTP 状态代码、标头和响应载荷),并自动将其路由到客户端的 Google Cloud 项目。

如需详细了解 Cloud Logging 日志条目,请参阅 Cloud Logging 平台日志条目文档

受监控的资源

在 Cloud Logging 中,日志条目会分组到受监控的资源 下。 Google Health API 的 Webhook 通知日志条目与各个订阅者实例资源类型相关联:

  • 资源类型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
  • 载荷类型:包含一个 WebhookNotificationCloudLog 结构 ,用于封装传送 尝试的 google.rpc.HttpResponse 详细信息。
  • 日志标签
    • dataType:与订阅相关联的数据类型(例如 NUTRITIONSLEEP)。

过滤日志条目

您可以使用查询在日志浏览器中过滤 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"