本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SSM 下載、設定和執行 CloudWatch 代理程式
本節說明如何使用 Systems Manager 下載代理程式,以及如何建立您的代理程式組態檔案。在您可以使用 Systems Manager 下載代理程式前,您必須確保執行個體已針對 Systems Manager 設定正確。
安裝或更新 SSM Agent
在 Amazon EC2 執行個體上,CloudWatch 代理程式要求執行個體執行 2.2.93.0 版或更新版本的 SSM 代理程式。在您安裝 CloudWatch 代理程式之前,如果您尚未完成更新或安裝,請在執行個體上更新或安裝 SSM Agent。
如需在執行 Linux 的執行個體上安裝或更新 SSM Agent 的資訊,請參閱《AWS Systems Manager 使用者指南》中的在 Linux 執行個體上安裝和設定 SSM Agent。
如需有關安裝或更新 SSM Agent 的資訊,請參閱《AWS Systems Manager 使用者指南》中的使用 SSM Agent。
驗證 Systems Manager 先決條件
使用 Systems Manager 執行命令來安裝和設定 CloudWatch 代理程式之前,請確認您的執行個體符合 Systems Manager 最低要求。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 Systems Manager 先決條件。
驗證網際網路存取
您的 Amazon EC2 執行個體必須能夠連線至 CloudWatch 端點。這可以透過網際網路閘道、NAT 閘道或 CloudWatch Interface VPC 端點。如需有關如何設定網際網路存取的詳細資訊,請參閱《Amazon VPC 使用者指南》中的網際網路閘道。
在您的代理上設定的端點和連接埠如下所示:
-
若您使用代理程式收集指標,您必須針對適當的區域將 CloudWatch 端點列入允許清單。這些端點會列在 Amazon Web Services 一般參考 的 Amazon CloudWatch 中。
-
若您使用代理程式收集日誌,您必須針對適當的區域將 CloudWatch Logs 端點列入允許清單。這些端點會列在 Amazon Web Services 一般參考 的 Amazon CloudWatch Logs 中。
-
如果您使用 Systems Manager 安裝代理程式或參數存放區來存放組態檔案,您必須針對適當的區域將 Systems Manager 端點列入允許名單。這些端點會列在 Amazon Web Services 一般參考 的 AWS Systems Manager 中。
下載 CloudWatch 代理程式套件到您的第一個執行個體
使用下列步驟來利用 Systems Manager 下載 CloudWatch 代理程式套件。
若要使用 Systems Manager 下載 CloudWatch 代理程式
在 https://https://console.aws.amazon.com/systems-manager/
開啟 Systems Manager 主控台。 在導覽窗格中,選擇 執行命令。
-或-
如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令。
-
選擇執行命令。
-
在 Command document (命令文件) 清單中選擇 AWS-ConfigureAWSPackage。
-
在 Targets (目標) 區域中,選擇要在其上安裝 CloudWatch 代理程式的執行個體。如果看不到特定的執行個體,它可能未設定為受管執行個體供 Systems Manager 使用。如需詳細資訊,請參閱AWS Systems Manager 《 使用者指南》中的AWS Systems Manager 設定混合環境。
-
在 Action (動作) 清單中,選擇 Install (安裝)。
-
在 Name (名稱) 欄位中,輸入
AmazonCloudWatchAgent
。 -
保留將 Version (版本) 設為 latest (最新) 以安裝代理程式的最新版本。
-
選擇執行。
-
或者,在 Targets and outputs (目標和輸出) 區域中,選取執行個體名稱旁的按鈕,然後選擇 View output (檢視輸出)。Systems Manager 應該會顯示代理程式已成功安裝。
建立及修改代理程式組態檔案
下載 CloudWatch 代理程式之後,您必須建立組態檔案,然後才能在任何伺服器上啟動代理程式。
若您要將代理程式組態檔案儲存在 Systems Manager 參數存放區中,您必須使用 EC2 執行個體才能儲存到參數存放區。此外,您必須先將 CloudWatchAgentAdminRole
IAM 角色連接到該執行個體。如需連接角色的詳細資訊,請參閱《Amazon EC2 使用者指南》中的將 IAM 角色連接至執行個體。
如需建立 CloudWatch 代理程式組態檔案的詳細資訊,請參閱 建立 CloudWatch 代理程式組態檔案。
使用代理程式組態在其他 EC2 執行個體上安裝和啟動 CloudWatch 代理程式
在您將 CloudWatch 代理程式組態儲存於參數存放區之後,即可在其他伺服器上安裝代理程式時使用它。
對於每個伺服器,請遵循本節先前列出的步驟,驗證 Systems Manager 先決條件、SSM 代理程式版本和網際網路存取。然後,使用您建立的 CloudWatch 代理程式組態檔案,使用以下指示,在其他執行個體上安裝 CloudWatch 代理程式。
步驟 1:下載並安裝 CloudWatch 代理程式
若要能夠將 CloudWatch 資料傳送至不同的區域,請確定您連接至此執行個體的 IAM 角色具有在該區域中寫入 CloudWatch 資料的許可。
以下是使用 aws configure
命令建立 CloudWatch 代理程式具名描述檔的範例。此範例假設您使用名為 AmazonCloudWatchAgent
的預設設定檔。
若要建立 CloudWatch 代理程式的 AmazonCloudWatchAgent 描述檔
-
若使用 Linux 伺服器,請輸入下列命令並依提示操作:
sudo aws configure --profile AmazonCloudWatchAgent
在 Windows Server 上,以管理員身分開啟 PowerShell,輸入下列命令,然後依照提示操作。
aws configure --profile AmazonCloudWatchAgent
使用您的代理程式組態在其他 EC2 執行個體上安裝 CloudWatch 代理程式
在您將 CloudWatch 代理程式組態儲存於參數存放區之後,即可在其他伺服器上安裝代理程式時使用它。
對於每個伺服器,請遵循本節先前列出的步驟,驗證 Systems Manager 先決條件、SSM 代理程式版本和網際網路存取。然後,使用您建立的 CloudWatch 代理程式組態檔案,使用以下指示,在其他執行個體上安裝 CloudWatch 代理程式。
步驟 1:下載並安裝 CloudWatch 代理程式
您需要在每個您將執行代理程式的伺服器上安裝代理程式。CloudWatch 代理程式可在 Amazon Linux 2023 和 Amazon Linux 2 中做為套件使用。如果您使用此作業系統,您可以使用 Systems Manager,透過下列步驟安裝套件。
注意
您還必須確定連接到執行個體的 IAM 角色已連接 CloudWatchAgentServerPolicy。如需詳細資訊,請參閱 建立 IAM 角色,以便在 Amazon EC2 執行個體上搭配 CloudWatch 代理程式使用。
使用 Systems Manager 安裝 CloudWatch 代理程式套件
在 https://https://console.aws.amazon.com/systems-manager/
開啟 Systems Manager 主控台。 在導覽窗格中,選擇 執行命令。
-或-
如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令。
-
選擇執行命令。
在命令文件清單中,選取 AWS-RunShellScript。然後將以下內容貼到命令參數中。
sudo yum install amazon-cloudwatch-agent
選擇執行。
在所有支援的作業系統上,您可以使用 Systems Manager 執行命令或 Simple Storage Service (Amazon S3) 下載連結下載 CloudWatch 代理程式套件。如需有關使用 Simple Storage Service (Amazon S3) 下載連結的資訊,請參閱 下載 CloudWatch 代理程式套件。
注意
當您安裝或更新 CloudWatch 代理程式時,僅支援 Uninstall and reinstall (解除安裝和重新安裝) 選項。您無法使用 In-place update (就地更新) 選項。
Systems Manager 執行命令可讓您管理執行個體的組態。您指定 Systems Manager 文件、指定參數,然後在一或多個執行個體上執行命令。在執行個體上的 SSM Agent 代理程式,會依指定來處理指令和設定執行個體。
若要使用執行命令下載 CloudWatch 代理程式
在 https://https://console.aws.amazon.com/systems-manager/
開啟 Systems Manager 主控台。 在導覽窗格中,選擇 執行命令。
-或-
如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令。
-
選擇執行命令。
-
在 Command document (命令文件) 清單中選擇 AWS-ConfigureAWSPackage。
-
在 Targets (目標) 區域中,選擇要用於安裝 CloudWatch 代理程式的執行個體。如果您沒看到特定執行個體,可能是因為它未設定用於執行命令。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的在混合環境中設定 AWS Systems Manager。
-
在 Action (動作) 清單中,選擇 Install (安裝)。
-
在 Name (名稱) 方塊中,輸入
AmazonCloudWatchAgent
。 -
保留將 Version (版本) 設為 latest (最新) 以安裝代理程式的最新版本。
-
選擇執行。
-
或者,在 Targets and outputs (目標和輸出) 區域中,選取執行個體名稱旁的按鈕,然後選擇 View output (檢視輸出)。Systems Manager 應該會顯示代理程式已成功安裝。
步驟 2:使用您的代理程式組態檔案啟動 CloudWatch 代理程式
依照以下步驟使用 Systems Manager 執行命令啟動代理程式。
若要使用執行命令啟動 CloudWatch 代理程式
在 https://https://console.aws.amazon.com/systems-manager/
開啟 Systems Manager 主控台。 在導覽窗格中,選擇 執行命令。
-或-
如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令。
-
選擇執行命令。
-
在 Command document (命令文件) 清單中選擇 AmazonCloudWatch-ManageAgent。
-
在 Targets (目標) 區域中,選擇您安裝 CloudWatch 代理程式的執行個體。
-
在 Action (動作) 清單中,選擇 configure (設定)。
-
在 Optional Configuration Source (選用組態來源) 清單中,選擇 ssm。
-
在選用組態位置方塊中,輸入您建立並儲存至 Systems Manager 參數存放區的 Systems Manager 參數名稱和代理程式組態檔案名稱,如 建立 CloudWatch 代理程式組態檔案 中所述。
-
完成這些步驟之後,在 Optional Restart (選用重新啟動) 清單中選擇 yes (是) 以啟動代理程式。
-
選擇執行。
-
或者,在 Targets and outputs (目標和輸出) 區域中,選取執行個體名稱旁的按鈕,然後選擇 View output (檢視輸出)。Systems Manager 應該會顯示代理程式已成功啟動。
(選用) 修改 CloudWatch 代理程式的常見組態和命名描述檔
CloudWatch 代理程式包含稱為 common-config.toml
的組態檔案。您可以使用此檔案選擇性地指定代理和區域資訊。
在執行 Linux 的伺服器上,此檔案位於 /opt/aws/amazon-cloudwatch-agent/etc
目錄。在執行 Windows Server 的伺服器上,此檔案位於 C:\ProgramData\Amazon\AmazonCloudWatchAgent
目錄。
預設的 common-config.toml
如下:
# This common-config is used to configure items used for both ssm and cloudwatch access ## Configuration for shared credential. ## Default credential strategy will be used if it is absent here: ## Instance role is used for EC2 case by default. ## AmazonCloudWatchAgent profile is used for onPremise case by default. # [credentials] # shared_credential_profile = "{profile_name}" # shared_credential_file= "{file_name}" ## Configuration for proxy. ## System-wide environment-variable will be read if it is absent here. ## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy ## Note: system-wide environment-variable is not accessible when using ssm run-command. ## Absent in both here and environment-variable means no proxy will be used. # [proxy] # http_proxy = "{http_url}" # https_proxy = "{https_url}" # no_proxy = "{domain}"
最初所有行都會標示為註解。若要設定登入資料設定檔或代理設定,請移除該行的 #
並指定值。您可以手動編輯此檔案,或使用 Systems Manager 中的 RunShellScript
執行命令:
-
shared_credential_profile
– 針對現場部署伺服器,這一行會指定要用來將資料傳送給 CloudWatch 的 IAM 使用者憑證描述檔。若您將此行標示為註解,則會使用AmazonCloudWatchAgent
。在 EC2 執行個體上,您可以使用此行讓 CloudWatch 代理程式從此執行個體將資料傳送至不同 AWS 區域中的 CloudWatch。若要執行此作業,請指定一個具名描述檔,其中包含指定要傳送對象區域名稱的
region
欄位。如果您指定
shared_credential_profile
,即必須也要移除[credentials]
行開頭中的#
。 -
shared_credential_file
– 若要讓代理程式在位於預設路徑以外路徑的檔案中尋找憑證,請在此處指定該完整路徑及檔案名稱。Linux 的預設路徑是/root/.aws
,Windows Server 的預設路徑是C:\\Users\\Administrator\\.aws
。以下第一個範例顯示適用於 Linux 伺服器的
shared_credential_file
行語法,第二個範例則適用於 Windows Server 有效。在 Windows Server 上,您必須跳脫 \ 字元。shared_credential_file= "/usr/
username
/credentials"shared_credential_file= "C:\\Documents and Settings\\
username
\\.aws\\credentials"如果您指定
shared_credential_file
,即必須也要移除[credentials]
行開頭中的#
。 -
代理設定 – 若您的伺服器使用 HTTP 或 HTTPS 代理來和 AWS 服務聯絡,請在
http_proxy
和https_proxy
欄位中指定那些代理。如有必須排除在代理之外的 URL,請在no_proxy
欄位中指定並以逗號分隔。