

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

# 使用 CloudWatch 指标监控您的 WorkSpaces
使用 CloudWatch 指标进行监控

WorkSpaces 和 Amazon CloudWatch 均为集成式，因此您可收集并分析性能指标。您可以使用 CloudWatch 控制台、CloudWatch 命令行界面或者通过以编程方式使用 CloudWatch API，来监控这些指标。您还可以使用 CloudWatch 设置警报，让系统在达到某指标的指定阈值时提醒您。

有关使用 CloudWatch 和警报的更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.amazonaws.cn/AmazonCloudWatch/latest/DeveloperGuide/)。

**先决条件**  
要获取 CloudWatch 指标，请在 `cn-northwest-1 ` 区域 `AMAZON` 子网的端口 443 上启用访问。有关更多信息，请参阅 [WorkSpaces 个人的 IP 地址和端口要求](workspaces-port-requirements.md)。

**Topics**
+ [

## WorkSpaces 指标
](#wsp-metrics)
+ [

## WorkSpaces 指标的维度
](#wsp-metric-dimensions)
+ [

## 监控示例
](#monitoring_example)

## WorkSpaces 指标


`AWS/WorkSpaces` 命名空间包括以下指标。


| 指标 | 描述 | 维度 | 统计数据 | 单位 | 
| --- | --- | --- | --- | --- | 
| `Available`1 |  返回正常运行状态的 WorkSpaces 的数量。  |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `Unhealthy`1 |  返回不正常运行状态的 WorkSpaces 的数量。  |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `ConnectionAttempt`2 |  连接尝试次数。  |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `ConnectionSuccess`2 |  成功连接的数量。  |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `ConnectionFailure`2 |  失败连接的数量。  |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `SessionLaunchTime`2、6 | 发起 WorkSpaces 会话所用的时间量。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 秒（时间） | 
| `InSessionLatency`2、6 | WorkSpaces 客户端和 WorkSpace 之间的往返操作时间。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 毫秒（时间） | 
| `SessionDisconnect`2、6 | 已关闭的连接数，包括用户启动的和失败的连接。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `UserConnected`3 | 用户已连接的 WorkSpaces 数量。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `Stopped` | 已停止的 WorkSpaces 的数量。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `Maintenance`4 | 正在维护的 WorkSpaces 的数量。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `TrustedDeviceValidationAttempt`5、6 | 设备身份验证签名验证尝试次数。 |  `DirectoryId`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `TrustedDeviceValidationSuccess`5、6 | 成功的设备身份验证签名验证次数。 |  `DirectoryId`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `TrustedDeviceValidationFailure`5、6 | 失败的设备身份验证签名验证次数。  |  `DirectoryId`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `TrustedDeviceCertificateDaysBeforeExpiration`6 | 与该目录关联的根证书过期前所剩的天数。 |  `CertificateId`  | Average、Sum、Maximum、Minimum、Data Samples | 计数 | 
| `CPUUsage` | 使用的 CPU 资源所占的百分比。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值 | 百分比 | 
| `MemoryUsage` | 使用的计算机内存百分比。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值 | 百分比 | 
| `RootVolumeDiskUsage` | 卷中已使用根磁盘空间的百分比。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值 | 百分比 | 
| `UserVolumeDiskUsage` | 卷中已使用用户磁盘空间的百分比。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值 | 百分比 | 
| `UDPPacketLossRate`7 | 在客户端和网关之间丢弃的数据包的百分比。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值、数据样本 | 百分比 | 
| `UpTime` | 自上次重启 WorkSpace 以来经过的时间。 |  `DirectoryId` `WorkspaceId` `RunningMode` `Protocol` `ComputeType` `BundleId` `UserName` `ComputerName`  | 平均值、最大值、最小值、数据样本 | 秒 | 

1 WorkSpaces 定期向 WorkSpace 发送状态请求。响应这些请求的 WorkSpace 标记为 `Available`，不响应这些请求的 WorkSpace 标记为 `Unhealthy`。这些指标以每个 WorkSpace 为粒度提供，并且对一个组织内的所有 WorkSpaces 进行汇总。

2 WorkSpaces 记录针对每个 WorkSpace 进行的连接的指标。在用户成功通过 WorkSpaces 客户端进行身份验证并且客户端启动会话后，会发出这些指标。这些指标以每个 WorkSpace 为粒度提供，并且对一个目录内的所有 WorkSpaces 进行汇总。

3 WorkSpaces 定期向 WorkSpace 发送连接状态请求。当用户正在主动使用他们的会话时，他们被报告为已连接。此指标以每个 WorkSpace 为粒度提供，并且对一个组织内的所有 WorkSpaces 进行汇总。

4 此指标适用于以 AutoStop 运行模式配置的 WorkSpaces。如果您已为您的 WorkSpaces 启用了维护，则此指标捕获当前正在维护的 WorkSpaces 数量。此指标以每个 WorkSpace 为粒度提供，描述 WorkSpace 何时进入维护，以及何时移除。

5 如果为目录启用了可信设备功能，则 Amazon WorkSpaces 将使用基于证书的身份验证来确定设备是否可信。当用户尝试访问其 WorkSpaces 时，系统会发出这些指标以指示可信设备身份验证成功或失败。这些指标以每个目录为粒度提供，并且仅适用于 Amazon WorkSpaces Windows 和 macOS 客户端应用程序。

6 在 WorkSpaces Web Access 上不可用。

7 该指标测量平均数据包丢失率。
+ **在 PCoIP 上**：测量从客户端到网关的平均 UDP 数据包丢失率。
**注意**  
这是在网关上测量的。
+ **在 DCV 上**：测量从网关到客户端的 UDP 数据包丢失率。
**注意**  
这是在网关上测量的。

## WorkSpaces 指标的维度


要筛选指标数据，请使用以下维度。


| 维度 | 描述 | 
| --- | --- | 
| `DirectoryId` | 筛选指标数据，限定为指定目录中的 WorkSpaces。目录 ID 的形式为 `d-XXXXXXXXXX`。 | 
| `WorkspaceId` | 针对指定的 WorkSpace 筛选指标数据。WorkSpace ID 的形式为 `ws-XXXXXXXXXX`。 | 
| `CertificateId` | 针对与该目录关联的指定根证书筛选指标数据。证书 ID 的形式为 `wsc-XXXXXXXXX`。 | 
| `RunningMode` | 针对指定 WorkSpaces，按其运行模式筛选指标数据。运行模式的形式是“AutoStop”或“AlwaysOn”。 | 
| `BundleId` | 针对指定 WorkSpaces，按协议筛选指标数据。捆绑包的形式为 `wsb-XXXXXXXXXX`。 | 
| `ComputeType` | 针对指定 WorkSpaces，按计算类型筛选指标数据。 | 
| `Protocol` | 针对指定 WorkSpaces，按协议类型筛选指标数据。 | 
| `UserName` |  针对指定 WorkSpaces，按用户名筛选指标数据。  `UserName` 不能由非 ASCII 字符组成，如以下字符：  重音字母：é、à、ö、ñ 等 非拉丁字母 符号：©️、®️、€、£、µ、¥ 等    | 
| `ComputerName` | 针对指定的 WorkSpace 筛选指标数据。参见 [WorkSpaces 计算机名称]( https://docs.aws.amazon.com/workspaces/latest/adminguide/wsp-directory-identify-computer.html)的各种格式。 | 

## 监控示例


以下示例展示了如何使用 Amazon CLI 响应 CloudWatch 警报，以及如何确定目录中的哪些 WorkSpaces 遇到了连接故障。

**响应 CloudWatch 警报**

1. 使用 [describe-alarms](https://docs.amazonaws.cn/cli/latest/reference/cloudwatch/describe-alarms.html) 命令确定警报适用于哪个目录。

   ```
   aws cloudwatch describe-alarms --state-value "ALARM"
   
   {
     "MetricAlarms": [
       {
         ...
         "Dimensions": [
           {
             "Name": "DirectoryId",
             "Value": "directory_id"
           }
         ],
         ...
       }
     ]
   }
   ```

1. 使用 [describe-workspaces](https://docs.amazonaws.cn/cli/latest/reference/workspaces/describe-workspaces.html) 命令获取指定目录中的 WorkSpace 列表。

   ```
   aws workspaces describe-workspaces --directory-id directory_id
   
   {
     "Workspaces": [
       {
         ...
         "WorkspaceId": "workspace1_id",
         ...
       },
       {
         ...
         "WorkspaceId": "workspace2_id",
         ...
       },
       {
         ...
         "WorkspaceId": "workspace3_id",
         ...
       }
     ]
   }
   ```

1. 使用 [get-metric-statistics](https://docs.amazonaws.cn/cli/latest/reference/cloudwatch/get-metric-statistics.html) 命令获取目录中每个 WorkSpace 的 CloudWatch 指标。

   ```
   aws cloudwatch get-metric-statistics \
   --namespace AWS/WorkSpaces \
   --metric-name ConnectionFailure \
   --start-time 2015-04-27T00:00:00Z \
   --end-time 2015-04-28T00:00:00Z \
   --period 3600 \
   --statistics Sum \
   --dimensions "Name=WorkspaceId,Value=workspace_id"
   
   {
     "Datapoints" : [
       {
         "Timestamp": "2015-04-27T00:18:00Z",
         "Sum": 1.0,
         "Unit": "Count"
       },
       {
         "Timestamp": "2014-04-27T01:18:00Z",
         "Sum": 0.0,
         "Unit": "Count"
       }
     ],
     "Label" : "ConnectionFailure"
   }
   ```