监控和问题排查

本页面介绍了如何获取 目录和用户事件导入,以及 Google Cloud 上的其他 API 操作 Vertex AI Search for Retail。

如需有关设置提醒的帮助,请参阅设置 Cloud Monitoring 提醒

简介

向 API 提供准确的目录信息和用户事件对于获得最高质量的结果非常重要。监控和了解错误来源有助于您查找和修复网站中的所有错误。

查看汇总集成错误

如需查看由数据上传流程产生的汇总错误,以及 预测或搜索请求,请使用 Monitoring 页面

本页面显示了 Vertex AI Search for Retail API 的所有错误。您可以查看与商品清单、用户事件、推荐预测、搜索结果和模型相关的错误。系统还会记录导入操作中的错误,例如 Cloud Storage 文件中格式错误的行。系统为每个导入文件最多记录 100 个错误。您可以定义错误显示的时间段,并根据错误类型进行过滤。

您可以点击单个错误以在 Cloud Logging 中查看该错误的日志。

您可以通过展开单个错误日志来打开该日志。错误日志提供有关请求的更多详细信息,包括请求和响应载荷以及错误详情。此信息可帮助您确定错误的方法调用在网站中的位置。

对于无效的 JSON 错误,您可以通过展开 status 字段来获取有关该问题的更多信息。

查看特定集成操作的状态

您可以在活动状态窗口中查看特定集成操作的状态:

  1. 转到 Data>(数据)>页面。

    转到“数据”页面

  2. 点击活动状态

    活动状态窗口会显示长时间运行的操作的状态, 产品清单、用户事件和控件

    您可以在该窗口中检查特定集成操作出现的错误。

  3. 在任何发生错误的操作的“详细信息”列中点击查看日志,可检查 Cloud Logging 中的相应日志文件。

在 Cloud Logging 中查看日志

如需直接在 Cloud Logging 中打开日志文件,请按以下步骤操作。您必须拥有 Logs Viewer (roles/logging.viewer) 角色才能查看日志。

  1. 前往 Google Cloud 控制台中的 Logs Explorer。 转到日志浏览器

  2. 从项目选择器中选择您的 Vertex AI Search for Retail 项目。

  3. 点击资源下拉菜单,然后选择已使用的 API > Cloud Retail

如需详细了解日志浏览器,请参阅使用日志浏览器查看日志

例如,以下链接会打开过去一小时内所有 Vertex AI Search for Retail 错误的日志:

打开 Vertex AI Search for Retail 日志

如需配置写入哪些 API 日志,请参阅 配置 Logging

配置日志记录功能

您可以配置将哪些服务日志写入 Logging。 日志记录配置提供了一种方法来设置严重级别, 写入日志、开启或关闭日志记录,以及覆盖 特定服务。

最终用户发出的每个 API 请求都可以生成一个日志条目。条目包含 API 方法、调用时间、响应代码以及请求和响应正文等信息。项目的日志记录配置 指定 API 生成的哪些类型的日志会写入 Logging,可以选择精细指定日志记录 特定 API 服务的配置。

如需更新日志记录配置,您需要使用 Vertex AI Search for Retail 编辑器 角色。

您可以使用控制台或 LoggingConfig API 配置 Logging。

控制台

如需在控制台中更新日志记录配置,请按以下步骤操作:

  1. 前往 Search for Retail 控制台中的监控页面。

    转到“监控”页面

  2. 点击日志记录配置

  3. 要设置全局日志记录配置,请选择 日志记录级别。如果您选择 LOG_ALL,还应输入成功日志的采样率

  4. 要设置服务级配置,请选择一项服务 更新并选择其日志记录级别。此设置会覆盖 日志记录配置。

curl

