本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控亚马逊的Amazon DataSync活动 CloudWatch
您可以Amazon DataSync使用Amazon 监控 CloudWatch,此工具可从收集原始数据, DataSync并将数据处理为易读的近乎实时的指标。这些统计数据将保留 15 个月。
默认情况下, DataSync 指标数据以 5 分钟为间隔自动发送到 CloudWatch 。有关更多信息,请参阅什么是亚马逊 CloudWatch、 CloudWatch 事件和 CloudWatch 日志? 在亚马逊 CloudWatch 用户指南中。
访问以下 CloudWatch 各项的亚马逊指标 DataSync
亚马逊 CloudWatch 提供指标,您可以使用这些指标来获取有关 DataSync 绩效的信息和解决问题。您可以使用以下工具查看 CloudWatch 指标: DataSync
-
CloudWatch 控制台
-
CloudWatch CLI
-
CloudWatch API
-
DataSync 控制台(任务执行页面)
有关信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 CloudWatch 指标。
CloudWatch 的指标 DataSync
Amazon/DataSync
命名空间包括以下指标。
指标 | 描述 |
---|---|
|
应用压缩后通过网络传输的物理字节数。在大多数情况下, 单位:字节 |
|
在目标位置准备的数据的总字节数。 单位:字节 |
|
在源位置准备的数据的总字节数。 单位:字节 |
|
传输中涉及的总字节数。有关通过网络发送的字节数,请参阅 单位:字节 |
|
在目标位置验证的数据的总字节数。 单位:字节 |
|
在源位置验证的数据的总字节数。 单位:字节 |
|
已传输到目标位置的所有文件的总逻辑大小。 单位:字节 |
|
在目标位置准备的文件的总数。 单位:计数 |
|
在源位置准备的文件的总数。 单位:计数 |
|
通过网络传输的文件或元数据的实际数量。该值是在该 如果传输期间发生故障,该值可能小于 单位:计数 |
|
在目标位置验证的文件的总数。 单位:计数 |
|
在源位置验证的文件的总数。 单位:计数 |
DataSync 指标的度
DataSync 指标使用Amazon/DataSync
命名空间并提供以下维度的指标。
-
AgentId— 代理的唯一 ID。
-
TaskId— 任务的唯一 ID。其格式为
task-01234567890abcdef
。
的亚马逊 EventBridge 活动 DataSync
亚马逊 EventBridge 事件描述了 DataSync 资源的变化。您可以设置规则来匹配这些事件,并将这些事件路由到一个或多个目标函数或流。尽最大努力发出事件。
以下 EventBridge 事件可用于 DataSync。
Agent state changes | |
---|---|
事件 | 描述 |
Online | The agent is configured properly and is available to use. This status is the normal running status for an agent. |
Offline | The agent's VM is turned off or the agent is in an unhealthy state and has been out of contact with the service for 5 minutes or longer. When the issue that caused the unhealthy state is resolved, the agent returns to ONLINE status. |
Location state changes | |
事件 | 描述 |
Adding | DataSync is adding a location. |
Available | The location is created and is available to use. |
Task state changes | |
事件 | 描述 |
Available | The task was created and is ready to start. |
Running | The task is in progress and functioning properly. |
Unavailable | The task isn't configured properly and can't be used. You may see this when an agent associated with the task goes offline. |
Queued | Another task is running and using the same agent. DataSync runs tasks in series (first in, first out). |
Task execution state changes | |
事件 | 描述 |
Queueing | DataSync is waiting for another task that's using the same agent to finish. |
Launching | DataSync is initializing the task execution. |
Preparing | DataSync is determining which files need to be transferred. |
Transferring | DataSync is performing the actual transfer of your data. |
Verifying | DataSync performs a full data and metadata integrity verification to ensure that the data in your destination is an exact copy of your source. |
Success | The transfer is successful. |
Error | The transfer failed. |
允许 DataSync 将日志上传到亚马逊 CloudWatch 日志组
DataSync 需要足够的权限才能将日志发送到您的 CloudWatch 日志组。当您使用控制台创建任务时, DataSync 可以自动为您创建具有正确权限的 IAM 资源策略。
以下示例是授予这些权限的资源策略。
{ "Statement": [ { "Sid": "DataSyncLogsToCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Principal": { "Service": "datasync.amazonaws.com" }, "Condition": { "ArnLike": { "aws:SourceArn": [ "arn:aws:datasync:
region
:account-id
:task/*" ] }, "StringEquals": { "aws:SourceAccount": "account-id
" } }, "Resource": "arn:aws:logs:region
:account-id
:log-group:*:*" } ], "Version": "2012-10-17" }
该策略使用条件语句来确保只有来自指定账户的 DataSync 任务才能访问指定的 CloudWatch 日志组。我们建议在这些条件语句中使用aws:SourceArn
和aws:SourceAccount
全局条件上下文密钥,以防出现混乱的副手问题。有关更多信息,请参阅防止跨服务混淆代理:
要指定一个或多个任务,请
替换为任务Amazon Web Services 区域所在的区域代码,并region
替换为包含这些任务的帐户的Amazon Web Services 账户 ID。 DataSync 要指定 CloudWatch 日志组,请替换相同的值。您也可以修改该account-id
Resource
语句以特定日志组为可读取的语句。有关使用SourceArn
和的更多信息SourceAccount
,请参阅 IAM 用户指南中的全局条件键。
要应用此策略,请将此策略语句保存到本地计算机上的文件中。然后运行以下Amazon CLI命令来应用资源策略:
aws logs put-resource-policy --policy-name trustDataSync --policy-document file://
full-path-to-policy-file
注意
使用Amazon Web Services 账户与Amazon Web Services 区域您激活 DataSync代理时相同的命令运行此命令。
有关信息,请参阅《Amazon Logs 用户指南》中的使用 CloudWatch 日志组和日志流。
从命令行监控您的 DataSync 任务
您可以使用Amazon Command Line Interface或标准 Unixwatch
实用程序跟踪您的 DataSync 任务。
使用以下方法监视您的任务Amazon CLI
要使用 CLI 监控您的 DataSync 任务状态,请使用describe-task-execution
命令。
aws datasync describe-task-execution \ --task-execution-arn 'arn:aws:datasync:
region
:account-id
:task/task-id
/execution/task-execution-id
'
此命令返回有关任务执行的信息,如下所示。
{ "BytesCompressed": 0, "BytesTransferred": 0, "BytesWritten": 0, "EstimatedFilesToTransfer": 0, "EstimatedBytesToTransfer": 0, "FilesTransferred": 0, "Options": { "VerifyMode": "POINT_IN_TIME_CONSISTENT", "Atime": "BEST_EFFORT", "Mtime": "PRESERVE", "Uid": "INT_VALUE", "Gid": "INT_VALUE", "PreserveDevices": "NONE", "PosixPermissions": "PRESERVE", "PreserveDeletedFiles": "PRESERVE", "OverwriteMode": "NEVER", "TaskQueueing": "ENABLED" }, "Result": { "PrepareDuration": 4355, "PrepareStatus": "Ok", "TransferDuration": 5889, "TransferStatus": "Ok", "VerifyDuration": 4538, "VerifyStatus": "Pending" }, "StartTime": 1532658526.949, "Status": "VERIFYING", "TaskExecutionArn": "arn:aws:datasync:us-east-1:112233445566:task/task-08de6e6697796f026/execution/exec-04ce9d516d69bd52f" }
如果任务执行成功,则 Status (状态) 的值会变为 SUCCESS (成功)。如果 describe-task-execution
命令失败,结果会发送错误代码,帮助您排查问题。有关错误代码的信息,请参阅TaskExecutionResultDetail DataSync API 参考中的。
使用该watch
实用程序监视您的任务
要通过命令行实时监控任务进度,可以使用标准 Unixwatch
实用程序。任务执行持续时间值以毫秒为单位测量。
该watch
实用程序无法识别 DataSync 别名。以下示例说明如何直接调如何直接调如何直接调如何直接调如何直接调如何直接调如何直接
# pass '-n 1' to update every second and '-d' to highlight differences $ watch -n 1 -d \ "aws datasync describe-task-execution --task-execution-arn 'arn:aws:datasync:
region
:account-id
:task/task-id
/execution/taskexecution-id
'"