

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

# 出售的日志和指标
<a name="configuring-capabilities-for-aws-devops-agent-vended-logs-and-metrics"></a>

您可以使用附带的 Amazon CloudWatch 指标和日志来监控您的代理空间和服务操作。本主题介绍 AWS DevOps 代理自动发布到您的账户的 CloudWatch 指标，以及您可以配置的发送到首选目的地的销售日志。

## 已售指标 CloudWatch
<a name="vended-cloudwatch-metrics"></a>

AWS DevOps 代理会自动将指标发布到您的账户 CloudWatch 中的 Amazon。这些指标无需任何配置即可使用。您可以使用它们来监控使用情况、跟踪操作活动和创建警报。

### 服务相关角色
<a name="service-linked-role"></a>

要在您的账户中发布该服务的亚马逊 CloudWatch 指标， AWS DevOps 代理将自动为您创建[与服务相关的角色 AWSService](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) **RoleForAIDevOps** 服务相关角色。如果调用 API 的 IAM 角色没有适当的权限，则资源创建将失败，并显示为 InvalidParameterException。

**重要**  
在 2026 年 3 月 13 日 AgentSpace 之前创建的客户需要手动创建 **AWSServiceRoleForAIDevOps** Service 关联角色，才能在其账户中发布 AWS DevOps 代理 CloudWatch 指标。

### 手动创建服务相关角色（适用于现有客户）
<a name="manually-create-service-linked-role-for-existing-customers"></a>

请执行以下操作之一：
+ 在 IAM 控制台中，在**AWS DevOps 代理**服务下创建 **AWSServiceRoleForAIDevOps** 角色。
+ 从 C AWS LI 中运行以下命令：

```
aws iam create-service-linked-role --aws-service-name aidevops.amazonaws.com
```

### 命名空间
<a name="namespace"></a>

所有指标都发布在`AWS/AIDevOps`命名空间下。

### Dimensions
<a name="dimensions"></a>

所有指标都包含以下维度。


| 维度 | 说明 | 
| --- | --- | 
| AgentSpaceUUID | 代理空间的唯一标识符。要汇总账户中所有代理空间的指标，请使用 CloudWatch 数学表达式或省略维度筛选器。 | 

### 指标参考
<a name="metrics-reference"></a>


| 指标名称 | 说明 | 单位 | 发布频率 | 有用的统计数据 | 
| --- | --- | --- | --- | --- | 
| ConsumedChatRequests | 座席空间消耗的聊天请求数。要获取您账户的总数，请使用所有AgentSpaceUUID维度的SUM统计数据。 | 计数 | 每 5 分钟 | 总和、平均值 | 
| ConsumedInvestigationTime | 在代理空间中进行调查所花费的时间。 | 秒 | 每 5 分钟 | 总和、平均值、最大值 | 
| ConsumedEvaluationTime | 在代理空间中运行评估所花费的时间。 | 秒 | 每 5 分钟 | 总和、平均值、最大值 | 
| TopologyCompletionCount | 拓扑处理完成次数。 AWS DevOps 无论是从入职期间的初始创建、手动更新还是计划的每日刷新开始，当拓扑完成处理时，代理都会发出此指标。 | 计数 | 事件驱动（每次完成时发出） | 总和， SampleCount | 

### 在 CloudWatch 控制台中查看指标
<a name="viewing-metrics-in-the-cloudwatch-console"></a>

