

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

# Amazon SageMaker AI 增强了推理终端节点的指标
<a name="monitoring-cloudwatch-enhanced-metrics"></a>

增强型指标为 Ama SageMaker zon AI 实时终端节点提供实例级和容器级监控数据。启用增强型指标后，Amazon CloudWatch 指标可以包括`InstanceId``ContainerId`、和`AcceleratorId`维度（可用性因命名空间而异），以获得每个实例、每个容器和每个 GPU 的精细可见性。增强型指标适用于单模型端点和推理组件。 Multi-Container 终端节点 (MCE) 支持实例级增强指标，但不支持容器级指标。

增强指标的主要特征：
+ **Instance-level 粒度**。利用率和调用指标包括一个用于标识托管终端节点的特定实例的`InstanceId`维度。这适用于所有实时端点。
+ **Container-level 粒度**。对于使用推理组件的端点，指标包括一个用于标识运行模型的特定容器的`ContainerId`维度。 Container-level 维度同时出现在`AWS/SageMaker`命名空间（调用指标）和`/aws/sagemaker/InferenceComponents`命名空间（利用率指标）中。
+ **Per-GPU 粒度**。GPU 利用率指标包括一个用于标识实例上特定 GPU 的`AcceleratorId`维度。
+ **可配置的发布频率**。您可以将指标发布间隔配置为 10、30、60、120、180、240 或 300 秒。默认值为 60 秒。无论是否启用增强型指标，此间隔都适用于利用率指标。启用增强型指标后，它也适用于调用指标。

## 启用增强指标
<a name="enhanced-metrics-enabling"></a>

