

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

# 使用亚马逊日志监控 Amazon Kendra CloudWatch
<a name="cloudwatch-logs"></a>

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

CloudWatch 日志将日志事件存储在作为日志组一部分的日志流中。Amazon Kendra 按以下方式使用这些功能：
+ 日志组 - Amazon Kendra 将所有日志流存储在每个索引的单个日志组中。在创建索引时，Amazon Kendra 会创建日志组。日志组标识符始终以“aws/kendra/”开头。
+ 日志流 - Amazon Kendra 在日志组中为运行的每个索引同步任务创建一个新的数据来源日志流。当一个流达到大约 500 个条目时，它还会创建一个新的文档日志流。
+ 日志条目 - 为文档创建索引时，Amazon Kendra 会在日志流中创建日志条目。每个条目都提供有关处理文档或遇到的任何错误的信息。

有关使用 CloudWatch 日志的更多信息，请参阅 [Amazon Cloud Watch 日志用户指南中的什么是](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)*亚马逊云端监控日志*。

Amazon Kendra 会创建两种类型的日志流：
+ [数据来源日志流](#data-source-log-stream)
+ [文档日志流](#document-log-stream)

## 数据来源日志流
<a name="data-source-log-stream"></a>

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

```
{{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"
  }
  ```

## 文档日志流
<a name="document-log-stream"></a>

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

如果使用[BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)操作将文档添加到索引中，则日志流的命名如下：

```
{{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 指标，了解您的同步作业
<a name="sync-run-history"></a>

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

要访问同步运行历史记录报告，请执行以下步骤：

1. 打开亚马逊 Kendra 主机，网址为。[https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)

1. 在左侧导航菜单上的**数据管理**下，选择**数据来源**，然后选择您的数据来源。

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

1. 从**同步运行历史记录**中，选择**操作**。

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

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

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

除了在中查看文档级同步运行历史记录报告外 CloudWatch，您还可以为 Amazon S3 数据源中的每个文档生成同步历史报告并将其复制到存储桶。 Amazon S3 在此过程中，您的数据将使用 AWS KMS 密钥进行加密，并且只能由您查看。报告的文档状态包括：**失败**、**已完成**或**成功但有错误**。您必须先执行以下操作，然后才能为 Amazon S3 生成同步状态报告：
+ 将以下 Amazon Kendra 服务主体添加到您的 Amazon S3 访问策略中
+ 创建具有访问权限的 Amazon S3 存储桶 Amazon Kendra

如果您使用控制台，要为 Amazon S3 生成同步历史记录报告，请从**数据来源详细信息**页面的**同步历史记录报告 – *可选***部分选择激活**生成报告**选项。然后，输入 Amazon S3 存储桶位置，并从可用的配置选项中选择。激活报告的生成后，下次同步时即可生成报告。

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

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