

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

# 监控亚马逊 FSx 的 NetApp ONTAP
<a name="monitoring_overview"></a>

您可以使用以下服务和工具来监控 Amazon FSx 的 NetApp ONTAP 使用情况和活动：
+ **亚马逊 CloudWatch** — 您可以使用亚马逊监控文件系统 CloudWatch，亚马逊会自动收集来自 ONTAP 的原始数据并将其处理 FSx 为可读的指标。这些统计数据的保留期限为 15 个月，以便您可以访问历史信息，了解文件系统的运行状况。您还可以根据特定时间段中的指标设置警报，并根据相对于您指定的阈值的指标值执行一项或多项操作。
+ **ONTAP EMS 事件** — 您可以使用 ONTAP 的事件管理系统 (EMS) 生成的事件来监控您 FSx 的 ONTAP 文件系统。EMS 事件是文件系统中发生事件的通知，例如 iSCSI LUN 创建或自动调整卷大小。
+ **NetApp 数据基础设施见解** — 您可以使用 NetApp 数据基础设施见解服务监控 ONTAP 文件系统的配置、容量和性能指标。 FSx 您也可以根据指标条件创建警报。
+ **NetApp Harvest 和 NetApp Grafan** a — 你可以使用 NetApp Harvest 和 Grafana 监控 FSx 你的 ONTAP 文件系统。 NetApp NetApp Harvest 通过收集 ONTAP 文件系统的性能、容量和硬件指标来 FSx 监控 ONTAP 文件系统。Grafana 配备的控制面板中会显示收集的 Harvest 指标。
+ **AWS CloudTrail**— 您可以使用 AWS CloudTrail 将所有 Amazon 的 API 调用捕获 FSx 为事件。这些事件记录了用户、角色或 AWS 服务在 Amazon 中采取的操作 FSx。

**Topics**
+ [

# 使用 Amazon 进行监控 CloudWatch
](monitoring-cloudwatch.md)
+ [

# 监控 FSx for ONTAP EMS 事件
](ems-events.md)
+ [

# 使用 Data Infrastructure Insights 进行监控
](monitoring-cloud-insights.md)
+ [

# 使用 Harvest 和 Grafana 监控 FSx for ONTAP 文件系统
](monitoring-harvest-grafana.md)
+ [

# FSx 使用监控 ONTAP API 调用 AWS CloudTrail
](logging-using-cloudtrail-win.md)

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