如需使用 API 更新日志记录配置,请使用 LoggingConfig 资源。请参阅 LoggingConfig API 参考文档

  1. 如需查看当前的日志记录配置,请使用 loggingConfig.Get

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig"
    
    • PROJECT_ID:您的项目的 ID。
  2. 如需更新日志记录配置,请使用 loggingConfig.Patch 方法。如需了解详情,请参阅 LoggingConfig API 参考文档

    此示例使用 loggingConfig.Patch 将全局日志记录配置设置为 LOG_WARNINGS_AND_ABOVE。它还设置了两个服务级别 配置:CatalogService 设置为 LOG_WARNINGS_AND_ABOVEControlService 设置为 LOG_ALL

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig" \
      --data '{
        "name": "projects/PROJECT_ID/loggingConfig",
        "default_log_generation_rule": {"logging_level": "LOG_ERRORS_AND_ABOVE"},
        "service_log_generation_rules": [
          {
            "service_name": "CatalogService",
            "log_generation_rule": {
              "logging_level": "LOG_WARNINGS_AND_ABOVE"
              }
          },
          {
            "service_name": "ControlService",
            "log_generation_rule": {
                "logging_level": "LOG_ALL", "info_log_sample_rate": "0.1"
                }
            }
          ]
        }'
    

日志记录级别

只有具有某些严重级别的日志才会写入 Logging。通过 日志记录级别设置决定了 API 方法生成的哪些日志 写入 Logging。

如果没有为 API 方法设置服务级日志记录配置,全局 日志记录级别设置。

默认日志记录级别设置为 LOG_WARNINGS_AND_ABOVE

logging_level 字段接受以下值:

  • LOGGING_DISABLED:未写入日志。
  • LOG_ERRORS_AND_ABOVE:仅记录错误。
  • LOG_WARNINGS_AND_ABOVE:仅记录错误和警告。
  • LOG_ALL:记录所有内容,包括成功的日志,如 INFO 日志。

成功日志的采样率

如果您将日志记录级别设置为 LOG_ALL,但不想记录每次成功的日志,可以指定采样率。例如,您可以决定 定期监控日志以查看成功的状态确认情况,或查看 成功日志的百分比。指定采样率可以帮助您做到这一点 而无需将大量INFO日志条目写入 Logging,这可能会产生较高的 Logging 费用。

如需指定采样率,请将 info_log_sample_rate 设置为有效的浮点值 大于 0 且小于或等于 1 的值。采样率决定了 INFO 日志被写入 Logging 的可能性。默认值为 1(写入所有 INFO 日志)。

服务级配置

您可以为特定服务设置日志记录配置。这会覆盖该服务的全局日志记录设置。例如,您可能有一个全局 日志记录级别设置为 LOG_WARNINGS_AND_ABOVE,但将 将 UserEventService 服务日志记录级别设为 LOG_ALL,以便您检查 成功的用户事件集成

使用 ServiceLoggingLevel 对象设置精细的日志记录级别。

service_name 字段接受以下值:

  • CompletionService
  • ControlService
  • MerchantCenterStreaming
  • ModelService
  • PredictionService
  • ProductService
  • ServingConfigService
  • UserEventService

错误类型

