AWS Storage Gateway
用户指南 (API 版本 2013-06-30)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

监控您的文件共享

您可以使用 Amazon CloudWatch 指标监控您的文件共享,并使用 Amazon CloudWatch Events 在文件操作完成时收到通知。有关文件网关类型指标的信息,请参阅监控网关和资源

获得有关文件操作的通知

AWS Storage Gateway 可在您的文件操作完成时触发 Amazon CloudWatch Events:

  • 在网关完成将文件异步上传到文件共享时,您可以获得通知。您可以使用 NotifyWhenUploaded API 请求文件上传通知。

  • 您可以在网关完成为 S3 存储桶刷新缓存后获得通知。在通过 Storage Gateway 控制台或 Storage Gateway API 调用 RefreshCache 操作时,您可以订阅以在操作完成时获得通知。

在请求的文件操作完成后,AWS Storage Gateway 将通过 CloudWatch Events 向您发送通知。您可以将 CloudWatch Events 配置为通过事件目标(如 Amazon SNS、Amazon SQS 或 AWS Lambda 函数)发送通知。例如,您可以配置 Amazon SNS 目标以将通知发送给 Amazon SNS 使用者,例如电子邮件和文本消息。有关 CloudWatch Events 的信息,请参阅什么是 Amazon CloudWatch Events?

设置 CloudWatch Events 通知

  1. 创建一个在触发您在 AWS Storage Gateway 中请求的事件时调用的目标(例如 Amazon SNS 主题或 Lambda 函数)。

  2. 在 Amazon CloudWatch Events 控制台中创建一个根据 AWS Storage Gateway 中的事件调用目标的规则。

  3. 在该规则中,为事件类型创建一个事件模式。在事件与此规则模式匹配时将触发通知。

  4. 选择目标并配置设置。

以下示例显示了一个规则,该规则将触发指定网关和指定 AWS 区域中的指定事件类型。例如,您可以指定 Storage Gateway File Upload Event 作为事件类型。

{ "source":[ "aws.storagegateway" ], "resources":[ "arn:aws:storagegateway:AWS Region:account-id :gateway/gateway-id" ], "detail-type":[ "Event type" ] }

有关如何使用 CloudWatch Events 触发规则的信息,请参阅 Amazon CloudWatch Events 用户指南 中的创建在事件上触发的 CloudWatch 事件规则

收到文件上传通知

对于以下两种使用案例,您可能会使用文件上传通知:

要自动完成在云中处理上传的文件,您可以调用 NotifyWhenUploaded API 并获取通知 ID。在上传文件时触发的通知的通知 ID与 API 返回的通知 ID 相同。如果映射该通知 ID 以跟踪您上传的文件列表,在生成具有相同 ID 的事件时,您可以在 AWS 中触发上传的文件处理。

有关内容分配使用案例,您可能具有两个映射到同一 Amazon S3 存储桶的文件网关。网关 1 的文件共享客户端可能将新文件上传到 S3,然后网关 2 上的文件共享客户端读取这些文件。这些文件将上传到 S3,但不会在网关 2 中显示这些文件,因为网关 2 使用 S3 中的本地缓存的文件版本。要使这些文件在网关 2 中可见,您可以使用 NotifyWhenUploaded API 请求网关 1 在上传完成后向您发送文件上传通知。随后,您可以使用 CloudWatch Events 自动发出针对网关 2 上的文件共享的 RefreshCache 请求。在 RefreshCache 请求完成后,新文件将在网关 2 中可见。

例 示例—文件上传通知

以下示例显示一个文件上传通知,在事件与您创建的规则匹配时,将通过 CloudWatch 向您发送该通知。此通知采用 JSON 格式。您可以将此通知配置为以文本消息的形式传输到目标。

{ "version" : "2012-10-17", "id" : "2649b160-d59d-c97f-3f64-8aaa9ea6aed3", "detail-type" : "Storage Gateway Upload Notification Event", "source" : "aws.storagegateway", "account" : "123456789012", "time" : "2017-11-06T21:34:42Z", "region" : "us-east-2", "resources" : [ "arn:aws:storagegateway:us-east-2:123456789011:share/share-F123D451", "arn:aws:storagegateway:us-east-2:123456789011:gateway/sgw-712345DA" ], "detail" : { "event-type" :"upload-complete", "notification-id": "11b3106b-a18a-4890-9d47-a1a755ef5e47", "request-received" : "2018-02-06T21:34:42Z", "completed" : "2018-02-06T21:34:53Z"} }
字段名称 描述
version 当前的 IAM 策略版本。
id 标识 IAM 策略的 ID。
detail-type 触发所发送的通知的事件的描述。
source 作为请求和通知来源的 AWS 服务。
account 从中生成请求和通知的 AWS 账户的 ID。
time 将文件上传到 Amazon S3 的请求的发出时间。
region 从中发送请求和通知的 AWS 区域。
resources 策略适用的存储网关资源。
source 作为请求和通知来源的 AWS 服务。
event-type 触发通知的 CloudWatch Events。
notification-id 为发送的通知随机生成的 ID。该 ID 采用 UUID 格式。这是在调用 NotfyWhenUploaded 时返回的通知 ID。
request-received 网关收到 NotfyWhenUploaded 请求的时间。
completed 当工作集中的所有文件都上传到 Amazon S3 时。

