

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

# 使用 Amazon 监控指标 CloudWatch
<a name="monitoring-cloudwatch"></a>

您可以使用 Amazon 监控文件系统 CloudWatch，Amazon 会收集来自 Amazon EFS 的原始数据并将其处理为可读的近乎实时的指标。这些统计数据会保存 15 个月，这样您就可以更好地了解 Web 应用程序或服务的运行情况。

默认情况下，Amazon EFS 指标数据以 1 分钟为间隔自动发送到 CloudWatch ，除非某些单独指标另有说明。Amazon EFS 控制台根据来自亚马逊的原始数据显示一系列图表 CloudWatch。根据您的需求，您可能更喜欢从控制台中获取文件系统的数据， CloudWatch 而不是从控制台中的图表中获取数据。

有关亚马逊的更多信息 CloudWatch，请参阅[什么是亚马逊 CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 在《*亚马逊 CloudWatch 用户指南》*中。

Amazon EFS CloudWatch 指标以原始*字节*形式报告。字节数不会舍入到十进制或二进制单位倍数。

**Topics**
+ [CloudWatch 亚马逊 EFS 的指标](efs-metrics.md)
+ [访问 Amazon EFS 的 CloudWatch 指标](accessingmetrics.md)
+ [使用 Amazon EFS 的 CloudWatch 指标](how_to_use_metrics.md)
+ [将公制数学与 CloudWatch 指标配合使用](monitoring-metric-math.md)
+ [监控挂载尝试的成功与失败](how-to-monitor-mount-status.md)
+ [创建 CloudWatch 警报以监控 Amazon EFS](creating_alarms.md)

# CloudWatch 亚马逊 EFS 的指标
<a name="efs-metrics"></a>

Amazon EFS 指标使用 `EFS` 命名空间。`AWS/EFS` 命名空间包括以下指标。除 `TimeSinceLastSync` 外，所有指标均针对单一维度 `FileSystemId`。可以在 Amazon EFS 管理控制台中找到文件系统 ID，该 ID 采用 `fs-abcdef0123456789a` 的格式。



**`TimeSinceLastSync`**  
显示自复制配置中上次成功同步到目标文件系统以来经过的时间。成功复制 `TimeSinceLastSync` 值之前对源文件系统上的数据所做的任何更改。在 `TimeSinceLastSync` 之后发生的对源文件系统上数据所做的任何更改都可能无法完全复制。  
该指标使用两个维度：  
+ `FileSystemId` 维度 - 复制配置中目标文件系统的 ID。
+ `DestinationFileSystemId` 维度 – 复制配置中目标文件系统的 ID。
单位：秒  
有效统计数据：`Minimum`、`Maximum`、`Average`

**`PercentIOLimit`**  
显示文件系统离达到通用性能模式 I/O 极限的距离有多近。  
单位：百分比  
有效统计数据：`Minimum`、`Maximum`、`Average`

**`BurstCreditBalance`**  
文件系统具有的突增额度。利用突增额度，文件系统可以突增到高于不同时段内文件系统基线水平的吞吐量级别。  
`Minimum` 统计数据是该时段内任何一分钟的最小突增点数余额。`Maximum` 统计数据是该时段内任何一分钟的最大突增点数余额。`Average` 统计数据是该时段内的平均突增点数余额。  
单位：字节  
有效统计数据：`Minimum`、`Maximum`、`Average`

**`PermittedThroughput`**  
文件系统可以驱动的最大吞吐量。  
+ 对于使用弹性吞吐量的文件系统，此值反映了文件系统的最大写入吞吐量。
+ 对于使用预置吞吐量的文件系统，如果 EFS 标准存储类中存储的数据量允许您的文件系统驱动比您预置的吞吐量更高的吞吐量，则此指标反映的是更高的吞吐量，而不是预置的吞吐量。
+ 对于采用突增吞吐量的文件系统，此值是文件系统大小与 `BurstCreditBalance` 的函数。
`Minimum` 统计数据是该时段内任何一分钟允许的最小吞吐量。`Maximum` 统计数据是该时段内任何一分钟允许的最大吞吐量。`Average` 统计数据是该时段内允许的平均吞吐量。  
读取操作以其他操作三分之一的速率计量。
单位：字节/秒  
有效统计数据：`Minimum`、`Maximum`、`Average`

**`MeteredIOBytes`**  
每个文件系统操作（包括数据读取、数据写入和元数据操作）的计量字节数，读取操作的折扣基于吞吐量限制。  
您可以创建与进行比较`MeteredIOBytes`的[CloudWatch 指标数学表达式](monitoring-metric-math.md#metric-math-throughput-utilization)`PermittedThroughput`。如果这些值相等，则说明您正在使用分配给文件系统的全部吞吐量。在这种情况下，可以考虑更改文件系统的吞吐量模式以获得更高的吞吐量。  
`Sum` 统计数据是与所有文件系统操作关联的总计量字节数。`Minimum` 统计数据是该时段内的最小操作的大小。`Maximum` 统计数据是该时段内的最大操作的大小。`Average` 统计数据是该时段内的操作的平均大小。`SampleCount` 统计数据提供了所有操作数。  
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**总计 IOBytes **  
Amazon EFS 处理的每个文件系统操作的实际字节数，没有任何读取折扣。该数字可能与您的应用程序请求的实际数量不同，因为它包含了最低数量。此数字也可能高于 `PermittedThroughput` 中显示的数字。  
数据操作以 32 KiB 计量，其他操作以 4 KiB 计量。在超过最小值之后，所有操作均按每 KiB 计量。  
`Sum` 统计数据是与所有文件系统操作关联的总字节数。`Minimum` 统计数据是该时段内的最小操作的大小。`Maximum` 统计数据是该时段内的最大操作的大小。`Average` 统计数据是该时段内的操作的平均大小。`SampleCount` 统计数据提供了所有操作数。  
要计算某个时段内的每秒平均操作数，请将 `SampleCount` 统计数据除以该时段的秒数。要计算某个时段内的平均吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`DataReadIOBytes`**  
每个文件系统读取操作的实际字节数。  
`Sum` 统计数据是与读取操作关联的总字节数。`Minimum` 统计数据是该时段内的最小读取操作的大小。`Maximum` 统计数据是该时段内的最大读取操作的大小。`Average` 统计数据是该时段内的读取操作的平均大小。`SampleCount` 统计数据提供了读取操作数。  
单位：  
+ 对于 `Minimum`、`Maximum`、`Average` 和 `Sum`，单位为字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`DataWriteIOBytes`**  
每个文件系统写入操作的实际字节数。  
`Sum` 统计数据是与写入操作关联的总字节数。`Minimum` 统计数据是该时段内的最小写入操作的大小。`Maximum` 统计数据是该时段内的最大写入操作的大小。`Average` 统计数据是该时段内的写入操作的平均大小。`SampleCount` 统计数据提供了写入操作数。  
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`MetadataIOBytes`**  
每个元数据操作的实际字节数。  
`Sum` 统计数据是与元数据操作关联的总字节数。`Minimum` 统计数据是该时段内的最小元数据操作的大小。`Maximum` 统计数据是该时段内的最大元数据操作的大小。`Average` 统计数据是该时段内的平均元数据操作的大小。`SampleCount` 统计数据提供了元数据操作数。  
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`MetadataReadIOBytes`**  
每个元数据读取操作的实际字节数。  
`Sum` 统计数据是与元数据读取操作关联的总字节数。`Minimum` 统计数据是该时段内的最小元数据读取操作的大小。`Maximum` 统计数据是该时段内的最大元数据读取操作的大小。`Average` 统计数据是该时段内的元数据读取操作的平均大小。`SampleCount` 统计数据提供了元数据读取操作数。  
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`MetadataWriteIOBytes`**  
每个元数据写入操作的实际字节数。  
`Sum` 统计数据是与元数据写入操作关联的总字节数。`Minimum` 统计数据是该时段内的最小元数据写入操作的大小。`Maximum` 统计数据是该时段内的最大元数据写入操作的大小。`Average` 统计数据是该时段内的元数据写入操作的平均大小。`SampleCount` 统计数据提供了元数据写入操作数。  
单位：  
+ `Minimum`、`Maximum`、`Average` 和 `Sum` 统计数据的单位是字节。
+ `SampleCount` 的数量。
有效统计数据：`Minimum`、`Maximum`、`Average`、`Sum`、`SampleCount`

**`ClientConnections`**  
文件系统的客户端连接数量。使用标准客户端时，每个挂载的 Amazon EC2 实例使用一个连接。  
要计算超过一分钟的时段的 `ClientConnections` 平均值，请将 `Sum` 统计数据除以该时段的分钟数。
单位：客户端连接数量  
有效统计数据：`Sum`

**`StorageBytes`**  
文件系统的大小（以字节为单位），包括存储在 EFS 存储类中的数据量。该指标 CloudWatch 每 15 分钟发出一次。  
`StorageBytes` 指标具有以下维度：  
+ `Total` 是存储在文件系统中的数据（所有存储类）的计量大小（以字节为单位）。对于 EFS 不频繁访问（IA）和 EFS 存档存储类，小于 128KiB 的文件向上舍入到 128KiB。
+ `Standard` 是存储在 EFS 标准存储类别中的数据的计量大小（以字节为单位）。
+ `IA` 是存储在 EFS 不频繁访问存储类别中的数据的实际大小（以字节为单位）。
+ `IASizeOverhead` 是 EFS 不频繁访问存储类中的实际数据大小（在 `IA` 维度中指示）与将小文件向上舍入到 128KiB 后的该存储类计量大小之间的差异（以字节为单位）。
+ `Archive` 是存储在 EFS 存档存储类中的数据的实际大小（以字节为单位）。
+ `ArchiveSizeOverhead` 是 EFS 存档存储类中的实际数据大小（在 `Archive` 维度中指示）与将小文件向上舍入到 128KiB 后的该存储类计量大小之间的差异（以字节为单位）。
单位：字节  
有效统计数据：`Minimum`、`Maximum`、`Average`  
`StorageBytes` 显示在 Amazon EFS 控制台的**文件系统指标**页面上，使用 1024 个基本单位（千字节、兆字节、千兆字节和太字节）。

# 访问 Amazon EFS 的 CloudWatch 指标
<a name="accessingmetrics"></a>

您可以通过多种方式查看 Amazon EFS CloudWatch 的指标：
+ 在 Amazon EFS 控制台中
+ 在 CloudWatch 控制台中
+ 使用 CloudWatch CLI
+ 使用 CloudWatch API

## 查看 CloudWatch 指标和警报（Amazon EFS 控制台）
<a name="view-metrics-console"></a>

1. 登录 AWS 管理控制台 并打开 Amazon EFS 控制台，网址为[ https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/)。

1. 选择**文件系统**。

1. 选择要查看其 CloudWatch 指标的文件系统。

1. 选择**监控**以显示**文件系统指标**页面。

   “**文件系统指标**” 页面显示文件系统的一组默认 CloudWatch指标。您配置的所有 CloudWatch 警报也会显示这些指标。对于使用 “最大 I/O 性能” 模式的文件系统，默认的指标集包括突发积分余额，而不是 IO 百分比限制。可以使用**指标设置**对话框覆盖默认设置，通过打开设置即可访问该对话框。
**注意**  
吞吐量利用率 (%) 指标不是 CloudWatch 指标；它是使用 CloudWatch 公制数学计算得出的。

1. 可以使用**文件系统指标**页面上的控制调整指标和警报的显示方式，如下所示。
   + 在**时间序列**或**单个值**之间切换**显示模式**。
   + 显示或隐藏为文件系统配置的所有 CloudWatch 警报。
   + 选择 “**查看更多**” CloudWatch 以查看中的指标 CloudWatch。
   + 选择 “**添加到控制面板**” 以打开您的 CloudWatch 控制面板并添加显示的指标。
   + 将显示的指标时间窗口从 1 小时调整为 1 周。

## 查看 CloudWatch 指标和警报（CloudWatch 控制台）
<a name="view-metrics-cw-console"></a>

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

1. 在导航窗格中，选择**指标**。

1. 选择 **EFS** 命名空间。

1. （可选）要查看某个指标，请在搜索字段中输入其名称。

1. (可选) 要按维度筛选，请选择 **FileSystemId**。

## 要访问来自的指标 AWS CLI
<a name="view-metrics-cli"></a>
+ 使用带有 `--namespace "AWS/EFS"` 命名空间的 [https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令。有关更多信息，请参阅 [AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/)。

## 从 CloudWatch API 访问指标
<a name="view-metrics-cli"></a>
+ 调用 `[https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)`。有关更多信息，请参阅 [Amazon CloudWatch API 参考](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)。

# 使用 Amazon EFS 的 CloudWatch 指标
<a name="how_to_use_metrics"></a>

Amazon EFS 报告的指标为您提供了可通过不同方式分析的信息。下面的列表显示这些指标的一些常见用途。这些是入门建议，并不全面。


| 如何？ | 相关指标 | 
| --- | --- | 
| 如何确定我的吞吐量？ | 您可以监控 `Sum` 指标的每日 `TotalIOBytes` 统计数据以查看您的吞吐量。  | 
|  如何确定传输的数据总量？  | 您可以监控 MeteredIOBytes 的每日 Sum 统计数据，以查看传输的数据总量。 | 
| 如何跟踪连接到文件系统的 Amazon EC2 实例数量？ | 您可以监控 `Sum` 指标的 `ClientConnections` 统计数据。要计算超过一分钟的时段的 `ClientConnections` 平均值，请将总和除以该时段的分钟数。 | 
| 如何查看我的突增积分余额？ | 您可以通过监控文件系统的 `BurstCreditBalance` 指标来查看您的余额。有关突增和突增积分的更多信息，请参阅[突增吞吐量](performance.md#bursting)。  | 

## 监控吞吐量性能
<a name="monitor-throughput-performance"></a>

吞吐量监控 CloudWatch 指标 — `TotalIOBytes` `ReadIOBytes`、`WriteIOBytes`、和 `MetadataIOBytes` — 表示您在文件系统上实现的实际吞吐量。指标 `MeteredIOBytes` 表示您正在驱动的总计量吞吐量的计算结果。可以使用 Amazon EFS 控制台**监控**部分中的**吞吐量利用率（%）**图表来监控吞吐量利用率。如果您使用自定义 CloudWatch 仪表板或其他监控工具，则可以创建与进行比较`MeteredIOBytes`的[CloudWatch 指标数学表达式](monitoring-metric-math.md#metric-math-throughput-utilization)`PermittedThroughput`。

`PermittedThroughput` 衡量文件系统允许的吞吐量。此值基于以下方法之一：
+ 对于采用弹性吞吐量的文件系统，此值反映了文件系统的最大写入吞吐量。
+ 对于使用预置吞吐量的文件系统，如果 EFS 标准存储类中存储的数据量允许您的文件系统驱动比您预置的吞吐量更高的吞吐量，则此指标反映的是更高的吞吐量，而不是预置的吞吐量。
+ 对于采用突增吞吐量的文件系统，此值是文件系统大小与 `BurstCreditBalance` 的函数。监控 `BurstCreditBalance` 以确保您的文件系统以其突发速率而不是基本速率运行。如果余额一直等于或接近零，请考虑切换到弹性吞吐量或预置吞吐量，以获得额外吞吐量。

当 `MeteredIOBytes` 和 `PermittedThroughput` 的值相等时，您的文件系统将消耗所有可用吞吐量。对于使用预置吞吐量的文件系统，可以预置额外的吞吐量。

# 将公制数学与 CloudWatch 指标配合使用
<a name="monitoring-metric-math"></a>

使用指标数学，您可以查询多个 Amazon CloudWatch 指标，并使用数学表达式根据这些指标创建新的时间序列。您可以在 CloudWatch 控制台中可视化生成的时间序列并将其添加到仪表板中。例如，可以使用 Amazon EFS 指标将 `DataRead` 操作样本数除以 60。结果是在给定 1 分钟间隔内在文件系统上平均每秒读取的次数。有关指标数学的更多信息，请参阅 *Amazon CloudWatch 用户指南中的将[数学表达式与 CloudWatch 指标配合使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)。*

可以在下文中找到一些有用的 Amazon EFS 指标数学表达式。

**Topics**
+ [公制数学：吞吐量 MiBps](#metric-math-throughput-mib)
+ [指标数学：百分比吞吐量](#metric-math-throughput-percent)
+ [指标数学：允许的吞吐量利用率百分比](#metric-math-throughput-utilization)
+ [指标数学：吞吐量 IOPS](#metric-math-throughput-iops)
+ [指标数学：IOPS 百分比](#metric-math-iops-percent)
+ [公制数学：以 KiB 为 I/O 单位的平均大小](#metric-math-average-io)
+ [通过 Amazon EFS 的 CloudFormation 模板使用公制数学](#metric-math-cloudformation-template)

## 公制数学：吞吐量 MiBps
<a name="metric-math-throughput-mib"></a>

要计算一段时间内的平均吞吐量 (in MiBps)，请先选择一个总和统计数据（`DataReadIOBytes``DataWriteIOBytes`、`MetadataIOBytes`、或`TotalIOBytes`）。然后，将该值转换为 MiB，并将该值除以该时间段的秒数。

假设您的示例逻辑是：(`TotalIOBytes` 总和 ÷ 1048576 (以转换为 MiB)) ÷ 该时间段的秒数

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | sum | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 | (m1/1048576)/PERIOD(m1) | 

## 指标数学：百分比吞吐量
<a name="metric-math-throughput-percent"></a>

此度量数学表达式计算用于不同 I/O 类型的总吞吐量的百分比，例如，由读取请求驱动的总吞吐量的百分比。要计算一段时间内某个 I/O 类型（`DataReadIOBytes`、`DataWriteIOBytes` 或 `MetadataIOBytes`）使用的总吞吐量百分比，请首先将相应的总和统计值乘以 100。然后，将结果除以同一时间段的 `TotalIOBytes` 总计统计数据。

假设您的示例逻辑是：(`DataReadIOBytes` 总和 x 100 (以转换为百分比)) ÷ `TotalIOBytes` 总和

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的一个或多个指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | sum | 1 minute | 
| m2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | sum | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 | (m2\$1100)/m1 | 

## 指标数学：允许的吞吐量利用率百分比
<a name="metric-math-throughput-utilization"></a>

要计算一段时间内允许的吞吐量利用率 (`MeteredIOBytes`) 的百分比，请先将吞吐量乘以 100。 MiBps然后，将结果除以同一时段的 `PermittedThroughput` 平均统计数据（转换为 MiB）。

假设你的示例逻辑是这样的：（以 MiBps x 100 为单位的吞吐量的度量数学表达式（转换为百分比））▼（总和 ± 1,048,576（将字节转换为 MiB））`PermittedThroughput`

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的一个或多个指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 |  `MeteredIOBytes`  | sum | 1 minute | 
| m2 | `PermittedThroughput` | average | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 |   (m1/1048576)/PERIOD(m1)  | 
| e2 | m2/1048576 | 
| e3 | ((e1)\$1100)/(e2) | 

## 指标数学：吞吐量 IOPS
<a name="metric-math-throughput-iops"></a>

要计算某个时间段的平均每秒操作数 (IOPS)，请将样本数统计数据（`DataReadIOBytes`、`DataWriteIOBytes`、`MetadataIOBytes` 或 `TotalIOBytes`）除以该时间段的秒数。

假设您的示例逻辑是：`DataWriteIOBytes` 样本数 ÷ 该时间段的秒数

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | 样本数 | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 | m1/PERIOD(m1) | 

## 指标数学：IOPS 百分比
<a name="metric-math-iops-percent"></a>

要计算一段时间内不同 I/O 类型（`DataReadIOBytes`、`DataWriteIOBytes`或`MetadataIOBytes`）每秒 IOPS 的百分比，请先将相应的样本计数统计数据乘以 100。然后，将该值除以同一时间段的 `TotalIOBytes` 样本数统计数据。

假设您的示例逻辑是：(`MetadataIOBytes` 样本数 x 100 (以转换为百分比)) ÷ `TotalIOBytes` 样本数

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | 样本数 | 1 minute | 
| m2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | 样本数 | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 | (m2\$1100)/m1 | 

## 公制数学：以 KiB 为 I/O 单位的平均大小
<a name="metric-math-average-io"></a>

要计算一段时间内的平均 I/O 大小（以 KiB 为单位），请将`DataReadIOBytes``DataWriteIOBytes`、或`MetadataIOBytes`指标的相应总和统计数据除以该指标的相同样本计数统计量。

假设您的示例逻辑是：（`DataReadIOBytes` 总和 ÷ 1024（以转换为 KiB））÷ `DataReadIOBytes` 样本数

那么您的 CloudWatch 指标信息如下所示。


| ID | 可用的指标 | Statistic | 周期 | 
| --- | --- | --- | --- | 
| m1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | sum | 1 minute | 
| m2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/monitoring-metric-math.html)  | 样本数 | 1 minute | 

您的指标数学 ID 和表达式如下所示。


| ID | Expression | 
| --- | --- | 
| e1 | (m1/1024)/m2 | 

## 通过 Amazon EFS 的 CloudFormation 模板使用公制数学
<a name="metric-math-cloudformation-template"></a>

您也可以通过 CloudFormation 模板创建公制数学表达式。其中一个模板可供您下载和自定义，以便在 [Amazon EFS 教程](https://github.com/aws-samples/amazon-efs-tutorial)中使用 GitHub。有关使用 CloudFormation 模板的更多信息，请参阅《*AWS CloudFormation 用户指南》中的[使用 CloudFormation 模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)。*

# 监控挂载尝试的成功与失败
<a name="how-to-monitor-mount-status"></a>

您可以使用 Amazon CloudWatch Logs 远程监控和报告 EFS 文件系统的挂载尝试成功或失败，而无需登录客户端。使用以下过程将您的 EC2 实例配置为使用 CloudWatch 日志来监控其文件系统挂载尝试的成功或失败。

**在 CloudWatch 日志中启用装载尝试成功或失败通知**

1. 在挂载文件系统的 EC2 实例上安装 `amazon-efs-utils`。有关更多信息，请参阅 [使用自动安装或更新 Amazon EFS 客户端 AWS Systems Manager](manage-efs-utils-with-aws-sys-manager.md)或 [手动安装 Amazon EFS 客户端](installing-amazon-efs-utils.md)。

1. 在将挂载文件系统的 EC2 实例上安装 `botocore`。有关更多信息，请参阅 [安装和升级 `botocore`](install-botocore.md)。

1. 在中启用 “ CloudWatch 日志” 功能`amazon-efs-utils`。当您使用 AWS Systems Manager 安装和配置时`amazon-efs-utils`，系统会自动为您完成 CloudWatch 日志记录。手动安装 `amazon-efs-utils` 软件包时，必须通过取消对 `cloudwatch-log` 部分中 `# enabled = true` 行的注释来手动更新 `/etc/amazon/efs/efs-utils.conf` 配置文件。使用以下命令之一手动启用 CloudWatch 日志。

   对于 Linux 实例：

   ```
   sudo sed -i -e '/\[cloudwatch-log\]/{N;s/# enabled = true/enabled = true/}' /etc/amazon/efs/efs-utils.conf
   ```

   对于 MacOS 实例：

   ```
   EFS_UTILS_VERSION= efs-utils-version
   sudo sed -i -e '/\[cloudwatch-log\]/{N;s/# enabled = true/enabled = true/;}' /usr/local/Cellar/amazon-efs-utils/${EFS_UTILS_VERSION}/libexec/etc/amazon/efs/efs-utils.conf
   ```

   对于 Mac2 实例：

   ```
   EFS_UTILS_VERSION= efs-utils-version
   sudo sed -i -e '/\[cloudwatch-log\]/{N;s/# enabled = true/enabled = true/;}' /opt/homebrew/Cellar/amazon-efs-utils/${EFS_UTILS_VERSION}/libexec/etc/amazon/efs/efs-utils.conf
   ```

1. 或者，您可以配置 CloudWatch 日志组名称并在`efs-utils.conf`文件中设置日志保留天数。如果要 CloudWatch 为每个已装载的文件系统设置单独的日志组，请在`efs-utils.conf`文件中的`log_group_name`字段末尾添加`/{fs_id}`，如下所示：

   ```
   [cloudwatch-log]
   log_group_name = /aws/efs/utils/{fs_id}
   ```

1. 将`AmazonElasticFileSystemsUtils` AWS 托管策略附加到您附加到 EC2 实例的 IAM 角色或实例上配置的 AWS 证书。可以使用 Systems Manager 执行此操作，有关更多信息，请参阅[步骤 1：使用所需权限配置 IAM 实例配置文件](setting-up-aws-sys-mgr.md#configure-sys-mgr-iam-instance-profile)。

以下是挂载尝试状态日志条目的示例：

```
Successfully mounted fs-12345678.efs.us-east-1.amazonaws.com at /home/ec2-user/efs
Mount failed, Failed to resolve "fs-01234567.efs.us-east-1.amazonaws.com"
```

**在 CloudWatch 日志中查看装载状态**

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

1. 在左侧导航栏中，选择**日志组**。

1. 选择**/aws/efs/utils**日志组。您将看到每个 Amazon EC2 实例和 EFS 文件系统组合的日志流。

1. 选择日志流以查看特定日志事件，包括挂载尝试成功或失败状态。

# 创建 CloudWatch 警报以监控 Amazon EFS
<a name="creating_alarms"></a>

您可以创建一个 CloudWatch 警报，在警报状态发生变化时发送 Amazon SNS 消息。告警会监控您指定的时间段内的某个指标。然后警报会根据指标值在多个时间段内对比给定阈值的情况执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或自动扩缩策略的通知。

警报仅针对持续的状态变化调用操作。 CloudWatch 警报不会仅仅因为它们处于特定状态而调用操作；该状态必须已更改并保持了指定的时间段。

Amazon EFS CloudWatch 警报的一个重要用途是对文件系统强制执行静态加密。可以在创建 Amazon EFS 文件系统时启用静态加密。要对 Amazon EFS 文件系统强制执行数据 encryption-at-rest策略，您可以使用 Amazon CloudWatch 和 AWS CloudTrail 来检测文件系统的创建并验证是否启用了静态加密。

**注意**  
目前，您无法实施传输中加密。

以下过程简要说明了如何为 Amazon EFS 创建警报。

## 使用控制台
<a name="set-alarms-console"></a>

**使用 CloudWatch 控制台设置警报**

1. 登录 AWS 管理控制台 并打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1.  选择**创建警报**。**创建警报向导**随即启动。

1. 选择 **EFS 指标**，并滚动 Amazon EFS 指标以找到要为其设置警报的指标。要在此对话框中仅显示 Amazon EFS 指标，请搜索文件系统的文件系统 ID。选择要创建警报的指标，然后选择**下一步**。

1.  填写指标的 **Name**、**Description**、**Whenever** 值。

1. 如果 CloudWatch 要在达到警报状态时向您发送电子邮件，请在 “**每当此警报：**” 字段中，选择 “**状态为警报**”。在 **Send notification to (发送通知到)** 字段中，选择一个现有 SNS 主题。如果您选择**创建主题**，那么您就可以为新电子邮件订阅列表设置名称和电子邮件地址。此列表将保存下来并会在将来的警报字段中显示出来。
**注意**  
 如果您使用 **Create topic (创建主题)** 创建一个新 Amazon SNS 主题，那么电子邮件地址在接收通知之前必须通过验证。当警报进入警报状态时，才会发送电子邮件。如果在验证电子邮件地址之前警报状态发生了变化，那么它们不会接收到通知。

1.  此时，**Alarm Preview** 区域将为您提供一次机会来预览即将创建的警报。选择**创建警报**。

## 使用 AWS CLI
<a name="set-alarms-cli"></a>

**要使用设置警报 AWS CLI**
+ 调用 `[https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)`。有关更多信息，请参阅 [AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/)。

## 使用 CloudWatch API
<a name="set-alarms-api"></a>

**使用 CloudWatch API 设置警报**
+ 调用 `[https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)`。有关更多信息，请参阅 [Amazon CloudWatch API 参考](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)。