监控和问题排查

本页介绍了如何获取 Vertex AI Search for Retail 中目录和用户事件导入以及其他 API 操作中发生的错误的相关信息。

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

简介

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

查看汇总的集成错误

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

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

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

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

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

查看特定集成操作的状态

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

  1. 在 Search for Retail 控制台中,前往 Data(数据)> 页面。

    前往“数据”页面

  2. 点击活动状态

    活动状态窗口会显示商品目录、用户事件和控件上的长时间运行操作的状态。

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

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

在 Cloud Logging 中查看日志

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

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

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

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

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

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

打开 Vertex AI Search for Retail 日志

如需配置要写入哪些 API 日志,请参阅配置日志记录

配置日志记录功能

您可以配置要写入 Logging 的服务日志。日志记录配置提供了一种方法,可用于设置写入日志的严重级别、启用或停用日志记录,以及替换特定服务的默认日志记录设置。

最终用户发出的每个 API 请求都会生成一条日志条目。条目包含 API 方法、调用时间、响应代码以及请求和响应正文等信息。项目的日志记录配置用于指定由 API 生成的日志类型,并可选择为特定 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 方法生成的日志会写入到哪个日志记录。

如果未为 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. 监控页面上查看目录和用户事件数据注入的错误指标。

    前往“监控”页面

  2. 数据上传系统成功运行后,您可以使用数据页面上的目录事件标签页查看有关目录的汇总信息、预览上传的产品,以及查看用户事件集成指标的可视化结果。

    转到“数据”页面

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

目录数据摘要

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

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

您可以将数据导入不同分支,以便暂存和预览推荐内容或搜索结果。例如,为了为假期做好准备,您可以将新的目录数据上传到非默认分支,并确保 Vertex AI Search 零售结果正确生成,然后在您的网站上发布。

用户事件记录统计信息

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

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

数据质量指标

数据质量页面上,您可以看到一些指标,这些指标会显示符合搜索广告数据质量建议标准的商品和用户事件所占的百分比。您可以使用此页面评估需要导入或更新哪些数据,以提高搜索结果的质量并解锁搜索效果层级。

如需详细了解搜索性能层级和检查数据质量,请参阅解锁搜索性能层级

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

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

未联接的事件

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

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

API 错误

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

监控 API 方法活动

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

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

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

后续步骤