監控 AWS DataSync - AWS DataSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控 AWS DataSync

您可以監控AWS DataSync,該服務會收集並處理來自 Amazon CloudWatch aSync 的原始資料,進而將這些資料轉換為便於讀取且幾近即時的指標。這些統計資料會保留 15 個月。默認情況下,DataSync 指標資料會自動以 5 分鐘的間隔時間傳送給 CloudWatch。如需 CloudWatch 的詳細資訊,請參什麼是 Amazon CloudWatch、CloudWatch Logs 和 CloudWatch Logs?中的Amazon CloudWatch 使用者指南

DataSync 的 Amazon CloudWatch 指標

Amazon CloudWatch 提供指標,您可以用於取得 DataSync 性能的相關資訊。您可以透過多種方式來查看 DataSync 的 CloudWatch 指標。您可以透過 CloudWatch 主控台檢視它們,或使用 CloudWatch CLI 或 CloudWatch API 存取它們。您也可以在 AWS DataSync 主控台中的任務執行詳細資訊頁面上查看這些指標。如需如何使用 CloudWatch 指標的資訊,請參使用 Amazon CloudWatch 指標中的Amazon CloudWatch 使用者指南。

DataSync CloudWatch 指標

AWS/DataSync 命名空間包含下列指標。

這些統計資料會保留 15 個月。

指標 Description (描述)

BytesVerifiedSource

已在來源位置驗證過的位元組總數量。

個單位: 位元組

BytesPreparedSource

已在來源位置完成準備的位元組總數量。

單位:位元組

FilesVerifiedSource

已在來源位置驗證過的檔案總數量。

單位:計數

FilesPreparedSource

已在來源位置完成準備的檔案總數量。

單位:計數

BytesVerifiedDestination

已在目的地位置驗證過的位元組總數量。

單位:位元組

BytesPreparedDestination

已在目的地位置完成準備的位元組總數量。

單位:位元組

FilesVerifiedDestination

已在目的地位置驗證過的檔案總數量。

單位:計數

FilesPreparedDestination

已在目的地位置完成準備的檔案總數量。

單位:計數

FilesTransferred

透過網路傳輸的檔案或中繼資料實際數量。系統會在 TRANSFERRING (傳輸中) 階段持續計算並上傳此值。透過來源位置讀取每個檔案,並透過網路傳送這些檔案時,系統會定期上傳這個值。

如果傳輸過程發生失敗,此值可能會小於 EstimatedFilesToTransfer。在某些情況下,這個值也可以大於 EstimatedFilesTransferred。對於某些位置類型來說,此元素具實作特定性質,因此請勿將其做為正確檔案數的指標或是用來監控您的任務執行。

單位:計數

BytesTransferred

當代理程式從來源位置讀取至目的地位置時,網路傳輸的位元組總數。

單位:位元組

BytesWritten

已傳輸到目的地位置的所有檔案的總邏輯大小。

單位:位元組

適用於 DataSync 的 CloudWatch 事件

Amazon CloudWatch 事件描述 DataSync 資源的變更。您可以設定規則來比對這些事件,並將這些事件路由到一或多個目標函數或串流。盡可能發出事件。

下列是 AWS DataSync 可用的 CloudWatch 事件。

事件 Description (描述)
State Changes for an Agent (代理程式的狀態變更) 如需詳細資訊,請參閱 DataSync 代理程式狀態
ONLINE (線上) 代理程式的設定正確,以及可供使用。ONLINE (線上) 狀態為代理程式正常的執行狀態。
OFFLINE (離線) 代理程式的 VM 處於關閉狀態或代理程式得的運作狀態不佳。當造成運作狀態不佳的問題解決時,代理程式會回到 ONLINE (線上) 狀態。
State Changes for a Location (位置的狀態變更)
ADDING (新增中) DataSync 正在新增位置。
AVAILABLE (可用) 位置已建立,並可供使用。
State Changes for a Task (任務的狀態變更) 如需詳細資訊,請參閱 DataSync 任務建立狀態
CREATING (正在建立) DataSync 嘗試掛載網路檔案系統 (NFS) 位置並建立任務。
RUNNING (執行中) DataSync 已掛載來源且可正常運作。
AVAILABLE (可用) 任務的設定正確,以及可供開始使用。
UNAVAILABLE (無法使用) 任務的設定不正確,以及無法提供使用。如果與來源 (NFS) 位置關聯的代理程式是離線的,任務會轉變為 UNAVAILABLE (無法使用) 狀態。
State Changes for a Task Execution (任務執行的狀態變更)
LAUNCHING (啟動中) DataSync 正在初始化任務執行。
PREPARING (準備中) DataSync 正在計算哪些檔案需要傳輸。
TRANSFERRING (傳輸中) DataSync 正在將您的資料實際傳輸至AWS
VERIFYING (驗證中) DataSync 執行完整的資料和中繼資料完整性驗證,來確保目的地中的資料確實是來源的副本。
成功 傳輸成功。
ERROR 同步已失敗。

DataSync 維

DataSync 指標使用AWS/DataSync命名空間並為以下維度提供指標:

  • Agent-代理程式的唯一 ID。

  • TaskId-任務的唯一 ID。採用 task-01234567890abcdef 的格式。

允許 DataSync 將日誌上傳至 Amazon CloudWatch Logs 組

您可以使用 CloudWatch 日誌組來監控任務和對其除錯。DataSync 要將日誌上傳至日誌組,DataSync 需要資源政策以授予足夠的許可。如果您使用AWS Management Console,DataSync 可以自動創建所需的資源策略。如需詳細資訊,請參閱 設定任務設定

以下是授予這類許可的示例資源政策。

{ "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:SourceArnaws:SourceAccount全局條件上下文鍵,以防止混淆的副本問題。如需詳細資訊,請參閱 預防跨服務混淆代理人

要指定 DataSync 任務,請將region的區域代碼,用於AWS 區域任務所在的位置,並替換account-id與AWS 帳戶包含任務的帳户 ID。要指定 CloudWatch 日誌組,請替換相同的值。您也可以修改Resource語句設置為目標特定的日誌組。如需使用SourceArnSourceAccount,請參全域條件金鑰中的IAM User Guide

若要套用政策,請將此政策陳述式儲存至本機電腦上的檔案。然後執行以下AWS Command Line Interface(AWS CLI) 命令來應用資源政策:

aws logs put-resource-policy --policy-name trustDataSync --policy-document file://full-path-to-policy-file
注意

運行此命令使用相同的AWS 帳戶和激活 DataSync 代理的區域。

如需 CloudWatch Logs 組的相關資訊,請參使用日誌組和日誌串流中的Amazon CloudWatch Logs 使用者指南