本部分对错误类型的定义 日志:

  • MISSING_FIELD:未设置必填字段值。例如,目录项缺少标题。
  • INVALID_TIMESTAMP:时间戳无效,例如遥远的未来,或者格式不正确。
  • FIELD_VALUE_TOO_SMALL:字段中的值低于所需的最小值;例如负数价格。
  • INCORRECT_JSON_FORMAT:请求中的 JSON 格式不正确;例如缺少 { 括号。
  • INVALID_LANGUAGE_CODE:语言代码格式不正确。
  • FIELD_VALUE_EXCEEDED:字段中的值大于允许的最大值。
  • INVALID_RESOURCE_ID:资源 ID 无效;例如,资源名称中的 catalog_id 不存在。
  • FIELD_SIZE_EXCEEDED:字段中的条目数超出上限。
  • UNEXPECTED_FIELD:本该留空的字段包含一个值;例如,详情页面查看事件对应的事务。
  • INVALID_FORMAT:字段格式不正确,例如字符串格式不正确
  • RESOURCE_ALREADY_EXISTS:您尝试创建已存在的资源,例如先前创建的目录商品。
  • INVALID_API_KEY:API 密钥与请求中的项目不匹配。
  • INSUFFICIENT_PERMISSIONS:您无权执行请求;此错误通常与缺少必要的 IAM 权限有关。
  • UNJOINED_WITH_CATALOG:请求中包括目录中不存在的目录项 ID。确保您的目录为最新状态。
  • BATCH_ERROR:请求中包含多个错误;例如,内嵌导入内容中有10 件商品因不同原因未通过验证。
  • INACTIVE_RECOMMENDATION_MODEL:您查询的模型目前无法提供服务。
  • ABUSIVE_ENTITY:与请求关联的访问者 ID 或用户 ID 在短时间内发送的事件次数异常。
  • FILTER_TOO_STRICT:预测请求过滤条件阻止了所有预测结果。返回一般(非个性化)热门项,除非调用将 strictFiltering 指定为 false(在这种情况下,不返回任何项)。导致此问题的一些常见原因:

    • 您所指定的过滤标记在您的目录中不存在。过滤标记更新最长可能需要一天才会生效。
    • 您的过滤条件范围太小。

查看数据加载指标

如需在 Google Cloud 控制台中监控目录和用户事件数据提取情况,请按以下步骤操作:

  1. 您可在 监控页面。

    转到 Monitoring 页面

  2. 在数据上传系统成功运行后,请使用 数据页面上的目录事件标签页可查看汇总数据 您可以预览上传的商品 直观呈现您的用户事件集成指标

    转到“数据”页面

  3. 如需创建提醒,以便在数据上传出现问题时通知您,请按照设置 Cloud Monitoring 提醒中的步骤操作。

目录数据摘要

您可以在数据页面上的目录标签页中查看每个目录分支的概要数据统计信息。此页面显示了您已导入的商品数量、多少商品有库存,以及上次为每个商品清单分支导入产品的时间。

您还可以预览已上传的目录项,并根据产品字段进行过滤。

您可以将数据导入不同分支,以便暂存和预览推荐内容或搜索结果。例如: 为了备战节日季,您可以将新的目录数据上传到非 默认分支,并确保已正确生成适用于零售业的 Vertex AI Search 结果 然后再在网站上发布

用户事件记录统计信息

对于每种用户事件,您可以在事件标签页中查看已记录多少个事件,以及有多少事件无法与产品关联(未联接事件) ,以及这些数字与上一时间段相比如何。您可以选择预设的时间段,也可以输入自定义时间范围。

指标图表显示一段时间内提取的用户事件,您可以按用户事件类型过滤。

数据质量指标

数据质量部分 页面上,您可以看到显示商品和用户事件所占百分比的指标 达到建议的搜索数据质量标准。 使用此页面评估需要导入或更新哪些数据才能 提高搜索结果质量并解锁搜索性能等级。

有关搜索效果层级以及如何检查 请参阅解锁搜索效果层级

如需查看所有目录数据质量指标的列表,请参阅目录数据质量指标

如需了解推荐和搜索的所有用户事件要求和建议,请参阅用户事件要求和最佳实践

未联接的事件

如果用户事件或 API 请求是指尚未上传到 Vertex AI Search for Retail 的产品,则为未联接的事件。未联接的用户事件仍将被记录下来,并且系统会处理未联接的预测请求,但两者都无法用于进一步改进模型以用于将来的预测。因此,对于用户事件和预测请求而言,您应确保未记录的事件百分比极低。

您可以在数据页面的事件标签页中查看未联接的用户事件百分比。

API 错误

您可以点击 Monitoring(监控)页面按钮栏上的查看 API 指标,以查看一段时间内的 API 错误图表(按方法名称显示)。

监控 API 方法活动

如需按 API 方法直观呈现流量、错误和延迟时间,请参阅 监控页面。 您可以选择预设的时间段,也可以输入自定义时间范围。

要查看每个图表的更多详细信息,请执行以下操作:

  • 在图表下方,点击一个方法名称,以便在图表中将其隔离。
  • 将光标悬停在图表上,即可查看标注以及其中包含的各个方法及其相应时间点的值。
  • 点击并拖动图表的任意部分来放大该时间段。

后续步骤