

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

# 推理管道日志和指标
<a name="inference-pipeline-logs-metrics"></a>

监控对于维护 Amazon A SageMaker I 资源的可靠性、可用性和性能非常重要。要监控推理管道性能并对其进行故障排除，请使用 Amazon CloudWatch 日志和错误消息。有关 SageMaker AI 提供的监控工具的信息，请参阅[监控 Amazon A SageMaker I 中的 Amazon 资源](monitoring-overview.md)。

## 使用指标监控多容器模型
<a name="inference-pipeline-metrics"></a>

要监控推理管道中的多容器模型，请使用 Amazon。 CloudWatch CloudWatch收集原始数据并将其处理成可读的、近乎实时的指标。 SageMaker AI 训练作业和终端节点在`AWS/SageMaker`命名空间中写入 CloudWatch 指标和日志。

以下各表列出以下内容的指标和维度。
+ 端点调用
+ 训练作业、批量转换作业和端点实例

*维度*是唯一标识指标的 name/value 配对。您可以为一个指标分配最多 10 个维度。有关使用进行监控的更多信息 CloudWatch，请参阅[亚马逊中的亚马逊 A SageMaker I 指标 CloudWatch](monitoring-cloudwatch.md)。

**端点调用指标**

`AWS/SageMaker` 命名空间包含通过调用 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_InvokeEndpoint.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_InvokeEndpoint.html) 获得的以下请求指标。

指标每 1 分钟报告一次。


| 指标 | 说明 | 
| --- | --- | 
| Invocation4XXErrors | 模型为其返回 `4xx` HTTP 响应代码的 `InvokeEndpoint` 请求的数量。对于每个`4xx`响应， SageMaker AI 都会发送`1`。<br />单位：无<br />有效统计数据：`Average`、`Sum` | 
| Invocation5XXErrors | 模型为其返回 `5xx` HTTP 响应代码的 `InvokeEndpoint` 请求的数量。对于每个`5xx`响应， SageMaker AI 都会发送`1`。<br />单位：无<br />有效统计数据：`Average`、`Sum` | 
| Invocations | 发送到模型端点的 `number of InvokeEndpoint` 请求。<br />要获取发送到模型端点的请求总数，请使用 `Sum` 统计数据。<br />单位：无<br />有效统计数据：`Sum`、`Sample Count` | 
| InvocationsPerInstance | 发送到模型的端点调用次数，按每次调用进行归一化`InstanceCount`。`ProductionVariant` SageMaker AI 发送 1/ `numberOfInstances` 作为每个请求的值，其中`numberOfInstances`是请求时终端节点的活动实例数。 ProductionVariant <br />单位：无<br />有效统计数据：`Sum` | 
| ModelLatency | 模型进行响应所需的时间。这包括以下操作所花的时间：发送请求，从模型容器中提取响应，以及完成容器中的推理。ModelLatency 是一个推理管道中所有容器所花的总时间。单位：微秒<br />有效统计数据：`Average`、`Sum`、`Min`、`Max`、Sample Count | 
| OverheadLatency | 在响应 SageMaker AI 向客户提出的开销请求所花费的时间中增加的时间。 `OverheadLatency`从 A SageMaker I 收到请求到向客户端返回响应的时间减去`ModelLatency`。除其他因素外，开销延迟还可能由于请求和响应负载大小、请求频率以及请求的身份验证或授权而变化。<br />单位：微秒<br />有效统计数据：`Average`、`Sum`、`Min`、`Max`、`Sample Count` | 
| ContainerLatency | 从 SageMaker AI 看来，推理管道容器响应所花费的时间。 ContainerLatency包括发送请求、从模型容器中获取响应以及在容器中完成推理所花费的时间。单位：微秒<br />有效统计数据：`Average`、`Sum`、`Min`、`Max`、`Sample Count` | 

**端点调用指标的维度**


| 维度 | 说明 | 
| --- | --- | 
| EndpointName, VariantName, ContainerName | 针对指定的端点和指定的变体的 `ProductionVariant`，筛选端点调用指标。 | 

对于推理管道终端节点，将您账户中的每个容器的延迟指标 CloudWatch 列为 **SageMaker AI** 命名空间中的**端点**容器指标**和端点变体指标**，如下所示。该 `ContainerLatency` 指标仅适用于推理管道。

