本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 CloudWatch 客服人員組態檔案
我們建議您建立標準 Amazon CloudWatch 代理程式組態,其中包含您想要在所有 Amazon Elastic Compute Cloud (AmazonEC2) 執行個體和內部部署伺服器中擷取的系統日誌和指標。您可以使用 CloudWatch 代理程式組態檔案精靈來協助您建立組態檔案。您可以多次執行組態精靈,為不同的系統和環境產生唯一的組態。您也可以使用組態檔案結構描述來修改組態檔案或建立變化。 CloudWatch 代理程式組態檔案可以存放在AWS Systems Manager 參數存放區參數中。 如果您有多個 CloudWatch 代理程式組態檔案,您可以建立個別的參數存放區參數。如果您使用多個AWS帳戶或AWS區域,則必須管理並更新每個帳戶和區域中的參數存放區參數。或者,您也可以將 CloudWatch 組態作為 Amazon S3 中的檔案或您選擇的版本控制工具集中管理。
CloudWatch 代理程式隨附的amazon-cloudwatch-agent-ctl
指令碼可讓您指定組態檔案、參數存放區參數或代理程式的預設組態。預設組態會與基本、預先定義的指標集保持一致,並設定代理程式以報告記憶體和磁碟空間指標 CloudWatch。不過,它不包含任何日誌檔案組態。如果您使用 CloudWatch 代理程式的Systems Manager Quick Setup,也會套用預設組態。
由於預設組態不包含記錄,也未根據您的需求自訂,因此建議您建立並套用自己的 CloudWatch 組態,並根據您的需求自訂。
管理 CloudWatch 組態
根據預設, CloudWatch 組態可以儲存並套用為參數存放區參數或 CloudWatch 組態檔案。 最佳選擇取決於您的需求。 在本節中,我們會討論這兩個選項的優缺點。 代表性解決方案也詳細說明如何管理多個AWS帳戶和AWS區域的 CloudWatch 組態檔案。
Systems Manager 參數存放區參數
如果您具有單一、標準 CloudWatch 代理 CloudWatch 程式組態檔案,而您想要在一組小型AWS帳戶和區域中套用和管理,則使用參數存放區參數來管理組態可正常運作。當您將 CloudWatch 組態儲存為參數存放區參數時,您可以使用 CloudWatch 代理程式組態工具 (amazon-cloudwatch-agent-ctl
在 Linux 上) 從參數存放區讀取和套用組態,而無需將組態檔案複製到執行個體。您可以使用 AmazonCloudWatch-ManageAgent Systems Manager Command 文件,在單一執行中更新多個EC2執行個體的 CloudWatch 組態。由於參數存放區參數是區域性的,因此您必須更新和維護 CloudWatch每個AWS區域和AWS帳戶中的參數存放區參數。如果您想要套用到每個執行個體的多個 CloudWatch組態,您必須自訂 AmazonCloudWatch命令ManageAgent文件 以包含這些參數。
CloudWatch 組態檔案
如果您有多個AWS帳戶和區域,而且您正在管理多個 CloudWatch 組態檔案,則管理 CloudWatch 組態因為檔案可能運作良好。使用此方法,您可以在資料夾結構中瀏覽、組織和管理它們。 您可以將安全規則套用到個別資料夾或檔案,以限制和授予存取權,例如更新和讀取許可。您可以在 外部共用和轉移它們AWS以進行協同合作。 您可以版本控制檔案,以追蹤和管理變更。 您可以將組態檔案複製到 CloudWatch 代理程式組態目錄,而無需個別套用 CloudWatch每個組態檔案,即可共同套用組態。對於 Linux, CloudWatch 組態目錄位於 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d
。對於 Windows,組態目錄位於 C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs
。
當您啟動 CloudWatch 代理程式時,代理程式會自動附加這些目錄中找到的每個檔案,以建立 CloudWatch 複合組態檔案。組態檔案應存放在中央位置 (例如 S3 儲存貯體),您可以由必要的帳戶和區域存取。 提供使用此方法的範例解決方案。
組織 CloudWatch 組態
無論用於管理 CloudWatch 組態的方法為何,請組織您的 CloudWatch 組態。您可以使用如下所示的方法,將組態整理成檔案或參數存放區路徑。
/config/standard/windows/ec2 |
存放 Amazon 的標準 Windows 特定 CloudWatch 組態檔案EC2。您可以在此資料夾下進一步分類不同 Windows 版本、EC2執行個體類型和環境的標準作業系統 (OS) 組態。 |
/config/standard/windows/onpremises |
儲存內部部署伺服器的標準 Windows 特定 CloudWatch 組態檔案。您也可以進一步分類此資料夾下不同 Windows 版本、伺服器類型和環境的標準作業系統組態。 |
/config/standard/linux/ec2 |
儲存 Amazon 的標準 Linux 特定 CloudWatch 組態檔案EC2。您可以在此資料夾下進一步分類不同 Linux 發行版本、EC2執行個體類型和環境的標準作業系統組態。 |
/config/standard/linux/onpremises |
為內部部署伺服器存放您的標準 Linux 特定 CloudWatch 組態檔案。您可以在此資料夾下進一步分類不同 Linux 發行版本、伺服器類型和環境的標準作業系統組態。 |
/config/ecs |
如果您使用 Amazon 容器ECS執行個體,請存放 Amazon Elastic Container Service (Amazon ECS) 特有的 CloudWatch 組態檔案。這些組態可以附加到 Amazon ECS特定系統層級記錄和監控的標準 Amazon EC2組態。 |
/config/<application_name> |
存放應用程式特定的 CloudWatch 組態檔案。您可以使用環境和版本的其他資料夾和字首進一步分類您的應用程式。 |
範例:將 CloudWatch 組態檔案存放在 S3 儲存貯體
本節提供使用 Amazon S3 存放 CloudWatch 組態檔案的範例,以及用於擷取和套用 CloudWatch 組態檔案的自訂 Systems Manager Runbook。這種方法可以解決使用 Systems Manager 參數存放區參數進行大規模 CloudWatch 組態的一些挑戰:
-
如果您使用多個區域,則必須同步每個區域的參數存放區中的 CloudWatch 組態更新。參數存放區是區域性服務,且必須在使用 CloudWatch 代理程式的每個區域中更新相同的參數。
-
如果您有多個 CloudWatch 組態,您必須啟動每個參數存放區組態的擷取和應用程式。您必須個別從參數存放區擷取每個 CloudWatch 組態,並在每次新增組態時更新擷取方法。相反地, CloudWatch 提供用於儲存組態檔案的組態目錄,並在目錄中套用每個組態,而不需要個別指定這些組態。
-
如果您使用多個帳戶,則必須確保每個新帳戶在其參數存放區中具有所需的 CloudWatch 組態。您還需要確保未來任何組態變更都套用到這些帳戶及其區域。
您可以將 CloudWatch 組態存放在可從所有帳戶和區域存取的 S3 儲存貯體中。然後,您可以使用 Systems Manager Automation Runbooks 和 Systems Manager State Manager,將這些組態從 S3 儲存貯體複製到 CloudWatch 組態目錄。您可以使用 cloudwatch-config-s3-bucket.yamlOrganizationID
參數,可授予您組織內所有帳戶的讀取存取權。
本指南的「設定狀態管理員」和「分配器」中提供的擴增範例 Systems Manager Runbook,用於 CloudWatch 代理程式部署和組態區段,設定為使用 cloudwatch-config-s3-bucket.yaml
或者,您可以使用版本控制系統 (例如, GitHub) 來存放您的組態檔案。如果您想要自動擷取儲存在版本控制系統中的組態檔案,您必須管理或集中登入資料儲存,並更新 Systems Manager Automation Runbook,用於擷取跨帳戶和 的登入資料 AWS 區域。