使用亚马逊日志监控亚马逊 Kendra CloudWatch - Amazon Kendra

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用亚马逊日志监控亚马逊 Kendra CloudWatch

Amazon Kendra 使用亚马逊 CloudWatch 日志让你深入了解数据源的运行情况。Amazon Kendra 在创建索引时会记录文档的处理详细信息。为文档创建索引时,它会记录数据来源中发生的错误。您可以使用 CloudWatch 日志来监控、存储和访问日志文件。

CloudWatch 日志将日志事件存储在作为日志组一部分的日志流中。Amazon Kendra 按以下方式使用这些功能:

  • 日志组 - Amazon Kendra 将所有日志流存储在每个索引的单个日志组中。在创建索引时,Amazon Kendra 会创建日志组。日志组标识符始终以“aws/kendra/”开头。

  • 日志流 - Amazon Kendra 在日志组中为运行的每个索引同步任务创建一个新的数据来源日志流。当一个流达到大约 500 个条目时,它还会创建一个新的文档日志流。

  • 日志条目 - 为文档创建索引时,Amazon Kendra 会在日志流中创建日志条目。每个条目都提供有关处理文档或遇到的任何错误的信息。

有关使用 CloudWatch 日志的更多信息,请参阅 Amazon Cloud Watch 日志用户指南中的什么是亚马逊云端监控日志

Amazon Kendra 会创建两种类型的日志流:

数据来源日志流

数据来源日志流发布有关索引同步作业的条目。每个同步作业都会创建一个用于发布条目的新日志流。日志流名称为:

data source id/YYYY-MM-DD-HH/data source sync job ID

为每个同步作业运行创建一个新的日志流。

发布到数据来源日志流的日志消息有三种类型:

  • 无法发送以供创建索引的文档的日志消息。下面是 S3 数据来源中文档的此消息的示例:

    { "DocumentId": "document ID", "S3Path": "s3://bucket/prefix/object", "Message": "Failed to ingest document via BatchPutDocument.", "ErrorCode": "InvalidRequest", "ErrorMessage": "No document metadata configuration found for document attribute key city." }
  • 无法发送以供删除的文档的日志消息。下面是此消息的示例:

    { "DocumentId": "document ID", "Message": "Failed to delete document via BatchDeleteDocument.", "ErrorCode": "InvalidRequest", "ErrorMessage": "Document can't be deleted because it doesn't exist." }
  • 在 Amazon S3 存储桶中发现文档的无效元数据文件时显示的日志消息。下面是此消息的示例。

    { "Message": "Found invalid metadata file bucket/prefix/filename.extension.metadata.json." }
  • 对于 SharePoint 和数据库连接器,Amazon Kendra 只有在无法为文档编制索引时才会将消息写入日志流。下面是 Amazon Kendra 记录的错误消息的示例。

    { "DocumentID": "document ID", "IndexID": "index ID", "SourceURI": "", "CrawlStatus": "FAILED", "ErrorCode": "403", "ErrorMessage": "Access Denied", "DataSourceErrorCode": "403" }

文档日志流

Amazon Kendra 在为文档创建索引时记录的有关处理文档的信息。它为存储在 Amazon S3 数据来源中的文档记录一组消息。它仅记录存储在 Microsoft SharePoint 或数据库数据源中的文档的错误。

如果使用BatchPutDocument操作将文档添加到索引中,则日志流的命名如下:

YYYY-MM-DD-HH/UUID

如果使用数据来源将文档添加到索引中,则日志流的命名如下:

dataSourceId/YYYY-MM-DD-HH/UUID

每个日志流最多可包含 500 条消息。

如果为文档创建索引失败,则会将以下消息输出到日志流:

{ "DocumentId": "document ID", "IndexName": "index name", "IndexId": "index ID" "SourceURI": "source URI" "IndexingStatus": "DocumentFailedToIndex", "ErrorCode": "400 | 500", "ErrorMessage": "message" }

查看同步任务的 Amazon Kendra 指标

选择 “查看报告”,即可在中查看数据源同步作业 CloudWatch 的文档级同步运行历史报告。同步运行历史记录报告将包含有关同步作业中每个文档的进度和状态的详细信息。它显示文档在抓取、同步和索引阶段是成功、失败还是被跳过。您还可以找到与失败或跳过的文档相关的所有错误消息。如果报告未显示正在进行的同步作业的结果,则日志可能尚不可用。请稍后再回来查看,因为同步过程中发生的事件会将数据发送到报告中。

要访问您的同步运行历史记录报告,请执行以下步骤:

  1. 打开亚马逊 Kendra 主机,网址为。https://console.aws.amazon.com/kendra/

  2. 在左侧导航菜单的 “数据管理” 下,选择 “数据源”,然后选择您的数据源。

  3. 在数据源摘要页面上,向下滚动并选择同步历史记录选项卡。

  4. 同步运行历史记录中,选择操作

  5. 操作中,选择查看报告。您将被重定向到 CloudWatch 控制台,在那里您可以访问您的报告。

注意

同步运行历史记录记录了所有支持 Amazon Kendra 的连接器的文档(包括附件ACLs和元数据)在摄取期间是否成功编制了索引。

如果您使用的是 Amazon S3 连接器:

除了在中查看文档级同步运行历史记录报告外 CloudWatch,您还可以为 Amazon S3 数据源中的每个文档生成同步历史报告并将其复制到 Amazon S3 桶。在此过程中,您的数据将使用以下方式进行加密 AWS KMS 密钥,只能由您查看。报告的文档状态包括:失败已完成成功但有错误。在为 Amazon S3 生成同步状态报告之前,您必须执行以下操作:

  • 添加以下内容 Amazon Kendra 服务负责人给你的 Amazon S3 访问策略

    { “Version”: “2012-10-17", “Statement”: [ { “Sid”: “KendraS3Access”, “Effect”: “Allow”, “Principal”: { “Service”: “kendra.amazonaws.com” }, “Action”: “s3:PutObject”, “Resource”: “arn:aws:s3:::your-manifest-bucket-name/*” } ] }
  • 创建一个 Amazon S3 具有访问权限的存储桶 Amazon Kendra

如果您使用控制台,要生成 Amazon S3 的同步历史报告,请选择激活 “数据源详细信息” 页面上的 “同步历史报告”(可选)中的生成报告选项。然后,输入 Amazon S3 存储桶位置,然后从可用的配置选项中进行选择。激活报告的生成后,下次同步时即可生成报告。

如果你删除 Amazon S3 bucket,您将丢失日志数据,并且必须设置一个新的存储桶来存储新的同步报告。

注意

同步历史记录报告仅提供有关 Amazon S3 连接器是否成功抓取和提取数据的信息。