![推理管道的 CloudWatch 仪表板。](http://docs.amazonaws.cn/sagemaker/latest/dg/images/pipeline-endpoint-metrics.png)


对于每个端点和每个容器，延迟指标显示容器、端点、变体和指标的名称。

![端点的延迟指标。](http://docs.amazonaws.cn/sagemaker/latest/dg/images/pipeline-endpoint-metrics-details.png)


**训练作业、批量转换作业和端点实例指标**

命名空间 `/aws/sagemaker/TrainingJobs`、`/aws/sagemaker/TransformJobs` 和 `/aws/sagemaker/Endpoints` 包括以下用于训练作业和端点实例的指标。

指标每 1 分钟报告一次。


| 指标 | 说明 | 
| --- | --- | 
| CPUUtilization | 实例上运行的容器所使用的 CPU 单位的百分比。该值的范围从 0% 到 100%，并乘以的数量。 CPUs例如，如果有四个 CPUs，`CPUUtilization`则范围从 0% 到 400%。<br />对于训练作业，`CPUUtilization` 是实例上运行的算法容器的 CPU 利用率。<br />对于批量转换作业，`CPUUtilization` 是实例上运行的转换容器的 CPU 利用率。<br />对于多容器模型，`CPUUtilization` 是实例上运行的所有容器的 CPU 利用率总和。<br />对于端点变体，`CPUUtilization` 是实例上运行的所有容器的 CPU 利用率总和。<br />单位：百分比 | 
| MemoryUtilization | 实例上运行的容器所使用的内存的百分比。此值范围从 0% 到 100%。<br />对于训练作业，`MemoryUtilization` 是实例上运行的算法容器所使用的内存。<br />对于批量转换作业，`MemoryUtilization` 是实例上运行的转换容器所使用的内存。对于多容器模型，MemoryUtilization 是实例上运行的所有容器的所使用的内存总和。<br />对于端点变体，`MemoryUtilization` 是实例上运行的所有容器所使用的内存总和。<br />单位：百分比 | 
| GPUUtilization | 实例上运行的容器使用的 GPU 单位的百分比。 `GPUUtilization`范围介于 0% 到 100% 之间，并乘以数字。 GPUs例如，如果有四个 GPUs，`GPUUtilization`则范围从 0% 到 400%。<br />对于训练作业，`GPUUtilization` 是实例上运行的算法容器所使用的 GPU。<br />对于批量转换作业，`GPUUtilization` 是实例上运行的转换容器所使用的 GPU。<br />对于多容器模型，`GPUUtilization` 是实例上运行的所有容器的所使用的 GPU 总和。<br />对于端点变体，`GPUUtilization` 是实例上运行的所有容器所使用的 GPU 总和。<br />单位：百分比 | 
| GPUMemoryUtilization | 实例上运行的容器使用的 GPU 内存百分比。 GPUMemory利用率范围从 0% 到 100%，乘以数量。 GPUs例如，如果有四个 GPUs，`GPUMemoryUtilization`则范围从 0% 到 400%。<br />对于训练作业，`GPUMemoryUtilization` 是实例上运行的算法容器所使用的 GPU 内存。<br />对于批量转换作业，`GPUMemoryUtilization` 是实例上运行的转换容器所使用的 GPU 内存。<br />对于多容器模型，`GPUMemoryUtilization` 是实例上运行的所有容器的所用的 GPU 总和。<br />对于端点变体，`GPUMemoryUtilization` 是实例上运行的所有容器所使用的 GPU 内存总和。<br />单位：百分比 | 
| DiskUtilization | 实例上运行的容器使用的磁盘空间百分比。 DiskUtilization 范围从 0% 到 100%。批量转换作业不支持此指标。<br />对于训练作业，`DiskUtilization` 是实例上运行的算法容器所使用的磁盘空间。<br />对于端点变体，`DiskUtilization` 是实例上运行的所有提供容器所使用的磁盘空间总和。<br />单位：百分比 | 

**训练作业、批量转换作业和端点实例指标的维度**


| 维度 | 说明 | 
| --- | --- | 
| Host | 对于训练作业，`Host` 格式为 `[training-job-name]/algo-[instance-number-in-cluster]`。使用此维度可筛选指定训练作业和实例的实例指标。此维度格式仅存在于 `/aws/sagemaker/TrainingJobs` 命名空间中。<br />对于批量转换作业，`Host` 格式为 `[transform-job-name]/[instance-id]`。使用此维度可筛选指定批量转换作业和实例的实例指标。此维度格式仅存在于 `/aws/sagemaker/TransformJobs` 命名空间中。<br />对于端点，`Host` 格式为 `[endpoint-name]/[ production-variant-name ]/[instance-id]`。使用此维度可筛选指定端点、变体和实例的实例指标。此维度格式仅存在于 `/aws/sagemaker/Endpoints` 命名空间中。 | 

为了帮助您调试训练作业、终端节点和笔记本实例生命周期配置， SageMaker AI 还会将算法容器、模型容器或笔记本实例生命周期配置发送到 Amazon Logs 或发送`stderr`到 `stdout` Amazon CloudWatch Logs 的任何内容。您可以使用此信息用于调试并分析进度。

## 使用日志监控推理管道
<a name="inference-pipeline-logs"></a>

下表列出了 SageMaker AI. 发送到 Amazon 的日志组和日志流 CloudWatch 

*日志流*是共享同一来源的一系列日志事件。每个单独的日志源 CloudWatch 构成一个单独的日志流。*日志组*是一组具有相同保留期、监控和访问控制设置的日志流。

**日志**



- **`/aws/sagemaker/TrainingJobs`**
  - `[training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp]`

- **`/aws/sagemaker/Endpoints/[EndpointName]`**
  - `[production-variant-name]/[instance-id]`
  - `[production-variant-name]/[instance-id]`
  - `[production-variant-name]/[instance-id]/[container-name provided in the SageMaker AI model] (For Inference Pipelines)`对于推理管道日志，如果您不提供容器名称，则按照模型中提供容器的顺序 CloudWatch 使用\*\*container-1、container-2\*\*等。

- **`/aws/sagemaker/NotebookInstances`**
  - `[notebook-instance-name]/[LifecycleConfigHook]`

- **`/aws/sagemaker/TransformJobs`**
  - `[transform-job-name]/[instance-id]-[epoch_timestamp]`
  - `[transform-job-name]/[instance-id]-[epoch_timestamp]/data-log`
  - `[transform-job-name]/[instance-id]-[epoch_timestamp]/[container-name provided in the SageMaker AI model] (For Inference Pipelines)`对于推理管道日志，如果您不提供容器名称，则按照模型中提供容器的顺序 CloudWatch 使用\*\*container-1、container-2\*\*等。



**注意**  
SageMaker 当您使用生命周期配置创建笔记本实例时，AI 会创建`/aws/sagemaker/NotebookInstances`日志组。有关更多信息，请参阅 [使用 LCC 脚本自定义 SageMaker 笔记本实例](notebook-lifecycle-config.md)。

有关 SageMaker AI 日志记录的更多信息，请参阅[CloudWatch 亚马逊 A SageMaker I 的日志](logging-cloudwatch.md)。