在调用 [CreateEndpointConfig](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 时，您可以通过`True`在[MetricsConfig](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_MetricsConfig.html)参数中设置为`EnableEnhancedMetrics`来启用增强指标。

该`MetricsConfig`参数包含以下字段：


**MetricsConfig 参数**  

| 参数 | Type | 必需 | 默认值 | 说明 | 
| --- | --- | --- | --- | --- | 
| EnableEnhancedMetrics | 布尔值 | 否 | False | 启用实例级和容器级指标维度。 | 
| MetricPublishFrequencyInSeconds | 整数 | 否 | 60 | 将指标发布到 Amazon 的时间间隔，以秒为单位 CloudWatch。默认值为 `60`。有效值：`10`、`30`、`60`、`120`、`180`、`240`、`300`。设置`EnableEnhancedMetrics`为时`False`，此间隔仅适用于利用率指标；调用指标将继续按默认的 60 秒间隔发布。设置为时`True`，此间隔适用于利用率和调用指标。 | 

**注意**  
`MetricsConfig`是在端点配置级别设置的。您不能在同一个端点上为各个推理组件配置不同的设置。

要在现有终端节点上启用增强型指标，请使用所需`MetricsConfig`设置创建新的终端节点配置，然后使用新的终端节点配置名称[UpdateEndpoint](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_UpdateEndpoint.html)进行调用。这会触发 blue/green 或滚动部署。部署完成后才会显示增强指标。在已配置的端点上更改`MetricsConfig`设置时，同样的过程也适用。

配置时`MetricsConfig`，[DescribeEndpoint](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_DescribeEndpoint.html)和都会在响应`MetricsConfig`中[DescribeEndpointConfig](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html)返回。

启用增强型指标后， SageMaker AI 会为三个 CloudWatch 命名空间的指标添加其他维度：`/aws/sagemaker/Endpoints`利用率指标、调`AWS/SageMaker`用指标和`/aws/sagemaker/InferenceComponents`推理组件利用率指标。

## Instance-level 利用率指标
<a name="enhanced-metrics-instance-utilization"></a>

`/aws/sagemaker/Endpoints`命名空间包括所有实时端点的利用率指标，包括那些使用推理组件的终端节点。启用增强型指标后，`InstanceId`和`AcceleratorId`（仅限 GPU 指标）维度将与现有命名空间维度一起可用。有关指标和维度的完整列表，请参阅[SageMaker AI 终端节点指标](monitoring-cloudwatch.md#cloudwatch-metrics-endpoints)。

启用增强指标后，还会有以下其他维度可用：


**实例级利用率指标的其他维度**  

| 维度 | 说明 | 
| --- | --- | 
| InstanceId | 筛选特定实例的利用率指标。 | 
| AcceleratorId | （仅限 GPU 指标）筛选特定 GPU 的利用率指标。 | 

## 实例和容器级别的调用指标
<a name="enhanced-metrics-invocation"></a>

`AWS/SageMaker`命名空间包括调用指标。启用增强型指标后，`InstanceId`和`ContainerId`（仅限推理组件）维度将与现有命名空间维度一起可用。有关指标和维度的完整列表，请参阅[SageMaker AI 终端节点调用指标](monitoring-cloudwatch.md#cloudwatch-metrics-endpoint-invocation)。

启用增强指标后，还会有以下其他维度可用：


**调用指标的其他维度**  

| 维度 | 说明 | 
| --- | --- | 
| InstanceId | 筛选特定实例的调用指标。 | 
| ContainerId | （仅限推理组件）筛选特定容器的调用指标。 | 

## Container-level 利用率指标
<a name="enhanced-metrics-container"></a>

`/aws/sagemaker/InferenceComponents`命名空间包括使用推理组件的端点的利用率指标。启用增强型指标后，`InstanceId``ContainerId`、和`AcceleratorId`（仅限 GPU 指标）维度将与现有命名空间维度一起可用。有关指标和维度的完整列表，请参阅[SageMaker AI 推理组件指标](monitoring-cloudwatch.md#cloudwatch-metrics-inference-component)。

启用增强指标后，还会有以下其他维度可用：


**容器级利用率指标的其他维度**  

| 维度 | 说明 | 
| --- | --- | 
| InstanceId | 筛选特定实例的利用率指标。 | 
| ContainerId | 筛选特定容器的利用率指标。 | 
| AcceleratorId | （仅限 GPU 指标）筛选特定 GPU 的利用率指标。 | 

## 可配置的指标频率
<a name="enhanced-metrics-frequency"></a>

您可以配置将指标发布到的时间间隔 CloudWatch。默认频率为 60 秒。

**有效值：**10、30、60、120、180、240 或 300 秒。

设置`EnableEnhancedMetrics`为时`False`，此频率仅适用于利用率指标；调用指标将继续按默认的 60 秒间隔发布。设置为时`True`，此频率适用于利用率和调用指标。

**注意**  
以小于 60 秒（高分辨率）的时间间隔发布的指标将保留 3 小时。

标准 CloudWatch 定价适用于每个指标的唯一维度组合。增强型指标会增加指标流的数量，因为每个实例、容器和 GPU 都会创建额外的维度组合。有关定价详情，请参阅 [Amazon CloudWatch 定价](https://www.amazonaws.cn/cloudwatch/pricing/)。

## 代码示例：配置增强型指标
<a name="enhanced-metrics-code-examples"></a>

以下示例说明如何创建启用增强指标的终端节点配置以及如何验证配置。

### 使用增强的指标创建终端节点配置
<a name="enhanced-metrics-create-example"></a>

------
#### [ Amazon SDK for Python (Boto3) ]

**Example 使用增强的指标创建终端节点配置**  

```
import boto3

sagemaker_client = boto3.client('sagemaker')

response = sagemaker_client.create_endpoint_config(
    EndpointConfigName='{{my-enhanced-metrics-config}}',
    ProductionVariants=[
        {
            'VariantName': '{{AllTraffic}}',
            'ModelName': '{{my-model}}',
            'InstanceType': '{{ml.m5.xlarge}}',
            'InitialInstanceCount': {{2}},
        }
    ],
    MetricsConfig={
        'EnableEnhancedMetrics': True,
        'MetricPublishFrequencyInSeconds': {{60}}
    }
)
```

------
#### [ Amazon CLI ]

**Example 使用增强的指标创建终端节点配置**  

```
aws sagemaker create-endpoint-config \
    --endpoint-config-name {{my-enhanced-metrics-config}} \
    --production-variants file://production-variants.json \
    --metrics-config file://metrics-config.json
```
其中 `metrics-config.json` 包含：  

```
{
    "EnableEnhancedMetrics": true,
    "MetricPublishFrequencyInSeconds": {{60}}
}
```

------

### 验证增强型指标配置
<a name="enhanced-metrics-verify-example"></a>

------
#### [ Amazon SDK for Python (Boto3) ]

**Example 验证增强型指标配置**  

```
response = sagemaker_client.describe_endpoint_config(
    EndpointConfigName='{{my-enhanced-metrics-config}}'
)
print(response['MetricsConfig'])
# {'EnableEnhancedMetrics': True, 'MetricPublishFrequencyInSeconds': 60}

response = sagemaker_client.describe_endpoint(
    EndpointName='{{my-endpoint}}'
)
print(response['MetricsConfig'])
```

------
#### [ Amazon CLI ]

**Example 验证增强型指标配置**  

```
aws sagemaker describe-endpoint-config \
    --endpoint-config-name {{my-enhanced-metrics-config}} \
    --query 'MetricsConfig'
```

```
aws sagemaker describe-endpoint \
    --endpoint-name {{my-endpoint}} \
    --query 'MetricsConfig'
```

------