本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Logs CloudWatch 記錄自動化動作輸出
Automation 是 的功能 AWS Systems Manager,與 Amazon CloudWatch Logs 整合。您可以將您 Runbook 中的 aws:executeScript
動作輸出傳送到您指定的日誌群組。Systems Manager 不會建立日誌群組,或者任何文件的日誌串流不會使用 aws:executeScript
動作。如果文件確實使用 aws:executeScript
,傳送至 CloudWatch Logs 的輸出僅與這些動作相關。您可以使用儲存在 CloudWatch Logs 日誌群組中的aws:executeScript
動作輸出進行偵錯和疑難排解。如果您選擇已加密的記錄群組,aws:executeScript
動作輸出也會加密。aws:executeScript
動作的日誌記錄輸出是帳戶層級的設定。
若要將動作輸出傳送至 Amazon 擁有 Runbook 的 CloudWatch Logs,執行自動化的使用者或角色必須具有下列操作的許可:
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:DescribeLogGroups
-
logs:DescribeLogStreams
-
logs:PutLogEvents
對於您擁有的 Runbook,必須將相同的許可新增至您用來執行 Runbook IAM的服務角色 (或 AssumeRole)。
將動作輸出傳送至 CloudWatch Logs (主控台)
在 開啟 AWS Systems Manager 主控台https://console.aws.amazon.com/systems-manager/
。 -
在導覽窗格中,選擇 Automation (自動化)。
-
選擇 Preferences (偏好) 標籤,然後選擇 Edit (編輯)。
-
選取傳送輸出至 CloudWatch 日誌 旁的核取方塊。
-
(建議) 選取 Encrypt log data (加密日誌資料) 旁的核取方塊。開啟此選項後,系統會使用為該日誌群組指定的伺服器端加密金鑰來加密日誌資料。如果您不想加密傳送至日誌的 CloudWatch 日誌資料,請清除核取方塊。如果日誌群組不允許加密,清除核取方塊。
-
對於CloudWatch 日誌日誌群組 ,若要指定您要將動作輸出傳送到 AWS 帳戶 的 中現有的 CloudWatch 日誌日誌群組,請選取下列其中一項:
-
Send output to the default log group (將輸出傳送至預設記錄群組) – 如果預設日誌群組不存在 (
/aws/ssm/automation/executeScript
),自動化會為您建立一個。 -
Choose from a list of log groups (從日誌群組清單中選擇) – 選取已在您的帳戶中建立的日誌群組,以存放動作輸出。
-
Enter a log group name (輸入日誌群組名稱) – 在文字方塊中,輸入已在帳戶中建立的日誌群組名稱,以存放動作輸出。
-
-
選擇 Save (儲存)。
將動作輸出傳送至 CloudWatch Logs (命令列)
-
開啟您偏好的命令列工具,然後執行以下命令來更新動作輸出目的地。
如果命令成功,則無輸出訊息。
-
執行以下命令,指定您要傳送動作輸出至的日誌群組。
如果命令成功,則無輸出訊息。
-
執行下列命令,以檢視目前 AWS 帳戶 和 中自動化動作記錄偏好設定的目前服務設定 AWS 區域。
該命令會傳回相關資訊,如以下所示。
{ "ServiceSetting": { "Status": "Customized", "LastModifiedDate": 1613758617.036, "SettingId": "/ssm/automation/customer-script-log-destination", "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/User_1", "SettingValue": "CloudWatch", "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/automation/customer-script-log-destination" } }