获取刷新缓存通知

对于刷新缓存通知使用案例,您可以有两个映射到同一 Amazon S3 存储桶的文件网关,Gateway1 的 NFS 客户端会将新文件上传到 S3 存储桶。这些文件将上传到 S3,但在您刷新缓存之前,它们不会出现在 Gateway2 中。这是因为 Gateway2 在 S3 中使用了本地缓存的文件版本。当刷新缓存完成时,您可能希望对 Gateway2 中的文件执行某项操作。大型文件可能需要一些时间才能在 Gateway2 中显示,因此您可能希望在缓存刷新完成时获得通知。您可以从 Gateway2 请求刷新缓存通知,以在所有文件都在 Gateway2 中可见时通知您。

例 示例—刷新缓存通知

以下示例显示一个刷新缓存通知,在事件与您创建的规则匹配时,将通过 CloudWatch 向您发送该通知。此通知采用 JSON 格式。您可以将此通知配置为以文本消息的形式传输到目标。

{ "version": "2012-10-17", "id": "2649b160-d59d-c97f-3f64-8aaa9ea6aed3", "detail-type": "Storage Gateway Refresh Cache Event", "source": "aws.storagegateway", "account": "209870788375", "time": "2017-11-06T21:34:42Z", "region": "us-east-2", "resources": [ "arn:aws:storagegateway:us-east-2:123456789011:share/share-F123D451", "arn:aws:storagegateway:us-east-2:123456789011:gateway/sgw-712345DA" ], "detail": { "event-type": "refresh-complete", "notification-id": "1c14106b-a18a-4890-9d47-a1a755ef5e47", "started": "2018-02-06T21:34:42Z", "completed": "2018-02-06T21:34:53Z" }, "folderList": ["/"] }
字段名称 描述
version 当前的 IAM 策略版本。
id 标识 IAM 策略的 ID。
time 刷新工作集中的文件的请求的发出时间。
detail-type 触发所发送的通知的事件的类型描述。
source 作为请求和通知来源的 AWS 服务。
account 从中生成请求和通知的 AWS 账户的 ID。
source 作为请求和通知来源的 AWS 服务。
event-type 触发通知的 CloudWatch Events。
notification-id 为发送的通知随机生成的 ID。该 ID 采用 UUID 格式。这是在调用 RefreshCache 时返回的通知 ID。
started 网关收到 RefreshCache 请求并启动刷新的时间。
completed 完成工作集刷新的时间。
folderList 在缓存中刷新的文件夹的逗号分隔路径列表。默认为 ["/"]。

了解文件共享指标

您可以在下面找到有关包含文件共享的 Storage Gateway 指标的信息。每个文件共享均有与其关联的一组指标。某些特定于文件共享的指标与某些特定于网关的指标同名。这些指标代表同类度量,但其范围限于文件共享。始终在使用指标前指定要使用网关还是文件共享指标。尤其是使用文件共享指标时,您必须指定标识希望查看其指标的文件共享的 File share ID。有关更多信息,请参阅 使用 Amazon CloudWatch 指标

下表描述了可用来获取文件共享信息的 Storage Gateway 指标。

指标 描述
CacheHitPercent

应用程序从文件共享中读取的百分率,由缓存传送。样本在报告周期结束时采用。

在没有应用程序从文件共享读取时,该指标报告 100%。

单位:百分比

CachePercentDirty

文件共享对尚未传送到 AWS 的网关缓存的总体比例的占比。样本在报告周期结束时采用。

使用网关的 CachePercentDirty 指标来查看尚未传送到 AWS 的网关缓存总体比例。有关更多信息,请参阅 了解网关指标

单位:百分比

CachePercentUsed

文件共享对网关缓存存储空间的总体使用率占比。样本在报告周期结束时采用。

使用网关的 CachePercentUsed 指标来查看网关缓存存储空间的总体使用率。有关更多信息,请参阅 了解网关指标

单位:百分比

CloudBytesUploaded

gateway 在报告期间上传到 AWS 的字节的总数。

将此指标与 Sum 统计数据结合使用来测量吞吐量,将其与 Samples 统计数据结合使用来测量 IOPS。

单位:字节

CloudBytesDownloaded

网关在报告期间从 AWS 下载的总字节数。

将此指标与 Sum 统计数据结合使用来测量吞吐量,并将其与 Samples 统计数据结合使用来测量每秒输入/输出操作次数 (IOPS)。

单位:字节

ReadBytes

文件共享报告周期内从本地应用程序读取的总字节数。

将此指标与 Sum 统计数据结合使用来测量吞吐量,将其与 Samples 统计数据结合使用来测量 IOPS。

单位:字节

WriteBytes

报告周期内写入到场内应用程序的总字节数。

将此指标与 Sum 统计数据结合使用来测量吞吐量,将其与 Samples 统计数据结合使用来测量 IOPS。

单位:字节