1. 打开 [CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，选择 **Metrics**（指标），然后选择 **All metrics**（所有指标）。

1. 选择 **AWS/O AIDev ps** 命名空间。

1. 选择 “**依 AgentSpace**据” 以查看您的代理空间的指标。

**注意**  
**您可以根据这些指标创建 CloudWatch 警报，以便在使用量超过阈值时收到通知。例如，创建警报`ConsumedChatRequests`以监控聊天请求的使用情况。

## 先决条件
<a name="prerequisites"></a>

在配置日志传送之前，请确保具备以下条件：
+ 有权访问 AWS DevOps 代理控制台的活跃 AWS 账户
+ 具有 CloudWatch 日志传输权限的 IAM 委托人 APIs
+ （可选）Amazon S3 存储桶或 Amazon Data Firehose 传输流（如果您计划将其用作日志目标）

## Vended logs（已出售日志）
<a name="vended-logs"></a>

AWS DevOps 代理支持销售日志，这些日志可让您了解您的代理空间和服务注册处理的事件。Vended Logs 使用 Amazon CloudWatch Logs 基础设施将日志传送到您的首选目的地。

要使用已售日志，必须配置传送目的地。支持以下目的地：
+ **Amazon CloudWatch 日志**-您账户中的日志组
+ **亚马逊 S3** — 您账户中的 S3 存储桶
+ **Amazon Data Firehose** — 你账户中的 Firehose 传送流

### 支持的日志类型
<a name="supported-log-types"></a>

支持单一日志类型：`APPLICATION_LOGS`。此日志类型涵盖服务发出的所有操作事件。

### 记录事件类型
<a name="log-event-types"></a>

下表汇总了 AWS DevOps 代理记录的事件。


| 事件 | 说明 | 日志级别 | 
| --- | --- | --- | 
| 已收到代理入站事件 | 代理由集成源触发并接收入站事件（例如， PagerDuty 事件事件）。 | INFO | 
| 代理入站事件已丢弃 | 入站事件在代理处理之前已将其丢弃。日志中包含原因（例如，格式错误的数据）。 | 待定 | 
| 代理出站通信失败 | 与第三方集成的出站通信失败。日志包括任务 ID 和目标标识符（例如，身份验证错误）。 | 待定 | 
| 拓扑创建已排队 | 拓扑创建作业已排队等候处理。 | INFO | 
| 拓扑创建已开始 | 拓扑创建作业已开始处理。 | INFO | 
| 拓扑创建已完成 | 拓扑创建任务已完成处理。此事件适用于初始创建、更新和每日刷新。 | INFO | 
| 资源发现失败 | 拓扑创建期间的资源发现遇到故障。 | ERROR | 
| 服务注册失败 | 服务注册遇到无法恢复的故障 | ERROR | 
| Webhook 验证失败 | 当 Devops 代理收到的 webhook 与预期架构不匹配时 | ERROR | 
| 关联验证状态更新 | 当代理空间关联（典型 primary/secondary 账户）时，验证状态会从有效变为无效，反之亦然（例如，由于角色格式错误所致，服务无法假设这一点）。 | 错误/信息 | 

### Permissions
<a name="permissions"></a>

AWS DevOps 代理使用[CloudWatch 已售日志（V2 权限）](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-vended-logs-permissions-V2.html)来传送日志。要设置日志传输，配置传输的 IAM 角色必须具有以下权限：
+ `aidevops:AllowVendedLogDeliveryForResource`— 需要允许代理空间资源的日志传输。
+  CloudWatch 日志传送权限 APIs （`logs:PutDeliverySource`、`logs:PutDeliveryDestination``logs:CreateDelivery`、和相关操作）。
+ 特定于您选择的配送目的地的权限。

有关每种目标类型所需的完整 IAM 政策，请参阅 A *mazon CloudWatch Logs 用户指南*中的以下主题：
+ [发送到日志的 CloudWatch 日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-CloudWatchLogs.html)
+ [发送到 Amazon S3 的日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-S3.html)
+ [已发送到 Firehose 的日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html)

### 配置日志传输（控制台）
<a name="configure-log-delivery-console"></a>

AWS DevOps 代理在 AWS 管理控制台中提供了两个位置来配置日志传输：
+ **服务注册设置页面**-为服务级别事件配置日志传输。这些日志使用服务 ARN (`arn:aws:aidevops:<region>:<account-id>:service/<account-id>`) 作为资源。
+ **Agent Space 页面**-为特定于单个代理空间的事件配置日志传输。这些日志使用代理空间 ARN (`arn:aws:aidevops:<region>:<account-id>:agentspace/<agent-space-id>`) 作为资源。

#### 为服务注册配置日志传输
<a name="to-configure-log-delivery-for-a-service-registration"></a>

1. 在 AWS 管理控制台中打开 AWS DevOps 代理控制台。

1. 在导航窗格中，选择**设置**。

1. 在 “**功能提供者**” **>** “**日志**” 选项卡中，选择**配置**。

1. 对于**目的地类型**，请选择以下选项之一：

1. **CloudWatch 日志**-选择或创建日志组。

1. **亚马逊 S3** — 输入 S3 存储桶 ARN。

1. **Amazon Data Firehose** — 选择或创建 Firehose 传送流。

1. 对于**其他设置**-*可选*，您可以指定以下选项：

   1. 对于**字段选择**，请选择要传输到目标的日志字段名称。您可以选择[访问日志字段](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logs-reference.html#BasicDistributionFileFormat)以及[实时访问日志字段](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logging.html#standard-logging-real-time-log-selection)的子集。

   1. （仅限 Amazon S3）对于**分区**，请指定日志文件数据分区的路径。

   1. （仅限 Amazon S3）对于**与 Hive 兼容的文件格式**，您可以选中复选框，使用与 Hive 兼容的 S3 路径。这有助于简化将新数据加载到与 Hive 兼容的工具中的过程。

   1. 对于**输出格式**，指定您偏好的格式。

   1. 在**字段分隔符**中，指定如何分隔日志字段。

1. 选择**保存**。

1. 确认配送状态显示为 “**激活**”。

#### 为代理空间配置日志传输
<a name="to-configure-log-delivery-for-an-agent-space"></a>

1. 在 AWS 管理控制台中打开 AWS DevOps 代理控制台。

1. 选择要配置的代理空间。

1. 在 “**配置**” 选项卡中，选择 “**配置**”。

1. 对于**[目的地类型](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2:~:text=sts%3AAssumeRole%22%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D-,Logging%20that%20requires%20additional%20permissions%20%5BV2%5D,-Some%20AWS%20services)**，请选择以下选项之一：

1. **CloudWatch 日志**-选择或创建日志组。

1. **亚马逊 S3** — 输入 S3 存储桶 ARN。

1. **Amazon Data Firehose** — 选择或创建 Firehose 传送流。

1. 对于**其他设置-\$1可选** \$1，您可以指定以下选项：

   1. 对于**字段选择**，请选择要传输到目标的日志字段名称。您可以选择[访问日志字段](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logs-reference.html#BasicDistributionFileFormat)以及[实时访问日志字段](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logging.html#standard-logging-real-time-log-selection)的子集。

   1. （仅限 Amazon S3）对于**分区**，请指定日志文件数据分区的路径。

   1. （仅限 Amazon S3）对于**与 Hive 兼容的文件格式**，您可以选中复选框，使用与 Hive 兼容的 S3 路径。这有助于简化将新数据加载到与 Hive 兼容的工具中的过程。

   1. 对于**输出格式**，指定您偏好的格式。

   1. 在**字段分隔符**中，指定如何分隔日志字段。

1. 选择**保存**。

1. 确认配送状态显示为 “**激活**”。

### 配置日志传输 (CloudWatch API)
<a name="configure-log-delivery-cloudwatch-api"></a>

您还可以使用 CloudWatch 日志 API 以编程方式配置日志传输。工作日志传输由三个元素组成：
+ A **DeliverySource**— 表示生成日志的 AWS DevOps 代理空间资源。
+ A **DeliveryDestination**-表示写入日志的目的地。
+ 交**付**-将传送源连接到传送目的地。

#### 步骤 1：创建交付来源
<a name="step-1-create-a-delivery-source"></a>

使用[PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html)操作创建交付来源。传递 AWS DevOps 代理空间资源的 ARN 并指定`APPLICATION_LOGS`为日志类型。

以下示例为代理空间创建交付源：

```
{
    "name": "my-agent-space-delivery-source",
    "resourceArn": "arn:aws:aidevops:us-east-1:123456789012:agentspace/my-agent-space-id",
    "logType": "APPLICATION_LOGS"
}
```

以下示例为服务创建交付源：

```
{
    "name": "my-service-delivery-source",
    "resourceArn": "arn:aws:aidevops:us-east-1:123456789012:service",
    "logType": "APPLICATION_LOGS"
}
```

#### 步骤 2：创建配送目的地
<a name="step-2-create-a-delivery-destination"></a>

使用[PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)操作来配置日志的存储位置。你可以选择 Amazon CloudWatch Logs、Amazon S3 或 Amazon Data Firehose。

以下示例创建了一个 CloudWatch 日志目标：

```
{
    "name": "my-cwl-destination",
    "deliveryDestinationConfiguration": {
        "destinationResourceArn": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/aidevops/my-agent-space"
    },
    "outputFormat": "json"
}
```

以下示例创建了一个 Amazon S3 目的地：

```
{
    "name": "my-s3-destination",
    "deliveryDestinationConfiguration": {
        "destinationResourceArn": "arn:aws:s3:::my-aidevops-logs-bucket"
    },
    "outputFormat": "json"
}
```

以下示例创建了一个 Amazon Data Firehose 目标：

```
{
    "name": "my-firehose-destination",
    "deliveryDestinationConfiguration": {
        "destinationResourceArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/my-aidevops-log-stream"
    },
    "outputFormat": "json"
}
```

**注意**  
**如果您跨账户传送日志，则必须在目标账户[PutDeliveryDestinationPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html)中使用来授权传送。

如果你想使用 CloudFormation，你可以使用以下内容：
+ [Delivery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)
+ [DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
+ [DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)

`ResourceArn` 是 `AgentSpaceArn`，`LogType` 必须是作为支持的日志类型的 `APPLICATION_LOGS`。

#### 步骤 3：创建配送
<a name="step-3-create-a-delivery"></a>

使用[CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)操作将传送源链接到传送目的地。

```
{
    "deliverySourceName": "my-agent-space-delivery-source",
    "deliveryDestinationArn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:my-cwl-destination"
}
```

#### AWS CloudFormation
<a name="aws-cloudformation"></a>

您还可以使用 AWS CloudFormation 以下资源来配置日志传输：
+ [AWS:: 日志:: DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)
+ [AWS:: 日志:: DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
+ [AWS:: 日志:: 交付](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)

设置`ResourceArn`为 AWS DevOps 代理代理空间或服务 ARN，并设置为`LogType`。`APPLICATION_LOGS`

### 日志架构参考
<a name="log-schema-reference"></a>

AWS DevOps 代理在所有事件类型中使用共享日志架构。并非每个日志事件都会使用每个字段。

下表描述了日志架构中的字段。


| 字段 | Type | 说明 | 
| --- | --- | --- | 
| event\$1timestamp | 长整型 | 事件发生时的 Unix 时间戳 | 
| resource\$1arn | 字符串 | 生成事件的资源的 ARN | 
| 可选账号 | 字符串 | AWS 与日志关联的账户 ID。 | 
| 可选级别 | 字符串 | 日志级别：INFO、WARN、ERROR | 
| 可选代理空间标识 | 字符串 | 代理空间的标识符。 | 
| 可选关联\$1ID | 字符串 | 日志的关联标识符。 | 
| 可选状态 | 字符串 | 拓扑操作的状态。 | 
| 可选\$1webhook\$1id | 字符串 | Webhook 标识符。 | 
| optional\$1mcp\$1endpoint\$1url | 字符串 | MCP 服务器端点网址 | 
| 可选服务类型 | 字符串 | 服务类型：DYNATRACE、、DATADOGGITHUB、SLACK、SERVICENOW。 | 
| 可选服务端点网址 | 字符串 | 第三方集成的终端节点 URL。 | 
| 可选服务 ID | 字符串 | 来源的标识符。 | 
| request\$1id | 字符串 | 用于关联 AWS CloudTrail 或支持票证的请求标识符。 | 
| 可选操作 | 字符串 | 已执行的操作的名称。 | 
| 可选任务类型 | 字符串 | 代理待办事项任务类型：INVESTIGATION或 EVALUATION | 
| 可选任务\$1ID | 字符串 | 代理待办事项任务 IDAgent 积压任务标识符。 | 
| 可选引用 | 字符串 | 来自代理任务（例如 Jira 工单）的参考。 | 
| 可选错误类型 | 字符串 | 错误类型 | 
| 可选错误消息 | 字符串 | 操作失败时的错误描述。 | 
| 可选详情 | 字符串 (JSON) | 包含操作参数和结果的服务特定事件负载。 | 

### 管理和禁用日志传输
<a name="manage-and-disable-log-delivery"></a>

您可以随时通过 AWS 管理控制台中的 AWS DevOps 代理控制台或使用 CloudWatch 日志 API 修改或删除日志传输。

#### 管理日志传输（控制台）
<a name="manage-log-delivery-console"></a>

1. 在 AWS 管理控制台中打开 AWS DevOps 代理控制台。

1. 导航到 “**设置”** 页面（用于服务级别日志）或特定的 “**代理空间**” 页面（用于代理空间级别的日志）。

1. 在 “**配置**” 选项卡（用于代理空间级日志）或 “**功能提供商**” **>** “**日志**” 选项卡（用于服务级别日志）中，选择要修改的传输。

1. 根据需要更新配置，然后选择**保存**。

**注意：**您无法更改现有配送的目的地类型。要更改目的地类型，请删除当前的配送并创建一个新的配送。

#### 禁用日志传输（控制台）
<a name="disable-log-delivery-console"></a>

1. 在 AWS 管理控制台中打开 AWS DevOps 代理控制台。

1. 导航到 “**设置”** 页面（用于服务级别日志）或特定的 “**代理空间**” 页面（用于代理空间级别的日志）。

1. 在 “**配置**” 选项卡（用于代理空间级日志）或 “**功能提供商**” **>** “**日志**” 选项卡（用于服务级别日志）中，选择要删除的传输。

1. 选择**删除**并确认。

#### 禁用日志传输 (API)
<a name="disable-log-delivery-api"></a>

要使用 API 删除日志传输，请按以下顺序删除资源：

1. 使用删除配送[DeleteDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDelivery.html)。

1. 使用删除传送来源[DeleteDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html)。

1. （可选）如果不再需要配送目的地，请使用将其删除[DeleteDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliveryDestination.html)。

**重要**  
**在删除生成日志的代理空间资源之后（例如，在删除代理空间之后），您负责删除日志传输资源。如果您不删除这些资源，则可能会保留孤立的交付配置。

## 定价
<a name="pricing"></a>

 AWS DevOps 代理不为启用已售日志而收费。但是，根据您选择的日志传输目标，可能会产生传输、摄取、存储或访问费用。有关定价详情，请参阅 [Amazon CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/) P **ricing** 中 “日**志**” 选项卡上的 “销售日志”。

有关特定目的地的定价，请参阅以下内容：
+ [亚马逊 CloudWatch 日志定价](https://aws.amazon.com/cloudwatch/pricing/)
+ [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)
+ [Amazon Data Firehose 定价](https://aws.amazon.com/kinesis/data-firehose/pricing/)