您可以使用 Amazon 监控文件系统 CloudWatch，亚马逊会收集来自 Amazon for NetApp ONTAP 的原始数据，并将其处理 FSx 为可读的近乎实时的指标。这些统计数据会保留 15 个月，因此您可以访问历史信息来确定文件系统的运行情况。 FSx 对于 ONTAP，默认情况下，指标数据以 1 CloudWatch 分钟为周期自动发送到。有关的更多信息 CloudWatch，请参阅 [Amazon 是什么 CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 在《*亚马逊 CloudWatch 用户指南》*中。

**注意**  
默认情况下，ONTAP 以 1 分钟 FSx 为周期向发送指标数据，但以下指标以 5 分钟为间隔发送除外： CloudWatch   
`FileServerDiskThroughputBalance`
`FileServerDiskIopsBalance`

CloudWatch ONTAP FSx 的指标分为四个类别，这些类别由用于查询每个指标的维度定义。有关尺寸的更多信息，请参阅 *Amazon CloudWatch 用户指南*中的[尺寸](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension)。
+ **文件系统指标**： File-system-level性能和存储容量指标。
+ **文件服务器指标**： File-server-level指标。
+ **详细的文件系统聚合指标**：每个聚合的详细文件系统指标。
+ **详细的文件系统指标**：每个 File-system-level存储层（SSD 和容量池）的存储指标。
+ **卷指标**：各卷的性能和存储容量指标。
+ **详细的卷指标**：按存储层或数据类型（用户、快照或其他）划分的各卷的存储容量指标。

ONTAP 的所有 CloudWatch FSx 指标都将发布到中的`AWS/FSx`命名空间。 CloudWatch

**Topics**
+ [

# 访问 CloudWatch 指标
](accessingmetrics.md)
+ [

# 在 Amazon FSx 控制台中进行监控
](monitor-throughput-cloudwatch.md)
+ [

# 文件系统指标
](file-system-metrics.md)
+ [

# 第二代文件系统指标
](so-file-system-metrics.md)
+ [

# 卷指标
](volume-metrics.md)

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

您可以通过以下方式查看亚马逊 FSx 的亚马逊 CloudWatch 指标：
+ Amazon FSx 控制台
+ Amazon CloudWatch 控制台
+ 的 AWS Command Line Interface (AWS CLI) for CloudWatch
+ 这个 CloudWatch API

以下过程说明了如何使用 Amazon FSx 控制台查看文件系统的 CloudWatch 指标。

**使用 Amazon FSx 控制台查看文件系统的 CloudWatch 指标**

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

1. 在左侧导航窗格中，选择**文件系统**，然后选择要查看其指标的文件系统。

1. 在**摘要**页面上，从第二个面板中选择**监控和性能**，查看文件系统指标的图表。

**监控和性能**面板上有四个选项卡。
+ 选择 “**摘要**”（默认选项卡）以显示**文件系统活动的所有活动 CloudWatch **警告、警报和图表。
+ 选择**存储**可查看存储容量和利用率指标。
+ 选择**性能**，查看文件服务器和存储性能指标。
+ 选择**CloudWatch 警报**以查看为文件系统配置的所有警报的图表。

以下过程说明了如何使用 Amazon FSx 控制台查看您的交易量 CloudWatch 指标

**使用 Amazon FSx 控制台查看您的交易量 CloudWatch 指标**

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

1. 在左侧导航窗格中，选择**卷**，然后选择要查看其指标的卷。

1. 在**摘要**页面上，从第二个面板中选择**监控**（默认选项卡），查看卷的指标图表。

以下过程说明了如何使用 Amazon CloudWatch 控制台查看文件系统的 CloudWatch 指标。

**使用 Amazon CloudWatch 控制台查看指标**

1. 在文件系统的**摘要**页面上，从第二个面板中选择**监控和性能**，查看文件系统指标的图表。

1. 从要**在 Amazon CloudWatch 控制台中查看的图表右上角的操作菜单中选择在指标**中查看。这将在 Amazon CloudWatch 控制台中打开 “**指标**” 页面。

以下过程说明了如何将 ONTAP 文件系统 FSx 指标添加到 Amazon CloudWatch 控制台中的控制面板。

**向 Amazon CloudWatch 控制台添加指标**

1. 在 Amazon FSx 控制台的 “**监控和**性能**” 面板中选择一组指标（**摘要**、**存储**或性能**）。

1. 选择面板右上角的**添加到控制面板**。这将打开 Amazon CloudWatch 控制台。

1. 从列表中选择一个现有 CloudWatch 仪表板，或者创建一个新的仪表板。有关更多信息，请参阅[亚马逊* CloudWatch 用户指南中的使用亚马逊 CloudWatch *控制面板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

下述步骤介绍的是如何使用 AWS CLI访问文件系统的指标。

**要访问来自的指标 AWS CLI**
+ 使用带参数的 CloudWatch [list-Metrics CLI](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令。`--namespace "AWS/FSx"`有关更多信息，请参阅 [AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/)。

以下过程说明了如何使用 CloudWatch API 访问文件系统的指标。

**从 CloudWatch API 访问指标**
+ 调用 [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) API 操作 。有关更多信息，请参阅 [Amazon CloudWatch API 参考](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)。

# 在 Amazon FSx 控制台中进行监控
<a name="monitor-throughput-cloudwatch"></a>

Amazon 报告的 CloudWatch 指标 FSx 提供了有关您的 for ONTAP 文件系统和卷 FSx 的宝贵信息。

**Topics**
+ [

## 在 Amazon FSx 控制台中监控文件系统指标
](#fsxn-howtomonitor-fs)
+ [

## 在 Amazon FSx 控制台中监控交易量指标
](#fsxn-howtomonitor-vol)
+ [

# 性能警告和建议
](performance-insights-FSxN.md)
+ [

# 创建亚马逊 CloudWatch 警报以监控亚马逊 FSx
](creating_alarms.md)

## 在 Amazon FSx 控制台中监控文件系统指标
<a name="fsxn-howtomonitor-fs"></a>

您可以使用 Amazon FSx 控制台中文件系统控制面板上的 “**监控和性能**” 面板来查看下表中描述的指标。有关更多信息，请参阅 [访问 CloudWatch 指标](accessingmetrics.md)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/monitor-throughput-cloudwatch.html)

**注意**  
我们建议您将任何与性能相关的维度（例如网络利用率、CPU 利用率和 SSD IOPS 利用率）的吞吐能力平均利用率保持在 50% 以下。这样可以确保您有足够的备用吞吐能力来应对工作负载中的意外峰值以及任何后台存储操作（例如存储同步、数据分层或备份）。

## 在 Amazon FSx 控制台中监控交易量指标
<a name="fsxn-howtomonitor-vol"></a>

您可以在 Amazon FSx 控制台中查看卷控制面板上的 “**监控**” 面板，以查看其他性能指标。有关更多信息，请参阅 [访问 CloudWatch 指标](accessingmetrics.md)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/monitor-throughput-cloudwatch.html)

# 性能警告和建议
<a name="performance-insights-FSxN"></a>

FSx for ONTAP 每当其中一个 CloudWatch 指标接近或超过多个连续数据点的预定阈值时，就会显示针对这些指标的警告。这些警告会为您提供切实可行的建议，您可以使用这些建议来优化文件系统的性能。

可以在**监控和性能**控制面板的多个区域内访问警告。所有活动或最近的 Amazon FSx 性能警告以及为文件系统配置的处于 CloudWatch 警报状态的所有警报都将显示在 “**监控和性能**” 面板的 “**摘要**” 部分中。仪表板中显示指标图表的部分也会显示警告。

您可以为任何 Amazon FSx 指标创建 CloudWatch 警报。有关更多信息，请参阅 [创建亚马逊 CloudWatch 警报以监控亚马逊 FSx](creating_alarms.md)。

## 使用性能警告提高文件系统的性能
<a name="resolve-warnings"></a>

Amazon FSx 提供切实可行的建议，您可以使用这些建议来优化文件系统的性能。这些建议介绍了如何解决潜在的性能瓶颈。如果您希望继续进行活动，或者该活动对文件系统的性能造成了影响，您可以采取建议的操作。根据触发警告的指标，您可以通过增加文件系统的吞吐能力或存储容量来解决警告，如下表所述。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/performance-insights-FSxN.html)

**注意**  
在 SSD 缩减操作期间，由于该操作会消耗磁盘和网络资源，写入密集型工作负载可能会出现暂时的性能下降。为最大限度降低对性能的影响，在执行 SSD 缩减操作之前，应保持足够的余量，具体要求为：持续性工作负载不得长期占用超过 50% 的 CPU、50% 的磁盘吞吐量或 50% 的 SSD IOPS。  
 I/O 当客户端访问被重定向到新的磁盘组时，每个卷可能会出现最多 60 秒的短暂停顿。在操作的切换阶段出现这些暂停实属预期且正常。

有关文件系统的更多信息，请参阅[亚马逊 FSx 为 NetApp ONTAP 性能而设计性能](performance.md)。

# 创建亚马逊 CloudWatch 警报以监控亚马逊 FSx
<a name="creating_alarms"></a>

您可以创建一个 CloudWatch 警报，在警报状态发生变化时发送亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 消息。警报会在指定时间段内监控某个指标。根据需要，警报接下来会根据相对于给定阈值的指标的值在很多个时间段内执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或 Auto Scaling 策略的通知。

警报仅针对持续的状态变化调用操作。 CloudWatch 警报不会仅仅因为它们处于特定状态而调用操作；该状态必须已更改并保持了指定的时间段。您可以从亚马逊 FSx 控制台或亚马逊控制台创建警报。 CloudWatch 

以下过程介绍如何使用 Amazon FSx 控制台、 AWS Command Line Interface (AWS CLI) 和 API 创建警报。

**使用 Amazon FSx 控制台设置警报**

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

1. 在左侧导航窗格中，选择**文件系统**，然后选择要创建警报的文件系统。

1. 在**摘要**页面上，从第二个面板中选择**监控和性能**。

1. 选择 “**CloudWatch 警报**” 选项卡。

1. 选择**创建 CloudWatch 警报**。随后您将被重定向至 CloudWatch 控制台。

1. 选择**选择指标**。

1. 在 “**指标**” 部分中，选择**FSx**。

1. 选择一个指标类别：
   + **文件系统指标**
   + **详细的文件系统指标**
   + **卷指标**
   + **详细的卷指标**

1. 选中您要为其创建警报的指标，然后选择**选择指标**。

1. 在**条件**部分中，选择您希望用于该警报的条件，然后选择**下一步**。
**注意**  
在文件系统维护期间，可能不会发布指标。为防止不必要和误导性的警报条件更改，并配置警报使其能够应对丢失的数据点，请参阅 *Amazon CloudWatch 用户指南*中的[配置 CloudWatch 警报如何处理丢失的数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data)。

1. **如果您 CloudWatch 想在警报状态启动操作时向您发送电子邮件或 Amazon SNS 通知，请为警报状态触发选择警报状态。**

   为**向以下 SNS 主题发送通知**选择一个选项。如果您选择**创建主题**，则可以为新电子邮件订阅列表设置名称和电子邮件地址。此列表将保存下来并会在将来的警报字段中显示出来。选择**下一步**。
**注意**  
如果您使用**创建主题** 创建了一个新的 Amazon SNS 主题，那么电子邮件地址在接收通知之前必须通过验证。当报警器进入报警状态时，才发送电子邮件。如果在验证电子邮件地址之前此警报状态发生了变化，那么它们不会接收到通知。

1. 填写**警报名称**和**警报描述**字段，然后选择**下一步**。

1. 在**预览和创建**页面上，查看您即将创建的警报，然后选择**创建警报**。

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

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

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

1. 从步骤 6 开始**，按照使用 Amazon FSx 控制台设置警报**中的步骤进行操作。

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

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

# 文件系统指标
<a name="file-system-metrics"></a>

您 FSx 的 Amazon for NetApp ONTAP 文件系统指标分为**文件系统指标**或**详细文件系统指标**。
+ **文件系统指标**是单个文件系统的聚合性能和存储指标，采用单一维度，即 `FileSystemId`。这些指标会衡量文件系统的网络性能和存储容量使用情况。
+ **详细的文件系统指标**会衡量文件系统的存储容量以及各个存储层（例如，SSD 存储和容量池存储）中已使用的存储量。每个指标中都包含 `FileSystemId`、`StorageTier` 和 `DataType` 维度。

请注意以下有关亚马逊何时向其 FSx 发布这些指标的数据点的信息 CloudWatch：
+ 对于利用率指标（名称以*利用率*结尾的任何指标，例如 `NetworkThroughputUtilization`），每个活动文件服务器或聚合的每个周期都会发出一个数据点。例如，A FSx mazon 为每个活动文件服务器发布一个分钟指标`FileServerDiskIopsUtilization`，为每个聚合发布一个分钟指标。`DiskIopsUtilization`
+ 对于其他所有指标，每个周期发出一个数据点，这与所有活动文件服务器中的指标（例如文件服务器指标为 `DataReadBytes`）或所有聚合中的指标（例如存储指标为 `DiskReadBytes`）的总值相对应。

**Topics**
+ [

## 网络 I/O 指标
](#fsxn-network-IO-metrics)
+ [

## 文件服务器指标
](#fsxn-file-server-metrics)
+ [

## 磁盘 I/O 指标
](#fsxn-disk-IO-metrics)
+ [

## 存储容量指标
](#fsxn-storage-volume-metrics)
+ [

## 详细的文件系统指标
](#detailed-fs-metrics)

## 网络 I/O 指标
<a name="fsxn-network-IO-metrics"></a>

以上所有指标均采用同一维度，即 `FileSystemId`。


| 指标 | 说明 | 
| --- | --- | 
| NetworkThroughputUtilization |  文件系统的网络吞吐量利用率百分比。请注意，此指标反映了流量较高的方向，即入站或出站。要查看每个方向的单独指标，请参阅 NetworkReceivedBytes 和 NetworkSentBytes 指标。 `Average` 统计数据是指定时间段内文件系统的网络吞吐量的平均利用率。 `Minimum` 统计数据是指定时间段内文件系统的网络吞吐量的最低利用率。 `Maximum` 统计数据是指定时间段内文件系统的网络吞吐量的最高利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| NetworkSentBytes |  文件系统发送的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内文件系统发送的字节总数。 要计算指定时段内的任意统计数据的发送吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`  | 
| NetworkReceivedBytes |  文件系统收到的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内文件系统收到的字节总数。 要计算指定时段内的任意统计数据的接收吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`  | 
| DataReadBytes |  从客户端读取到文件系统的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内与读取操作相关的总字节数。要计算指定时段内的平均吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节 有效统计数据：`Sum`  | 
| DataWriteBytes |  从客户端写入文件系统的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内与写入操作相关的总字节数。要计算指定时段内的平均吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节 有效统计数据：`Sum`  | 
| DataReadOperations |  从客户端读取到文件系统的读取操作（网络 I/O）次数。 `Sum`统计数据是在指定时间段内发生的 I/O 操作总数。要计算指定时段内的每秒平均读取操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| DataWriteOperations |  从客户端写入到文件系统的写入操作（网络 I/O）次数。 `Sum`统计数据是在指定时间段内发生的 I/O 操作总数。要计算指定时段内的每秒平均写入操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| MetadataOperations |  从客户端到文件系统的元数据操作（网络 I/O）次数。 `Sum`统计数据是在指定时间段内发生的 I/O 操作总数。要计算指定时段内的每秒平均元数据操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| DataReadOperationTime |  因客户端访问文件系统内数据而在文件系统内进行读取操作（网络 I/O）所花费的总时间。 `Sum` 统计数据是指定时间段内进行读取操作所花费的总秒数。要计算某个时间段内的平均读取延迟，请将 `Sum` 统计数据除以同一时间段内的 `DataReadOperations` 指标的 `Sum`。 单位：秒 有效统计数据：`Sum`  | 
| DataWriteOperationTime |  因客户端访问文件系统内数据而在文件系统内完成写入操作（网络 I/O）所花费的总时间。 `Sum` 统计数据是指定时间段内进行写入操作所花费的总秒数。要计算某个时间段内的平均写入延迟，请将 `Sum` 统计数据除以同一时间段内的 `DataWriteOperations` 指标的 `Sum`。 单位：秒 有效统计数据：`Sum`  | 
| CapacityPoolReadBytes | 从文件系统的容量池层读取（网络 I/O）的字节数。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内从文件系统的容量池层读取的字节总数。要计算容量池的每秒字节数，请将 `Sum` 统计数据除以指定时间段内的秒数。单位：字节有效统计数据：`Sum` | 
| CapacityPoolReadOperations |  从文件系统的容量池层执行读取操作（网络 I/O）的次数。这将转化为容量池读取请求。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内从文件系统的容量池层执行读取操作的总次数。要计算容量池的每秒请求次数，请将 `Sum` 统计数据除以指定时间段内的秒数。 单位：计数 有效统计数据：`Sum`  | 
| CapacityPoolWriteBytes | 向文件系统的容量池层写入（网络 I/O）的字节数。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内向文件系统的容量池层写入的字节总数。要计算容量池的每秒字节数，请将 `Sum` 统计数据除以指定时间段内的秒数。单位：字节有效统计数据：`Sum` | 
| CapacityPoolWriteOperations |  向文件系统的容量池层执行写入操作（网络 I/O）的次数。这将转化为写入请求。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内向文件系统的容量池层执行写入操作的总次数。要计算容量池的每秒请求次数，请将 `Sum` 统计数据除以指定时间段内的秒数。 单位：计数 有效统计数据：`Sum`  | 

## 文件服务器指标
<a name="fsxn-file-server-metrics"></a>

以上所有指标均采用同一维度，即 `FileSystemId`。


| 指标 | 说明 | 
| --- | --- | 
| CPUUtilization |  文件系统 CPU 资源的利用率百分比。 `Average` 统计数据是指定时间段内文件系统的平均 CPU 利用率。 `Minimum` 统计数据是指定时间段内文件系统的最低 CPU 利用率。 `Maximum` 统计数据是指定时间段内文件系统的最高 CPU 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskThroughputUtilization |  您的文件服务器和主要层之间的磁盘吞吐量，占由吞吐能力决定的预配置限制的百分比。 `Average` 统计数据是指定时间段内文件服务器的磁盘吞吐量的平均利用率。 `Minimum` 统计数据是指定时间段内文件服务器的磁盘吞吐量的最低利用率。 `Maximum` 统计数据是指定时间段内文件服务器的磁盘吞吐量的最高利用率。 单位：百分比 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskThroughputBalance |  文件服务器和主要层之间磁盘吞吐量的可用突增点数百分比。这对于预配置的吞吐容量小于 512 MBps 的文件系统有效。 `Average` 统计数据是指定时间段内的平均可用突增平衡。 `Minimum` 统计数据是指定时间段内的最小可用突增平衡。 `Maximum` 统计数据是指定时间段内的最大可用突增平衡。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskIopsBalance |  您的文件服务器和主要层之间可用磁盘 IOPS 突增点数的百分比。这对于预配置的吞吐容量小于 512 MBps 的文件系统有效。 `Average` 统计数据是指定时间段内的平均可用突增平衡。 `Minimum` 统计数据是指定时间段内的最小可用突增平衡。 `Maximum` 统计数据是指定时间段内的最大可用突增平衡。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskIopsUtilization |  文件服务器的可用磁盘 IOPS 容量的 IOPS 利用率百分比。 `Average` 统计数据是指定时间段内文件系统的平均磁盘 IOPS 利用率。 `Minimum` 统计数据是指定时间段内文件系统的最小磁盘 IOPS 利用率。 `Maximum` 统计数据是指定时间段内文件系统的最大磁盘 IOPS 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerCacheHitRatio |   由文件系统 RAM 和 NVMe 缓存中的数据处理的所有读取请求的百分比。百分比越高意味着文件系统的读取缓存所提供的读取越多。  单位：百分比  `Average` 统计数据是指定时间段内文件系统的平均缓存命中率百分比。  `Minimum` 统计数据是指定时间段内文件系统的最低缓存命中率百分比。  `Maximum` 统计数据是指定时间段内文件系统的最高缓存命中率百分比。  有效统计数据：`Average`、`Minimum` 和 `Maximum`   | 

## 磁盘 I/O 指标
<a name="fsxn-disk-IO-metrics"></a>

以上所有指标均采用同一维度，即 `FileSystemId`。


| 指标 | 说明 | 
| --- | --- | 
| DiskReadBytes |  从任何磁盘读取到文件系统的主要层的字节数（磁盘 I/O）。 `Sum` 统计数据是指定时间段内从文件系统读取的字节总数。 要计算指定时段内的任意统计数据的读取磁盘吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`  | 
| DiskWriteBytes |  从任何磁盘写入到文件系统的主要层的字节数（磁盘 I/O）。 `Sum` 统计数据是指定时间段内从文件系统写入的字节总数。 要计算指定时段内的任意统计数据的写入磁盘吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`  | 
| DiskIopsUtilization |  您的文件服务器和存储卷之间的磁盘 IOPS，占由主要层预配置的磁盘 IOPS 限制的百分比。 `Average` 统计数据是指定时间段内文件系统的平均磁盘 IOPS 利用率。 `Minimum` 统计数据是指定时间段内文件系统的最小磁盘 IOPS 利用率。 `Maximum` 统计数据是指定时间段内文件系统的最大磁盘 IOPS 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| DiskReadOperations |  从文件系统的主要层执行读取操作（网络 I/O）的次数。 `Sum` 统计数据是指定时间段内从主要层执行读取操作的总次数。 单位：计数  有效统计数据：`Sum`  | 
| DiskWriteOperations |  向文件系统的主要层执行写入操作（网络 I/O）的次数。 `Sum` 统计数据是指定时间段内向主要层执行写入操作的总次数。 单位：计数  有效统计数据：`Sum`  | 

## 存储容量指标
<a name="fsxn-storage-volume-metrics"></a>

以上所有指标均采用同一维度，即 `FileSystemId`。


| 指标 | 说明 | 
| --- | --- | 
| StorageEfficiencySavings |  通过存储效率功能（压缩、重复数据删除和压缩）节省的字节。 `Average` 统计数据是指定时间段内的存储效率带来的平均节省量。要计算存储效率节省在一分钟内占所有数据存储的百分比，请使用 `StorageEfficiencySavings` 除以 `StorageEfficiencySavings` 和 `StorageUsed` 文件系统指标（使用 `StorageUsed` 的统计数据 `Sum`）之和。 `Minimum` 统计数据是指定时间段内的存储效率带来的最小节省量。 `Maximum` 统计数据是指定时间段内的存储效率带来的最大节省量。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`   | 
| StorageUsed |  存储在文件系统上的物理数据总量，包括主要（SSD）层和容量池层。该指标包括存储效率功能（例如数据压缩和重复数据删除）带来的节省。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| LogicalDataStored |  存储在文件系统上的逻辑数据总量，包括 SSD 层和容量池层。该指标包括快照的总逻辑大小 FlexClones，但不包括通过压缩、压缩和重复数据删除实现的存储效率节约。 要计算存储效率带来的节省（以字节为单位），请取某个给定时间段内的 `StorageUsed` 的 `Average`，然后从同一时间段的 `LogicalDataStored` 的 `Average` 中减去此值。 要计算存储效率带来的节省占逻辑数据总大小的百分比，请取某个给定时间段内的 `StorageUsed` 的 `Average`，然后从同一时间段的 `LogicalDataStored` 的 `Average` 中减去此值。然后使用差值除以同一时间段内的 `LogicalDataStored` 的 `Average`。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 

## 详细的文件系统指标
<a name="detailed-fs-metrics"></a>

详细的文件系统指标是每个存储层的详细存储利用率指标。详细的文件系统指标均包含维度 `FileSystemId`、`StorageTier` 和 `DataType`。
+ `StorageTier` 维度指示的是该指标衡量的存储层，可能的值为 `SSD` 和 `StandardCapacityPool`。
+ `DataType` 维度指示的是该指标衡量的数据的类型，可能的值为 `All`。

给定指标和维度键值对的每个唯一组合都占有一行，其中描述该组合的衡量内容。


| 指标 | 说明 | 
| --- | --- | 
| StorageCapacityUtilization |  文件系统的每个聚合的存储容量利用率。对于文件系统的每个聚合，每分钟都会发出一个指标。 `Average` 统计数据是指定时间段内文件系统性能层的平均存储容量利用率。 `Minimum` 统计数据是指定时间段内文件系统性能层的最低存储容量利用率。 `Maximum` 统计数据是指定时间段内文件系统性能层的最高存储容量利用率。 单位：百分比 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| StorageCapacity |  主要（SSD）层的总存储容量。 单位：字节 有效统计数据：`Maximum`  | 
| StorageUsed |  特定于存储层的已使用的物理存储容量（以字节为单位）。该值包括存储效率功能（例如数据压缩和重复数据删除）带来的节省。`StorageTier` 的有效维度值为 `SSD` 和 `StandardCapacityPool`，对应该指标衡量的存储层。此指标还需要带有 `All` 值的维度 `DataType`。 `Average`、`Minimum` 和 `Maximum` 统计数据是给定时间段内各层的存储消耗（以字节为单位）。 要计算主要（SSD）存储层的存储容量利用率，请使用同一时间段内的 `Maximum` `StorageCapacity` 除以这些统计数据中的任意值，并且 `StorageTier` 维度等于 `SSD`。 要计算主要（SSD）存储层的免费存储容量（以字节为单位），请使用同一时间段内的 `Maximum` `StorageCapacity` 除以这些统计数据中的任意值，并且 `StorageTier` 维度等于 `SSD`。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 

# 第二代文件系统指标
<a name="so-file-system-metrics"></a>

为 ONTAP 第二代文件系统 FSx 提供了以下指标。对于指标，每个 HA 对和每个聚合（存储利用率指标）都会发出一个数据点。

**注意**  
如果文件系统具有多个 HA 对，还可以使用[单 HA 对文件系统指标](file-system-metrics.md)和[卷指标](volume-metrics.md)。

**Topics**
+ [

## 网络 I/O 指标
](#so-network-IO-metrics)
+ [

## 文件服务器指标
](#so-file-server-metrics)
+ [

## 磁盘 I/O 指标
](#so-disk-IO-metrics)
+ [

## 详细的文件系统指标
](#so-detailed-fs-metrics)

## 网络 I/O 指标
<a name="so-network-IO-metrics"></a>

以上所有指标均使用 `FileSystemId` 和 `FileServer` 两个维度。
+ `FileSystemId`— 您的文件系统的 AWS 资源 ID。
+ `FileServer` - ONTAP 中文件服务器（或*节点*）的名称（例如 `FsxId01234567890abcdef-01`）。奇数文件服务器为首选文件服务器（也就是说，除非文件系统已失效转移至辅助文件服务器，否则将由这些服务器提供流量），而偶数文件服务器为辅助文件服务器（也就是说，它们仅在伙伴服务器不可用时提供流量）。因此，辅助文件服务器的利用率通常低于首选文件服务器。


| 指标 | 说明 | 
| --- | --- | 
| NetworkThroughputUtilization |  网络吞吐量利用率，用文件系统可用网络吞吐量的百分比表示。该指标等于 `NetworkSentBytes` 与 `NetworkReceivedBytes` 的最大值，表示为文件系统中一个 HA 对的网络吞吐能力的百分比。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Average` 统计数据是给定文件服务器在指定时间段内的平均网络吞吐量利用率。 `Minimum` 统计数据是给定文件服务器在指定时间段内一分钟的最低网络吞吐量利用率。 `Maximum` 统计数据是给定文件服务器在指定时间段内一分钟的最高网络吞吐量利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| NetworkSentBytes |  文件系统发送的字节数（网络 I/O）。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Sum` 统计数据是给定文件服务器在指定时间段内通过网络发送的字节总数。 `Average` 统计数据是给定文件服务器在指定时间段内通过网络发送的平均字节数。 `Minimum` 统计数据是给定文件服务器在指定时间段内通过网络发送的最低字节数。 `Maximum` 统计数据是给定文件服务器在指定时间段内通过网络发送的最高字节数。 要计算指定时段内的任意统计数据的发送吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`、`Average`、`Minimum` 和 `Maximum`  | 
| NetworkReceivedBytes |  文件系统收到的字节数（网络 I/O）。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Sum` 统计数据是给定文件服务器在指定时间段内通过网络接收的字节总数。 `Average` 统计数据是给定文件服务器在指定时间段内每分钟通过网络接收的平均字节数。 `Minimum` 统计数据是给定文件服务器在指定时间段内每分钟通过网络接收的最低字节数。 `Maximum` 统计数据是给定文件服务器在指定时间段内每分钟通过网络接收的最高字节数。 要计算此时段内的任意统计数据的接收吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`、`Average`、`Minimum` 和 `Maximum`  | 

## 文件服务器指标
<a name="so-file-server-metrics"></a>

以上所有指标均使用 `FileSystemId` 和 `FileServer` 两个维度。


| 指标 | 说明 | 
| --- | --- | 
| CPUUtilization |  文件系统 CPU 资源的利用率百分比。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Average` 统计数据是指定时间段内文件系统的平均 CPU 利用率。 `Minimum` 统计数据是给定文件服务器在指定时间段内的最低 CPU 利用率。 `Maximum` 统计数据是给定文件服务器在指定时间段内的最高 CPU 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskThroughputUtilization |  文件服务器与聚合之间的磁盘吞吐量，表示为由吞吐能力决定的预调配限制的百分比。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。该指标等于 `DiskReadBytes` 与 `DiskWriteBytes` 之和，表示为文件系统中一个 HA 对的文件服务器磁盘吞吐能力的百分比。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Average` 统计数据是给定文件服务器在指定时间段内的平均文件服务器磁盘吞吐量利用率。 `Minimum` 统计数据是给定文件服务器在指定时间段内的最低文件服务器磁盘吞吐量利用率。 `Maximum` 统计数据是给定文件服务器在指定时间段内的最高文件服务器磁盘吞吐量利用率。 单位：百分比 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerDiskIopsUtilization |  文件服务器的可用磁盘 IOPS 容量的 IOPS 利用率，表示为磁盘 IOPS 限制的百分比。这与 `DiskIopsUtilization` 区别在于，磁盘 IOPS 利用率超出了文件服务器可以处理的最大值，而不是预置的磁盘 IOPS。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个文件服务器，每分钟都会发出一个指标。 `Average` 统计数据是指定时间段内给定文件服务器的平均磁盘 IOPS 利用率。 `Minimum` 统计数据是指定时间段内给定文件服务器的最低磁盘 IOPS 利用率。 `Maximum` 统计数据是指定时间段内给定文件服务器的最高磁盘 IOPS 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| FileServerCacheHitRatio |  由驻留在文件系统 RAM 中的数据或每个 HA 对（例如 HA 对中的活动文件服务器）的 NVMe 缓存中的数据处理的所有读取请求的百分比。百分比越高表示缓存读取量占总读取量的比例越高。所有任务 I/O 都考虑在内，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个文件服务器，每分钟都会发出一个指标。  单位：百分比  `Average` 统计数据是指定时间段内文件系统的一个 HA 对的平均缓存命中率。  `Minimum` 统计数据是指定时间段内文件系统的一个 HA 对的最低缓存命中率。  `Maximum` 统计数据是指定时间段内文件系统的一个 HA 对的最高缓存命中率。 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 

## 磁盘 I/O 指标
<a name="so-disk-IO-metrics"></a>

以上所有指标均使用 `FileSystemId` 和 `Aggregate` 两个维度。
+ `FileSystemId`— 您的文件系统的 AWS 资源 ID。
+ `Aggregate` - 文件系统的性能层由称为*聚合*的多个存储池组成。每个 HA 对都有一个聚合。例如，在一个 HA 对中，聚合 `aggr1` 映射到文件服务器 `FsxId01234567890abcdef-01`（活动文件服务器）和文件服务器 `FsxId01234567890abcdef-02`（辅助文件服务器）。


| 指标 | 说明 | 
| --- | --- | 
| DiskReadBytes |  从此聚合中进行任何磁盘读取的字节数（磁盘 IO）。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个聚合，每分钟都会发出一个指标。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 `Sum` 统计数据是指定时间段内每分钟从给定聚合读取的字节总数。 `Average` 统计数据是指定时间段内每分钟从给定聚合读取的平均字节数。 `Minimum` 统计数据是指定时间段内每分钟从给定聚合读取的最低字节数。 `Maximum` 统计数据是指定时间段内每分钟从给定聚合读取的最高字节数。 要计算此时段内的任意统计数据的读取磁盘吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`、`Average`、`Minimum` 和 `Maximum`  | 
| DiskWriteBytes |  向此聚合进行任何磁盘写入的字节数（磁盘 IO）。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个聚合，每分钟都会发出一个指标。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 `Sum` 统计数据是指定时间段内从给定聚合写入的字节总数。 `Average` 统计数据是指定时间段内每分钟向给定聚合写入的平均字节数。 `Minimum` 统计数据是指定时间段内每分钟向给定聚合写入的最低字节数。 `Maximum` 统计数据是指定时间段内每分钟向给定聚合写入的最高字节数。 要计算指定时段内的任意统计数据的写入磁盘吞吐量（每秒字节数），请将统计数据除以该时段的秒数。 单位：字节  有效统计数据：`Sum`、`Average`、`Minimum` 和 `Maximum`  | 
| DiskIopsUtilization |  一个聚合的磁盘 IOPS 利用率，表示为聚合的磁盘 IOPS 限制的百分比（即文件系统的总 IOPS 除以文件系统的 HA 对数）。这与 `FileServerDiskIopsUtilization` 的区别在于，它是预置磁盘 IOPS 相对于预置 IOPS 限制的利用率，而不是文件服务器支持的最大磁盘 IOPS（即由每个 HA 对配置的吞吐能力决定的值）。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个聚合，每分钟都会发出一个指标。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 `Average` 统计数据是指定时间段内给定聚合的平均磁盘 IOPS 利用率。 `Minimum` 统计数据是指定时间段内给定聚合的最低磁盘 IOPS 利用率。 `Maximum` 统计数据是指定时间段内给定聚合的最高磁盘 IOPS 利用率。 单位：百分比  有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| DiskReadOperations |  对此聚合执行读取操作（磁盘 IO）的次数。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个聚合，每分钟都会发出一个指标。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 `Sum` 统计数据是给定聚合在指定时间段内执行读取操作的总次数。 `Average` 统计数据是指定时间段内每分钟由给定聚合执行的平均读取操作次数。 `Minimum` 统计数据是指定时间段内每分钟由给定聚合执行的最低读取操作次数。 `Maximum` 统计数据是指定时间段内每分钟由给定聚合执行的最高读取操作次数。 要计算一段时间内的平均磁盘 IOPS，可使用 `Average` 统计数据并将结果除以 60（秒）。 单位：计数  有效统计数据：`Sum`、`Average`、`Minimum` 和 `Maximum`  | 
| DiskWriteOperations |  对此聚合执行写入操作（磁盘 IO）的次数。此指标将考虑所有流量，包括后台任务（例如 SnapMirror分层和备份）。对于文件系统的每个聚合，每分钟都会发出一个指标。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 `Sum` 统计数据是给定聚合在指定时间段内执行写入操作的总次数。 `Average` 统计数据是指定时间段内每分钟由给定聚合执行的平均写入操作次数。 要计算一段时间内的平均磁盘 IOPS，可使用 `Average` 统计数据并将结果除以 60（秒）。 单位：计数  有效统计数据：`Sum` 和 `Average`  | 

## 详细的文件系统指标
<a name="so-detailed-fs-metrics"></a>

详细的文件系统指标是每个存储层的详细存储利用率指标。详细的文件系统指标有 `FileSystemId`、`StorageTier` 和 `DataType` 维度，或 `FileSystemId`、`StorageTier`、`DataType` 和 `Aggregate` 维度。
+ 未提供 `Aggregate` 维度时，指标适用于整个文件系统。`StorageUsed` 和 `StorageCapacity` 指标每分钟都有一个数据点，对应于文件系统的总存储使用量（每个存储层）和总存储容量（SSD 层）。同时，`StorageCapacityUtilization` 指标每分钟为每个聚合发出一个指标。
+ 提供 `Aggregate` 维度时，指标适用于各个聚合。

维度的含义如下：
+ `FileSystemId`— 您的文件系统的 AWS 资源 ID。
+ `Aggregate` - 文件系统的性能层由称为*聚合*的多个存储池组成。每个 HA 对都有一个聚合。例如，在一个 HA 对中，聚合 `aggr1` 映射到文件服务器 `FsxId01234567890abcdef-01`（活动文件服务器）和文件服务器 `FsxId01234567890abcdef-02`（辅助文件服务器）。
+ `StorageTier` - 指示该指标衡量的存储层，可能的值为 `SSD` 和 `StandardCapacityPool`。
+ `DataType` - 指示该指标衡量的数据的类型，可能的值为 `All`。

给定指标和维度键值对的每个唯一组合都占有一行，其中描述该组合的衡量内容。


| 指标 | 说明 | 
| --- | --- | 
| StorageCapacityUtilization |  给定文件系统聚合的存储容量利用率。对于文件系统的每个聚合，每分钟都会发出一个指标。 `Average` 统计数据是指定时间段内给定聚合的平均存储容量利用率。 `Minimum` 统计数据是指定时间段内给定聚合的最小存储容量利用率。 `Maximum` 统计数据是指定时间段内给定聚合的最大存储容量利用率。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 单位：百分比 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| StorageCapacity |  给定文件系统聚合的存储容量。对于文件系统的每个聚合，每分钟都会发出一个指标。 `Average` 统计数据是指定时间段内给定聚合的平均存储容量。 `Minimum` 统计数据是指定时间段内给定聚合的最小存储容量。 `Maximum` 统计数据是指定时间段内给定聚合的最大存储容量。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| StorageUsed |  特定于存储层的已使用的物理存储容量（以字节为单位）。该值包括存储效率功能（例如数据压缩和重复数据删除）带来的节省。`StorageTier` 的有效维度值为 `SSD` 和 `StandardCapacityPool`，对应该指标衡量的存储层。对于文件系统的每个聚合，每分钟都会发出一个指标。 `Average` 统计数据是给定聚合在指定时间内在给定存储层上消耗的平均物理存储容量。 `Minimum` 统计数据是给定聚合在指定时间内在给定存储层上消耗的最小物理存储容量。 `Maximum` 统计数据是给定聚合在指定时间内在给定存储层上消耗的最大物理存储容量。 在 SSD 容量缩减操作期间，该指标将同时针对原始聚合（`aggr1_old`）和新的较小聚合（`aggr1`）进行报告。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 

# 卷指标
<a name="volume-metrics"></a>

您 FSx 的 Amazon for NetApp ONTAP 文件系统可以有一个或多个卷来存储您的数据。这些卷中的每一个都有一组 CloudWatch 指标，分为**交易量指标**或**详细交易量指标**。
+ **卷指标**是每个卷的性能和存储指标，分为 `FileSystemId` 和 `VolumeId` 两个维度。`FileSystemId` 会映射到该卷所属的文件系统。
+ **详细的容量 per-storage-tier指标**是使用维度（可能的值为和）和使用`StorageTier`维度（可能的值为、`SSD`和`StandardCapacityPool`）来衡量每`DataType`层数据类型的存储消耗量的指标（可能的值为`User``Snapshot`、和`Other`）。这些指标使用 `FileSystemId`、`VolumeId`、`StorageTier` 和 `DataType` 维度。

**Topics**
+ [

## 网络 I/O 指标
](#fsxn-vol-network-IO-metrics)
+ [

## 存储容量指标
](#fsxn-vol-storage-volume-metrics)
+ [

## 详细的卷指标
](#detailed-vol-metrics)

## 网络 I/O 指标
<a name="fsxn-vol-network-IO-metrics"></a>

以上所有指标均使用 `FileSystemId` 和 `VolumeId` 两个维度。


| 指标 | 说明 | 
| --- | --- | 
| DataReadBytes |  客户端从卷读取的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内与读取操作相关的总字节数。要计算指定时段内的平均吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节 有效统计数据：`Sum`  | 
| DataWriteBytes |  客户端写入卷的字节数（网络 I/O）。 `Sum` 统计数据是指定时间段内与写入操作相关的总字节数。要计算指定时段内的平均吞吐量（每秒字节数），请将 `Sum` 统计数据除以该时段的秒数。 单位：字节 有效统计数据：`Sum`  | 
| DataReadOperations |  客户端在卷上执行读取操作（网络 I/O）的次数。 `Sum` 统计数据是指定时间段内执行读取操作的总次数。要计算指定时段内的每秒平均读取操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| DataWriteOperations |  客户端在卷上执行写入操作（网络 I/O）的次数。 `Sum` 统计数据是指定时间段内执行写入操作的总次数。要计算指定时段内的每秒平均写入操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| MetadataOperations |  从客户端的元数据活动到卷的 I/O 操作（网络 I/O）数量。 `Sum` 统计数据是指定时间段内执行元数据操作的总次数。要计算指定时段内的每秒平均元数据操作数，请将 `Sum` 统计数据除以该时段的秒数。 单位：计数 有效统计数据：`Sum`  | 
| DataReadOperationTime |  因客户端访问卷内数据而在卷内进行读取操作（网络 I/O）所花费的总时间。 `Sum` 统计数据是指定时间段内进行读取操作所花费的总秒数。要计算某个时间段内的平均读取延迟，请将 `Sum` 统计数据除以同一时间段内的 `DataReadOperations` 指标的 `Sum`。 单位：秒 有效统计数据：`Sum`  | 
| DataWriteOperationTime |  因客户端访问卷内数据而在卷内完成写入操作（网络 I/O）所花费的总时间。 `Sum` 统计数据是指定时间段内进行写入操作所花费的总秒数。要计算某个时间段内的平均写入延迟，请将 `Sum` 统计数据除以同一时间段内的 `DataWriteOperations` 指标的 `Sum`。 单位：秒 有效统计数据：`Sum`  | 
| MetadataOperationTime |  因客户端访问卷内数据而在卷内完成元数据操作（网络 I/O）所花费的总时间。 `Sum` 统计数据是指定时间段内进行读取操作所花费的总秒数。要计算某个时间段内的平均延迟，请将 `Sum` 统计数据除以同一时间段内的 `MetadataOperations` 的 `Sum`。 单位：秒 有效统计数据：`Sum`  | 
| CapacityPoolReadBytes | 从卷的容量池层读取（网络 I/O）的字节数。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内从卷的容量池层读取的字节总数。要计算容量池的每秒字节数，请将 `Sum` 统计数据除以指定时间段内的秒数。单位：字节有效统计数据：`Sum` | 
| CapacityPoolReadOperations |  从卷的容量池层进行读取操作（网络 I/O）的次数。这将转化为容量池读取请求。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内从卷的容量池层执行读取操作的总次数。要计算容量池的每秒请求次数，请将 `Sum` 统计数据除以指定时间段内的秒数。 单位：计数 有效统计数据：`Sum`  | 
| CapacityPoolWriteBytes | 向卷的容量池层写入（网络 I/O）的字节数。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内向卷的容量池层写入的字节总数。要计算容量池的每秒字节数，请将 `Sum` 统计数据除以指定时间段内的秒数。 单位：字节 有效统计数据：`Sum` | 
| CapacityPoolWriteOperations |  向卷的容量池层执行写入操作（网络 I/O）的次数。这将转化为写入请求。 为确保数据完整性，ONTAP 会在执行写入操作后立即对容量池执行读取操作。 `Sum` 统计数据是指定时间段内向卷的容量池层执行写入操作的总次数。要计算容量池的每秒请求次数，请将 `Sum` 统计数据除以指定时间段内的秒数。 单位：计数 有效统计数据：`Sum`  | 

## 存储容量指标
<a name="fsxn-vol-storage-volume-metrics"></a>

以上所有指标均使用 `FileSystemId` 和 `VolumeId` 两个维度。


| 指标 | 说明 | 
| --- | --- | 
| StorageCapacity |  卷的大小（以字节计算）。 单位：字节 有效统计数据：`Maximum`  | 
| StorageUsed |  卷中已使用逻辑存储容量。 单位：字节 有效统计数据：`Average`  | 
| StorageCapacityUtilization |  卷的存储容量利用率。 单位：百分比 有效统计数据：`Average`  | 
| FilesUsed |  卷中已使用的文件（文件数或索引节点数）。 单位：计数 有效统计数据：`Average`  | 
| FilesCapacity |  可在卷上创建的索引节点总数。 单位：计数 有效统计数据：`Maximum`  | 

## 详细的卷指标
<a name="detailed-vol-metrics"></a>

相较于卷指标，详细的卷指标使用的维度更多，因此可以更为精细地衡量数据。详细的卷指标包含维度 `FileSystemId`、`VolumeId`、`StorageTier` 和 `DataType`。
+ `StorageTier` 维度指示的是该指标衡量的存储层，可能的值为 `All`、`SSD` 和 `StandardCapacityPool`。
+ `DataType` 维度指示的是该指标衡量的数据的类型，可能的值为 `All`、`User`、`Snapshot` 和 `Other`。

下表定义了所列维度的 `StorageUsed` 指标的衡量内容。


| 指标 | 说明 | 
| --- | --- | 
| StorageUsed |  已使用的逻辑空间量（以字节为单位）。该指标根据与其共同使用的维度来衡量不同类型的空间消耗。当将 `StorageTier` 设置为 `SSD` 或 `StandardCapacityPool`，且将 `DataType` 设置为 `All` 时，此指标将分别衡量该卷在 SSD 和容量池层中的逻辑空间使用情况。将 `DataType` 维度设置为 `User`、`Snapshot` 或 `Other`，且将 `StorageTier` 设置为 `All` 时，此指标会衡量每种相应的数据类型的逻辑空间使用情况。`Snapshot` 数据消耗包括快照储备，默认为卷大小的 5%。 单位：字节 有效统计数据：`Average`、`Minimum` 和 `Maximum`  | 
| StorageCapacityUtilization |  卷中已使用物理磁盘空间的百分比。 单位：百分比 有效统计数据：`Maximum`  | 

# 监控 FSx for ONTAP EMS 事件
<a name="ems-events"></a>

您可以使用 NetAPP ONTAP 的本机事件管理系统（EMS）监控 FSx for ONTAP 文件系统事件。您可以使用 NetApp ONTAP CLI 查看这些事件。

**Topics**
+ [

## EMS 事件概述
](#ems-events-overview)
+ [

## 查看 EMS 事件
](#view-ems-events)
+ [

## EMS 事件转发到 Syslog 服务器
](#ems-log-forwarding)

## EMS 事件概述
<a name="ems-events-overview"></a>

EMS 事件是自动生成的通知，当 FSx for ONTAP 文件系统中出现预定义的情况时，会提醒您。这些通知可让您随时了解情况，以便预防或纠正问题，避免导致更大问题，例如存储虚拟机（SVM）身份验证问题或卷已满。

默认情况下，事件会记录在事件管理系统日志中。使用 EMS 可以监控诸如用户密码更改、FlexGroup 中接近满容量的部分、逻辑单元号（LUN）手动联机或脱机或自动调整卷大小之类的事件。

有关 ONTAP EMS 事件的更多信息，请参阅 NetApp ONTAP 文档中心中的 [ONTAP EMS 参考](https://docs.netapp.com/us-en/ontap-ems-9121/index.html)。要显示事件类别，请使用文档的左侧导航窗格。

**注意**  
仅部分 ONTAP EMS 消息适用于 FSx for ONTAP 文件系统。要查看可用 ONTAP EMS 消息的列表，请使用 NetApp ONTAP CLI 中的 [event catalog show](https://docs.netapp.com/us-en/ontap-cli-9131/event-catalog-show.html) 命令。

EMS 事件描述包含事件名称、严重性、可能的原因、日志消息和纠正措施，可帮助您决定如何响应。例如，当自动调整卷大小失败时即会发生 [wafl.vol.autoSize.fail](https://docs.netapp.com/us-en/ontap-ems-9121/wafl-vol-events.html#wafl-vol-autosize-fail) 事件。根据事件描述，纠正措施是在设置自动调整大小的同时增加最大卷的大小。

## 查看 EMS 事件
<a name="view-ems-events"></a>

使用 NetApp ONTAP CLI 中的 [event log show](https://docs.netapp.com/us-en/ontap-cli-9131/event-log-show.html) 命令显示事件日志的内容。如果您在文件系统上具有 `fsxadmin` 角色，则此命令适用。命令语法如下所示：

```
event log show [event_options]
```

最近的事件列在最前面。默认情况下，此命令会显示 `EMERGENCY`、`ALERT`、和 `ERROR` 严重性等级事件，其中包含以下信息：
+ **时间** – 事件的时间。
+ **节点** –发生事件的节点。
+ **严重性** –事件的严重性等级。要显示 `NOTICE`、`INFORMATIONAL`、或 `DEBUG` 严重性等级事件，请使用 `-severity` 选项。
+ **事件** –事件名称和消息。

要显示有关事件的详细信息，请使用下表中列出的一个或多个事件选项。


| 事件选项 | 描述 | 
| --- | --- | 
|  `-detail`  |  显示其他事件信息。  | 
|  `-detailtime`  |  按反向时间顺序显示详细事件信息。  | 
|  `-instance`  |  显示有关所有字段的详细信息。  | 
|  `-node nodename\|local`  |  显示您指定的节点的事件列表。使用此选项和 `-seqnum` 显示详细信息。  | 
| `-seqnum sequence_number` | 选择序列中与该数字匹配的事件。与 `-node` 一起使用可显示详细信息。 | 
| `-time MM/DD/YYYY HH:MM:SS` | 选择在此特定时间发生的事件。使用格式：MM/DD/YYYY HH:MM:SS [\$1- HH:MM]。您可以通过在两个时间语句之间使用 `..` 运算符来指定时间范围。 <pre>event log show -time "04/17/2023 05:55:00".."04/17/2023 06:10:00"</pre> 比较时间值是相对于运行命令时的当前时间而言的。以下示例说明了如何仅显示最近一分钟内发生的事件： <pre>event log show -time >1m</pre> 此选项的月份和日期字段不使用零填充。这些字段可以是个位数；例如，`4/1/2023 06:45:00`。  | 
|  `-severity sev_level`  |  选择与 *sev\$1level* 值匹配的事件，该值必须为以下类型之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/ems-events.html) 要显示所有事件，请按如下方式指定严重性： <pre>event log show -severity <=DEBUG</pre>  | 
|  `-ems-severity ems_sev_level`  |  选择与 *ems\$1sev\$1level* 值匹配的事件，该值必须为以下类型之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/ems-events.html) 要显示所有事件，请按如下方式指定严重性： <pre>event log show -ems-severity <=DEBUG</pre>  | 
|  `-source text`  |  选择与*文本*值匹配的事件。源代码通常是软件模块。  | 
|  `-message-name message_name`  |  选择与 *message\$1name* 值匹配的事件。消息名称是描述性的，因此按消息名称筛选输出会显示特定类型的消息。  | 
|  `-event text`  |  选择与*文本*值匹配的事件。`event` 字段包含事件全文，包括任何参数。  | 
|  `-kernel-generation-num integer`  |  选择与*整数*值匹配的事件。仅来自内核的事件具有内核生成号。  | 
|  `-kernel-sequence-num integer`  |  选择与*整数*值匹配的事件。仅来自内核的事件具有内核序列号。  | 
|  `-action text`  |  选择与*文本*值匹配的事件。`action` 字段描述了您必须采取哪些纠正措施（如果有）来纠正这种情况。  | 
|  `-description text`  |  选择与*文本*值匹配的事件。`description` 字段描述了事件发生的原因及其含义。  | 
|  `-filter-name filter_name`  |  选择与 *filter\$1name* 值匹配的事件。只有与该值匹配的现有筛选条件所包含的事件才会显示。  | 
|  `-fields fieldname,...`  |  表示命令输出中还包括指定的一个或多个字段。您可以使用 `-fields ?` 选择想要指定的字段。  | 

**查看 EMS 事件**

1. 要通过 SSH 进入文件系统的 NetApp ONTAP CLI，请按照《适用于 NetApp ONTAP 的 Amazon FSx 用户指南》**中 [使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli) 部分中记录的步骤进行操作。

   ```
   ssh fsxadmin@file-system-management-endpoint-ip-address
   ```

1. 使用 `event log show` 命令显示事件日志的内容。

   ```
   ::> event log show
   Time                Node          Severity      Event
   ------------------- ------------- ------------- ------------------------
   6/30/2023 13:54:19  node1         NOTICE        vifmgr.portup: A link up event was received on node node1, port e0a.
   6/30/2023 13:54:19  node1         NOTICE        vifmgr.portup: A link up event was received on node node1, port e0d.
   ```

有关 `event log show` 命令返回的 EMS 事件的信息，请参阅 NetApp ONTAP 文档中心的 [ONTAP EMS 参考](https://docs.netapp.com/us-en/ontap-ems-9121/index.html)。

## EMS 事件转发到 Syslog 服务器
<a name="ems-log-forwarding"></a>

您可以将 EMS 事件配置为转发通知至 Syslog 服务器。EMS 事件转发用于实时监控文件系统，以确定和隔离各种问题的根本原因。如果您的环境还没有用于处理事件通知的 Syslog 服务器，必须先创建一个。必须在文件系统上配置 DNS 才能解析 Syslog 服务器名称。

**注意**  
Syslog 目的地必须位于文件系统使用的主子网中。

**将 EMS 事件配置为转发通知至 Syslog 服务器。**

1.  要通过 SSH 进入文件系统的 NetApp ONTAP CLI，请按照《适用于 NetApp ONTAP 的 Amazon FSx 用户指南》**中 [使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli) 部分中记录的步骤进行操作。

   ```
   ssh fsxadmin@file-system-management-endpoint-ip-address
   ```

1. 使用 [event notification destination create](https://docs.netapp.com/us-en/ontap-cli-9131/event-notification-destination-create.html) 命令，创建类型为 `syslog` 的事件通知目的地，并指定以下属性：
   + `dest_name` - 要创建的通知目的地的名称（例如，`syslog-ems`）。事件通知目的地名称必须有 2 到 64 个字符。有效字符为以下 ASCII 字符：A-Z、a-z、0-9、“\$1” 和“-”。名称必须以 A-Z、a-z 或 0-9 开头和结尾。
   + `syslog_name` - Syslog 消息发送到的 Syslog 服务器主机名称或 IP 地址。
   + `transport_protocol` - 用于发送事件的协议：
     + `udp-unencrypted` - 非安全用户数据报协议。此为默认协议。
     + `tcp-unencrypted` - 非安全传输控制协议。
     + `tcp-encrypted` - 采用传输层安全性协议（TLS）的传输控制协议。指定此选项后，FSx for ONTAP 将通过验证目的地主机的证书来验证其身份。
   + `port_number` - Syslog 消息发送到的 Syslog 服务器端口。`syslog-port` 参数默认值取决于 `syslog-transport` 参数的设置。如果 `syslog-transport` 设置为 `tcp-encrypted`，`syslog-port` 默认值为 `6514`。如果 `syslog-transport` 设置为 `tcp-unencrypted`，`syslog-port` 默认值为 `601`。否则，默认端口设置为 `514`。

   ```
   ::> event notification destination create -name dest_name -syslog syslog_name -syslog-transport transport_protocol -syslog-port port_number
   ```

1. 使用 [event notification create](https://docs.netapp.com/us-en/ontap-cli-9131/event-notification-create.html) 命令创建新的通知，将事件过滤器定义的一组事件转发到在上一步中创建的通知目的地，并指定以下属性：
   + `node_name` – 事件筛选器的名称。事件过滤器中包含的事件会被转发到 `-destinations` 参数中指定的目的地。
   + `dest_name` - 事件通知发送到的现有通知目的地的名称。

   ```
   ::> event notification create -filter-name filter_name -destinations dest_name
   ```

1. 如果选择 TCP 作为 `transport_protocol`，则可以使用 `event notification destination check` 命令生成测试消息并验证设置是否有效。用该命令指定以下属性：
   + `node_name` - 节点的名称（例如，`FsxId07353f551e6b557b4-01`）。
   + `dest_name` - 事件通知发送到的现有通知目的地的名称。

   ```
   ::> set diag
   ::*> event notification destination check -node node_name -destination-name dest_name
   ```

# 使用 Data Infrastructure Insights 进行监控
<a name="monitoring-cloud-insights"></a>

NetApp 数据基础设施见解（前身为 Cloud Insights）是一项 NetApp 服务，可用于监控 Amazon FSx for NetApp ONTAP 文件系统以及其他 NetApp 存储解决方案。借助 Data Infrastructure Insights，您可以监控某段时间内的配置、容量和性能指标，了解工作负载的趋势，规划未来的性能和存储容量需求。您还可以依据指标条件来创建可以与现有的工作流程和生产力工具集成的警报。

**注意**  
具有多个 HA 对的第二代文件系统不支持 Data Infrastructure Insights。

Data Infrastructure Insights 提供以下功能：
+ **各项指标和日志** – 收集配置、容量和性能指标。通过预定义的控制面板、警报和报告了解工作负载的趋势。
+ **用户分析和勒索软件防护** – 您可以使用 Cloud Secure 和 ONTAP 快照来审计、检测、阻止和修复用户错误事件和勒索软件。
+ **SnapMirror 报告**-了解您的 SnapMirror 关系并设置复制问题警报。
+ **容量规划** — 了解本地工作负载的资源需求，以帮助您将工作负载迁移到更高效 FSx 的 ONTAP 配置。您还可以利用这些见解来规划何时需要更高的性能或容量来部署 fo FSx r ONTAP。

有关更多信息，请参阅 NetApp ONTAP 产品[文档中的数据基础设施见解](https://docs.netapp.com/us-en/data-infrastructure-insights/index.html)文档。

# 使用 Harvest 和 Grafana 监控 FSx for ONTAP 文件系统
<a name="monitoring-harvest-grafana"></a>

NetApp Harvest 是一款用于从 ONTAP 系统收集性能和容量指标的开源工具，与 FSx for ONTAP 兼容。可以结合使用 Harvest 与 Grafana 来获得开源监控解决方案。

## 开始使用 Harvest 和 Grafana
<a name="harvest-grafana"></a>

以下部分详细介绍了如何设置和配置 Harvest 和 Grafana，以测算 FSx for ONTAP 文件系统的性能和存储容量利用率。

您可以使用 Harvest 和 Grafana 监控适用于 NetApp ONTAP 的 Amazon FSx 文件系统。NetApp Harvest 通过从 FSx for ONTAP 文件系统收集性能、容量和硬件指标来监控 ONTAP 数据中心。Grafana 提供可显示所收集 Harvest 指标的控制面板。

## 支持的 Harvest 控制面板
<a name="supported-harvest-dashboards"></a>

适用于 NetApp ONTAP 的 Amazon FSx 公开的指标集与本地 NetApp ONTAP 不同。因此，目前仅支持以下带有 `fsx` 标签的开箱即用 Harvest 控制面板与 FSx for ONTAP 配合使用。这些控制面板中的某些面板可能缺少不支持的信息。
+ Harvest：元数据
+ ONTAP：聚合
+ ONTAP：cDOT
+ ONTAP：集群
+ ONTAP：合规性
+ ONTAP：数据中心
+ ONTAP：数据保护
+ ONTAP：LUN
+ ONTAP：网络
+ ONTAP：节点
+ ONTAP：Qtree
+ ONTAP：安全性
+ ONTAP：SnapMirror
+ ONTAP：SnapMirror 目标
+ ONTAP：SnapMirror 源
+ ONTAP：SVM
+ ONTAP：卷
+ ONTAP：按 SVM 划分的卷
+ ONTAP：卷深入研究

FSx for ONTAP 支持以下 Harvest 控制面板，但这些控制面板默认情况下未在 Harvest 中启用。
+ ONTAP：FlexCache
+ ONTAP：FlexGroup
+ ONTAP：NFS 客户端
+ ONTAP：NFSv4 存储池显示器
+ ONTAP：NFS 故障排除
+ ONTAP：NVMe 命名空间
+ ONTAP：SMB
+ ONTAP：工作负载

## 不支持的 Harvest 控制面板
<a name="unsupported-dashboards"></a>

FSx for ONTAP *不*支持以下 Harvest 控制面板。
+ ONTAP：磁盘
+ ONTAP：外部服务操作
+ ONTAP：文件系统分析（FSA）
+ ONTAP：余量
+ ONTAP：运行状况
+ ONTAP：MAV 请求
+ ONTAP：MetroCluster
+ ONTAP：功率
+ ONTAP：Shelf
+ ONTAP：S3 对象存储

## CloudFormation 模板
<a name="harvest-grafana-template"></a>

首先，您可以部署一个 CloudFormation 模板来自动启动运行 Harvest 和 Grafana 的 Amazon EC2 实例。作为 CloudFormation 模板的输入，您可以为将在此部署中添加的文件系统指定 `fsxadmin` 用户和 Amazon FSx 管理端点。部署完成后，您可以登录 Grafana 控制面板来监控您的文件系统。

此解决方案采用 CloudFormation 自动部署 Harvest 和 Grafana 解决方案。该模板创建了一个 Amazon EC2 Linux 实例并安装 Harvest 和 Grafana 软件。要使用此解决方案，请下载 [fsx-ontap-harvest-grafana.template](https://solution-references.s3.amazonaws.com/fsx/harvest-grafana/harvest-grafana.yaml) CloudFormation 模板。

**注意**  
实施此解决方案会产生相关 AWS 服务的账单。有关更多信息，请参阅有关这些服务的定价详细信息页面。

## Amazon EC2 实例类型
<a name="ec2-instance-types"></a>

在配置模板时，您需要提供 Amazon EC2 实例类型。NetApp 对实例大小的建议取决于您监控的文件系统的数量以及您选择收集的指标数量。使用默认配置时，对于您监控的每 10 个文件系统，NetApp 建议：
+ CPU：2 个核心
+ 内存：1 GB
+ 磁盘：500 MB（主要用于日志文件）

以下是一些示例配置和您可以选择的 `t3` 实例类型。


****  

| 文件系统 | CPU | 磁盘 | 实例类型 | 
| --- | --- | --- | --- | 
|  10 以下  |  2 个核心  |  500 MB  |  `t3.micro`  | 
|  10–40  |  4 个核心  |  1000 MB  |  `t3.xlarge`  | 
|  40\$1  |  8 个核心  |  2000 MB  |  `t3.2xlarge`  | 

有关 Amazon EC2 实例类型的更多信息，请参阅*《Amazon EC2 用户指南》*中的[通用实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose-instances.html)。

### 实例端口规则
<a name="instance-port-rules"></a>

在设置 Amazon EC2 实例时，请确保端口 3000 和 9090 接受 Amazon EC2 Harvest 和 Grafana 实例所在安全组的入站流量。由于启动的实例通过 HTTPS 连接到端点，因此它需要解析该端点，这需要使用端口 53 的 TCP/UDP 进行 DNS。此外，要访问该端点，需要使用端口 443 的 TCP 进行 HTTPS 和互联网访问。

## 部署程序
<a name="harvest-grafana-deployment"></a>

以下程序配置和部署 Harvest/Grafana 解决方案。部署大约需要五分钟。在开始之前，您的 AWS 账户中必须有一个运行于 Amazon Virtual Private Cloud（Amazon VPC）之中的 FSx for Lustre 文件系统，以及下面列出的模板参数信息。有关创建文件系统的更多信息，请参阅[创建文件系统](creating-file-systems.md)。

**启动 Harvest/Grafana 解决方案堆栈**

1. 下载 [fsx-ontap-harvest-grafana.template](https://solution-references.s3.amazonaws.com/fsx/harvest-grafana/harvest-grafana.yaml) CloudFormation 模板。有关创建 CloudFormation 堆栈的更多信息，请参阅《AWS CloudFormation 用户指南》**中的[在 AWS CloudFormation 控制台上创建堆栈](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)。
**注意**  
默认情况下，该模板在美国东部（弗吉尼亚州北部）AWS 区域发布。您必须在可以使用 Amazon FSx 的 AWS 区域 启动此解决方案。有关更多信息，请参阅 *AWS 一般参考* 中的 [Amazon FSx 端点和配额](https://docs.aws.amazon.com/general/latest/gr/fsxn.html)。

1. 对于**参数**，请查看模板的参数并根据文件系统的需求对其进行修改。该解决方案使用以下默认值。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/monitoring-harvest-grafana.html)

1. 选择**下一步**。

1. 在**选项**中，选择**下一步**。

1. 在**审核**中，审核并确认设置。必须选择复选框，以确认模板将创建 IAM 资源。

1. 选择**创建**以部署堆栈。

您可以在 CloudFormation 控制台的**状态**列中查看堆栈的状态。您应该在大约五（5）分钟内看到 **CREATE\$1COMPLETE** 状态。

## 登录 Grafana
<a name="harvest-grafana-login"></a>

部署完成后，使用浏览器登录到 Amazon EC2 实例的 IP 和端口 3000 上的 Grafana 控制面板：

```
http://EC2_instance_IP:3000
```

出现提示时，使用 Grafana 默认用户名（`admin`）和密码（`pass`）。我们建议您登录后立即更改密码。

有关更多信息，请参阅 GitHub 上的 [NetApp Harvest](https://github.com/NetApp/harvest) 页面。

## 排查 Harvest 和 Grafana 故障
<a name="troubleshooting-harvest-grafana"></a>

如果遇到 Harvest 和 Grafana 控制面板中提及的任何数据缺失问题，或者难以通过 FSx for ONTAP 设置 Harvest 和 Grafana，请查看以下主题获取潜在的解决方案。

**Topics**
+ [

### SVM 和卷控制面板为空白
](#svm-volume-blank-dashboards)
+ [

### CloudFormation 堆栈在超时后回滚
](#cfn-stack-rolled-back)

### SVM 和卷控制面板为空白
<a name="svm-volume-blank-dashboards"></a>

如果 CloudFormation 堆栈已成功部署并且可以联系到 Grafana，但 SVM 和卷控制面板为空白，请使用以下过程排查环境中的故障。您需要通过 SSH 访问部署有 Harvest 和 Grafana 的 Amazon EC2 实例。

1. 通过 SSH 访问当前运行有 Harvest 和 Grafana 客户端的 Amazon EC2 实例。

   ```
   [~]$ ssh ec2-user@ec2_ip_address
   ```

1. 使用以下命令打开 `harvest.yml` 文件并且：
   + 验证是否为 FSx for ONTAP 实例创建了一个条目 `Cluster-2`。
   + 验证输入的用户名和密码是否与 `fsxadmin` 凭证相符。

   ```
   [ec2-user@ip-ec2_ip_address ~]$ sudo cat /home/ec2-user/harvest_install/harvest/harvest.yml
   ```

1. 如果密码字段为空，请在编辑器中打开文件并使用 `fsxadmin` 密码进行更新，如下所示：

   ```
   [ec2-user@ip-ec2_ip_address ~]$ sudo vi /home/ec2-user/harvest_install/harvest/harvest.yml
   ```

1. 确保 `fsxadmin` 用户凭证以如下格式存储在 Secrets Manager 中，以备将来部署时使用，并将 `fsxadmin_password` 替换为您的密码。

   ```
   {"username" : "fsxadmin", "password" : "fsxadmin_password"}
   ```

### CloudFormation 堆栈在超时后回滚
<a name="cfn-stack-rolled-back"></a>

如果无法成功部署 CloudFormation 堆栈，并且堆栈出错回滚，请使用以下过程来解决此问题。您需要通过 SSH 访问通过 CloudFormation 堆栈部署的 EC2 实例。

1. 重新部署 CloudFormation 堆栈，确保自动回滚已禁用。

1. 通过 SSH 访问当前运行有 Harvest 和 Grafana 客户端的 Amazon EC2 实例。

   ```
   [~]$ ssh ec2-user@ec2_ip_address
   ```

1. 使用以下命令验证 Docker 容器是否已成功启动。

   ```
   [ec2-user@ip-ec2_ip_address ~]$ sudo docker ps
   ```

   在响应中，您应该会看到以下五个容器：

   ```
   CONTAINER ID   IMAGE                   COMMAND                  CREATED         STATUS                          PORTS                    NAMES
   6b9b3f2085ef   rahulguptajss/harvest   "bin/poller --config…"   8 minutes ago   Restarting (1) 20 seconds ago                            harvest_cluster-2
   3cf3e3623fde   rahulguptajss/harvest   "bin/poller --config…"   8 minutes ago   Up About a minute                                        harvest_cluster-1
   708f3b7ef6f8   grafana/grafana         "/run.sh"                8 minutes ago   Up 8 minutes                    0.0.0.0:3000->3000/tcp   harvest_grafana
   0febee61cab7   prom/alertmanager       "/bin/alertmanager -…"   8 minutes ago   Up 8 minutes                    0.0.0.0:9093->9093/tcp   harvest_prometheus_alertmanager
   1706d8cd5a0c   prom/prometheus         "/bin/prometheus --c…"   8 minutes ago   Up 8 minutes                    0.0.0.0:9090->9090/tcp   harvest_prometheus
   ```

1. 如果 Docker 容器未运行，按如下步骤检查 `/var/log/cloud-init-output.log` 文件中的故障。

   ```
   [ec2-user@ip-ec2_ip_address ~]$ sudo cat /var/log/cloud-init-output.log
        PLAY [Manage Harvest] **********************************************************
    
   TASK [Gathering Facts] *********************************************************
   ok: [localhost]
    
   TASK [Verify images] ***********************************************************
   failed: [localhost] (item=prom/prometheus) => {"ansible_loop_var": "item", "changed": false, "item": "prom/prometheus",
   "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104, 'Co
   nnection reset by peer'))"}
   failed: [localhost] (item=prom/alertmanager) => {"ansible_loop_var": "item", "changed": false, "item": "prom/alertmanage
   r", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104,
   'Connection reset by peer'))"}
   failed: [localhost] (item=rahulguptajss/harvest) => {"ansible_loop_var": "item", "changed": false, "item": "rahulguptajs
   s/harvest", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetEr
   ror(104, 'Connection reset by peer'))"}
   failed: [localhost] (item=grafana/grafana) => {"ansible_loop_var": "item", "changed": false, "item": "grafana/grafana",
   "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104, 'Co
   nnection reset by peer'))"}
    
   PLAY RECAP *********************************************************************
   localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
   ```

1. 如果出现故障，请执行以下命令部署 Harvest 和 Grafana 容器。

   ```
   [ec2-user@ip-ec2_ip_address ~]$ sudo su
        [ec2-user@ip-ec2_ip_address ~]$ cd /home/ec2-user/harvest_install
        [ec2-user@ip-ec2_ip_address ~]$ /usr/local/bin/ansible-playbook manage_harvest.yml
        [ec2-user@ip-ec2_ip_address ~]$ /usr/local/bin/ansible-playbook manage_harvest.yml --tags api
   ```

1. 通过运行 **sudo docker ps** 并连接至 Harvest 和 Grafana 网址来验证容器是否已成功启动。

# FSx 使用监控 ONTAP API 调用 AWS CloudTrail
<a name="logging-using-cloudtrail-win"></a>

 FSx Amazon 与 AWS CloudTrail一项服务集成，该服务可记录用户、角色或 AWS 服务在亚马逊中执行的操作 FSx。 CloudTrail 将所有亚马逊 FSx API 调用的 Amazon f NetApp o FSx r ONTAP 捕获为事件。捕获的调用包括来自亚马逊 FSx 控制台的调用以及对亚马逊 FSx API 操作的代码调用。

如果您创建了跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括针对亚马逊的事件 FSx。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。使用收集的信息 CloudTrail，您可以确定向 Amazon 提出的请求 FSx。还可以确定发出请求的源 IP 地址、请求方、请求时间以及其他详细信息。

要了解更多信息 CloudTrail，请参阅[AWS CloudTrail 用户指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## 中的亚马逊 FSx 信息 CloudTrail
<a name="fsxW-info-in-cloudtrail"></a>

CloudTrail 在您创建 AWS 账户时已在您的账户上启用。当 API 活动发生在 Amazon 中时 FSx，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在自己的 AWS 账户中查看、搜索和下载最近发生的事件。有关更多信息，请参阅[使用事件历史记录查看 CloudTrail 事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的 AWS 账户中的事件，包括亚马逊的事件 FSx，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，当您在控制台中创建跟踪时，该跟踪将应用于所有 AWS 区域。跟踪记录 AWS 分区中所有 AWS 区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅《AWS CloudTrail 用户指南》**中的以下主题：
+ [为您创建路线 AWS 账户](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [AWS 与日志的服务集成 CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收来自多个地区的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有亚马逊 FSx [API 调用](https://docs.aws.amazon.com/fsx/latest/APIReference/Welcome.html)都由记录 CloudTrail。例如，对`CreateFileSystem`和`TagResource`操作的调用会在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

*有关更多信息，请参阅《[CloudTrail 用户指南》中的 “用户身份”AWS CloudTrail 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。*

## 了解 Amazon FSx 日志文件条目
<a name="w-understanding-service-name-entries"></a>

*跟踪*是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。*事件*代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

以下示例显示了一个 CloudTrail 日志条目，该条目演示了从控制台为文件系统创建标签时的`TagResource`操作。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": “Root”,
        "principalId": “111122223333”,
        "arn": "arn:aws:sts::111122223333:root”,
        "accountId": “111122223333”,
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE”,
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-11-14T22:36:07Z"
            }
        }
    },
    "eventTime": "2018-11-14T22:36:07Z",
    "eventSource": "fsx.amazonaws.com",
    "eventName": "TagResource",
    "awsRegion": "us-east-1",
    "sourceIPAddress": “192.0.2.0”,
    "userAgent": “console.amazonaws.com”,
    "requestParameters": {
        "resourceARN": "arn:aws:fsx:us-east-1:111122223333:file-system/fs-ab12cd34ef56gh789”
    },
    "responseElements": null,
    "requestID": “aEXAMPLE-abcd-1234-56ef-b4cEXAMPLE51”,
    "eventID": “bEXAMPLE-gl12-3f5h-3sh4-ab6EXAMPLE9p”,
    "eventType": "AwsApiCall",
    "apiVersion": "2018-03-01",
    "recipientAccountId": “111122223333”
}
```

以下示例显示了一个 CloudTrail 日志条目，该条目演示了从控制台中删除文件系统的标签时的`UntagResource`操作。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": “Root”,
        "principalId": "111122223333",
        "arn": "arn:aws:sts::111122223333:root",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-11-14T23:40:54Z"
            }
        }
    },
    "eventTime": "2018-11-14T23:40:54Z",
    "eventSource": "fsx.amazonaws.com",
    "eventName": "UntagResource",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "console.amazonaws.com",
    "requestParameters": {
        "resourceARN": "arn:aws:fsx:us-east-1:111122223333:file-system/fs-ab12cd34ef56gh789"
    },
    "responseElements": null,
    "requestID": "aEXAMPLE-abcd-1234-56ef-b4cEXAMPLE51",
    "eventID": "bEXAMPLE-gl12-3f5h-3sh4-ab6EXAMPLE9p",
    "eventType": "AwsApiCall",
    "apiVersion": "2018-03-01",
    "recipientAccountId": "111122223333"
}
```