

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

# 监控 Amazon OpenSearch 无服务器
<a name="serverless-monitoring"></a>

监控是维护 Amazon OpenSearch Serverless 和其他 AWS 解决方案的可靠性、可用性和性能的重要组成部分。 AWS 提供以下监控工具，用于监视 OpenSearch Serverless、在出现问题时报告以及在适当时自动采取措施：
+ *Amazon* 会实时 CloudWatch监控您的 AWS 资源和您运行 AWS 的应用程序。您可以收集和跟踪指标，创建自定义的控制面板，以及设置警报以在指定的指标达到您指定的阈值时通知您或采取措施。

  例如，您可以 CloudWatch 跟踪您的 Amazon EC2 实例的 CPU 使用率或其他指标，并在需要时自动启动新实例。有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。
+ *AWS CloudTrail* 捕获由某个 AWS 账户发出或代表该账户发出的 API 调用和相关事件。它会将日志文件传送到您指定的 Amazon S3 桶。您可以识别哪些用户和帐户拨打了电话 AWS、发出呼叫的源 IP 地址以及呼叫发生的时间。有关更多信息，请参阅 [AWS CloudTrail 《用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。
+ *Amazon EventBridge* 提供近乎实时的系统事件流，用于描述您的 OpenSearch 服务域中的变化。您可以创建规则来监视某些事件，并在其他事件发生 AWS 服务 时触发自动操作。有关更多信息，请参阅 [Amazon EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

# 使用 OpenSearch Amazon 监控无服务器 CloudWatch
<a name="monitoring-cloudwatch"></a>

您可以使用监控 Amazon OpenSearch Serverless CloudWatch，它会收集原始数据并将其处理为可读的近乎实时的指标。这些统计数据会保存 15 个月，从而使您能够访问历史信息，并能够更好地了解您的 Web 应用程序或服务的执行情况。

此外，可以设置用于监测特定阈值的警报，并在达到相应阈值时发送通知或执行操作。有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

OpenSearch Serverless 会在`AWS/AOSS`命名空间中报告以下指标。


| 指标 | 说明 | 
| --- | --- | 
| ActiveCollection |  表示集合是否处于活动状态。值为 1 表示集合处于 `ACTIVE` 状态。此值将在成功创建集合时发出，并且一直保持为 1，直到您删除该集合为止。该指标的值不能为 0。 **相关统计数据**：最大值 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| DeletedDocuments |  已删除文档的总数。 **相关统计数据**：平均值、总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| IndexingOCU |  用于摄取集合数据的 OpenSearch 计算单位 (OCUs) 的数量。此指标适用于账户级。仅表示不属于任何集合组的集合的用法。 **相关统计数据**：总计 **维度**：`ClientId` **频率**：60 秒  | 
| IndexingOCU |  用于摄取集合数据的 OpenSearch 计算单位 (OCUs) 的数量。此指标适用于集合组级别。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionGroupId`、`CollectionGroupName` **频率**：60 秒  | 
| IngestionDataRate |  集合或索引的索引速率，以 GiB/秒为单位。此指标仅适用于批量索引请求。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| IngestionDocumentErrors |  为集合或索引摄取期间的文档错误总数。在成功完成批量索引请求后，编写者将处理该请求，并针对该请求中所有失败的文档发出错误。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| IngestionDocumentRate |  将文档摄取到集合或索引的每秒速率。此指标仅适用于批量索引请求。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| IngestionRequestErrors |  集合的批量索引请求错误总数。 OpenSearch 当批量索引请求因任何原因（例如身份验证或可用性问题）失败时，Serverless 会发出此指标。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| IngestionRequestLatency |  针对集合进行批量写入操作的延迟，以秒为单位。 **相关统计数据**：最小值、最大值、平均值 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| IngestionRequestRate |  集合收到的批量写入操作的总数。 **相关统计数据**：最小值、最大值、平均值 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| IngestionRequestSuccess |  针对集合成功执行索引操作的总数。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| SearchableDocuments |  集合或索引中可搜索文档的总数。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| SearchRequestErrors |  集合每分钟查询错误的总数。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| SearchRequestLatency |  针对集合完成搜索操作所需的平均时间，以毫秒为单位。 **相关统计数据**：最小值、最大值、平均值 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| SearchOCU |  用于搜索集合数据的 OpenSearch 计算单位 (OCUs) 的数量。此指标适用于账户级。仅表示不属于任何集合组的集合的用法。 **相关统计数据**：总计 **维度**：`ClientId` **频率**：60 秒  | 
| SearchOCU |  用于搜索集合数据的 OpenSearch 计算单位 (OCUs) 的数量。此指标适用于集合组级别。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionGroupId`、`CollectionGroupName` **频率**：60 秒  | 
| SearchRequestRate |  每分钟针对集合的搜索请求总数。 **相关统计数据**：平均值、最大值、总计 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 
| StorageUsedInS3 |  使用的 Amazon S3 存储空间量（以字节为单位）。 OpenSearch 无服务器将索引数据存储在 Amazon S3 中。您必须在一分钟时选择保留期，以获取准确值。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName`、`IndexId`、`IndexName` **频率**：60 秒  | 
| VectorIndexBuildAccelerationOCU |  用于加速向量索引的 OpenSearch 计算单位 (OCUs) 的数量。此指标适用于收集级别。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId` **频率**：60 秒  | 
| 2xx, 3xx, 4xx, 5xx |  针对产生给定 HTTP 响应代码（2*xx*、3*xx*、4*xx*、5*xx*）的集合的请求数量。 **相关统计数据**：总计 **维度**：`ClientId`、`CollectionId`、`CollectionName` **频率**：60 秒  | 

# 使用记录 OpenSearch 无服务器 API 调用 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon OpenSearch Serverless 与 AWS CloudTrail一项服务集成，可记录用户、角色或 AWS 服务在 Serverless 中执行的操作。

CloudTrail 将 OpenSearch 无服务器的所有 API 调用捕获为事件。捕获的调用包括来自 OpenSearch 服务控制台的无服务器部分的调用和对 OpenSearch 无服务器 API 操作的代码调用。

如果您创建了跟踪，则可以将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括 OpenSearch 无服务器的事件。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。

使用收集的信息 CloudTrail，您可以确定向 OpenSearch Serverless 发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

要了解更多信息 CloudTrail，请参阅[AWS CloudTrail 用户指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## OpenSearch 中的无服务器信息 CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。在 OpenSearch Serverless 中发生活动时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息，请参阅[使用事件历史记录查看 CloudTrail 事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的事件 AWS 账户，包括 OpenSearch 无服务器的事件，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。

跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析 CloudTrail 日志中收集的事件数据并对其采取行动。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 OpenSearch 无服务器操作都由[OpenSearch 无服务器 API](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html) 参考记录 CloudTrail 并记录在案。例如，对`CreateCollection``ListCollections`、和`DeleteCollection`操作的调用会在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息可以帮助您确定：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## OpenSearch 中的无服务器数据事件 CloudTrail
<a name="cloudtrail-data-events"></a>

[数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)提供有关在资源上或在资源中执行的资源操作的信息（例如，对 OpenSearch 无服务器集合进行搜索或索引）。这些也称为数据面板操作。数据事件通常是高容量活动。默认情况下， CloudTrail 不记录数据事件。 CloudTrail **事件历史**记录不记录数据事件。

记录数据事件将收取额外费用。有关 CloudTrail 定价的更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

您可以使用 CloudTrail 控制台或 CloudTrail API 操作记录`AWS::AOSS::Collection`资源类型的数据事件。 AWS CLI有关如何记录数据事件的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[使用 AWS 管理控制台记录数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console)和[使用 AWS Command Line Interface记录数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)。

您可以将高级事件选择器配置为在 `eventName`、`readOnly` 和 `resources.ARN` 字段上进行筛选，从而仅记录那些对您很重要的事件。有关这些字段的更多信息，请参阅《AWS CloudTrail API 参考》**中的 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)。

## 了解 OpenSearch 无服务器数据事件条目
<a name="understanding-data-event-entries"></a>

在以下示例中：
+ `requestParameters` 字段包含有关对集合进行的 API 调用的详细信息。该字段包括基本请求路径（不含查询参数）。
+ `responseElements` 字段包含状态代码，用于指示修改资源时请求的结果。此状态代码可帮助您跟踪更改是已成功处理还是需要关注。
+ OpenSearch Serverless 仅为成功完成 IAM 身份验证的请求记录 CloudTrail 数据事件。

**Example**  

```
 {
      "eventVersion": "1.11",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROA123456789EXAMPLE",
        "arn": "arn:aws::sts::111122223333:assumed-role/Admin/user-role",
        "accountId": "111122223333",
        "accessKeyId": "access-key",
        "userName": "",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA123456789EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/Admin",
            "accountId": "111122223333",
            "userName": "Admin"
          },
          "attributes": {
            "creationDate": "2025-08-15T22:57:38Z",
            "mfaAuthenticated": "false"
          },
          "sourceIdentity": "",
          "ec2RoleDelivery": "",
          "assumedRoot": ""
        },
        "identityProvider": "",
        "credentialId": ""
      },
      "eventTime": "2025-08-15T22:58:00Z",
      "eventSource": "aoss.amazonaws.com",
      "eventName": "Search",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "AWS Internal",
      "userAgent": "python-requests/2.32.3",
      "requestParameters": {
        "pathPrefix": "/_search"
      },
      "responseElements": null,
      "requestID": "2cfee788-EXAM-PLE1-8617-4018cEXAMPLE",
      "eventID": "48d43617-EXAM-PLE1-9d9c-f7EXAMPLE",
      "readOnly": true,
      "resources": [
        {
          "type": "AWS::AOSS::Collection",
          "ARN": "arn:aws:aoss:us-east-1:111122223333:collection/aab9texampletu45xh77"
        }
      ],
      "eventType": "AwsApiCall",
      "managementEvent": false,
      "recipientAccountId": "111122223333",
      "eventCategory": "Data"
    }
  ]
}
```

## 了解 OpenSearch 无服务器管理事件条目
<a name="understanding-service-name-entries"></a>

跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。

事件表示来自任何源的单个请求。它包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定顺序出现。

以下示例显示了演示该`CreateCollection`操作的 CloudTrail 日志条目。

```
{
   "eventVersion":"1.08",
   "userIdentity":{
      "type":"AssumedRole",
      "principalId":"AIDACKCEVSQ6C2EXAMPLE",
      "arn":"arn:aws:iam::123456789012:user/test-user",
      "accountId":"123456789012",
      "accessKeyId":"access-key",
      "sessionContext":{
         "sessionIssuer":{
            "type":"Role",
            "principalId":"AIDACKCEVSQ6C2EXAMPLE",
            "arn":"arn:aws:iam::123456789012:role/Admin",
            "accountId":"123456789012",
            "userName":"Admin"
         },
         "webIdFederationData":{
            
         },
         "attributes":{
            "creationDate":"2022-04-08T14:11:34Z",
            "mfaAuthenticated":"false"
         }
      }
   },
   "eventTime":"2022-04-08T14:11:49Z",
   "eventSource":"aoss.amazonaws.com",
   "eventName":"CreateCollection",
   "awsRegion":"us-east-1",
   "sourceIPAddress":"AWS Internal",
   "userAgent":"aws-cli/2.1.30 Python/3.8.8 Linux/5.4.176-103.347.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/aoss.create-collection",
   "errorCode":"HttpFailureException",
   "errorMessage":"An unknown error occurred",
   "requestParameters":{
      "accountId":"123456789012",
      "name":"test-collection",
      "description":"A sample collection",
      "clientToken":"d3a227d2-a2a7-49a6-8fb2-e5c8303c0718"
   },
   "responseElements": null,
   "requestID":"12345678-1234-1234-1234-987654321098",
   "eventID":"12345678-1234-1234-1234-987654321098",
   "readOnly":false,
   "eventType":"AwsApiCall",
   "managementEvent":true,
   "recipientAccountId":"123456789012",
   "eventCategory":"Management",
   "tlsDetails":{
      "clientProvidedHostHeader":"user.aoss-sample.us-east-1.amazonaws.com"
   }
}
```

# 使用 Amazon 监控 OpenSearch 无服务器事件 EventBridge
<a name="serverless-monitoring-events"></a>

亚马逊 OpenSearch 服务与亚马逊集成 EventBridge ，可通知您某些影响您域名的事件。来自 AWS 服务的事件几乎是实时的。 EventBridge 同样的事件也会发送到[亚马逊 CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatchEvents.html)的前身 Amazon Events EventBridge。您可以编写规则来指示您关注的事件，并指示要在事件匹配规则时执行的自动化操作。可自动激活的操作示例如下：
+ 调用函数 AWS Lambda 
+ 调用 Amazon EC2 Run Command
+ 将事件中继到 Amazon Kinesis Data Streams
+ 激活 AWS Step Functions 状态机
+ 通知 Amazon SNS 主题或 Amazon SQS 队列

有关更多信息，请参阅《[亚马逊* EventBridge 用户指南》 EventBridge中的 “亚马逊*入门](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)”。

## 设置通知
<a name="monitoring-events-notifications"></a>

当 OpenSearch 无服务器事件发生时，您可以使用[AWS 用户通知](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html)来接收通知。事件是 OpenSearch 无服务器环境变化的指标，例如当你达到 OCU 使用量的最大限制时。 Amazon EventBridge 接收事件并将通知发送到 AWS 管理控制台 通知中心和您选择的配送渠道。当事件与指定的规则匹配时，会收到通知。

## OpenSearch 计算单位 (OCU) 事件
<a name="monitoring-events-ocu"></a>

OpenSearch 当发生以下与 OCU 相关的事件之一 EventBridge 时，Serverless 会将事件发送到。

### OCU 使用量接近最大限制
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch 当您的搜索或索引 OCU 使用率达到容量限制的 75% 时，Serverless 会发送此事件。您的 OCU 使用量是根据您配置的容量限制和当前的 OCU 消耗量计算得出的。

**示例**

以下是该类型的示例事件（搜索 OCU）：

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Approaching Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your search OCU usage is at 75% and is approaching the configured maximum limit."
  }
}
```

以下是该类型的示例事件（索引 OCU）：

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Approaching Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your indexing OCU usage is at 75% and is approaching the configured maximum limit."
  }
```

### OCU 使用量已达到最大限制
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch 当您的搜索或索引 OCU 使用率达到容量限制的 100% 时，Serverless 会发送此事件。您的 OCU 使用量是根据您配置的容量限制和当前的 OCU 消耗量计算得出的。

**示例**

以下是该类型的示例事件（搜索 OCU）：

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Reached Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your search OCU usage has reached the configured maximum limit."
  }
}
```

以下是该类型的示例事件（索引 OCU）：

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Reached Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your indexing OCU usage has reached the configured maximum limit."
  }
}
```