使用 下載、設定和執行 CloudWatch 代理程式 SSM - Amazon CloudWatch

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

使用 下載、設定和執行 CloudWatch 代理程式 SSM

本節說明如何使用 Systems Manager 下載代理程式,以及如何建立您的代理程式組態檔案。在您可以使用 Systems Manager 下載代理程式前,您必須確保執行個體已針對 Systems Manager 設定正確。

安裝或更新SSM代理程式

在 Amazon EC2執行個體上, CloudWatch 代理程式要求執行個體執行 2.2.93.0 版或更新版本的SSM代理程式。在安裝 CloudWatch 代理程式之前,如果您尚未在執行個體上更新或安裝SSM代理程式。

如需在執行 Linux 的執行個體上安裝或更新 SSM Agent 的相關資訊,請參閱 AWS Systems Manager 使用者指南 中的在 Linux 執行個體上安裝和設定 SSM Agent

如需安裝或更新SSM客服人員的相關資訊,請參閱 AWS Systems Manager 使用者指南 中的使用SSM客服人員

驗證 Systems Manager 先決條件

在您使用 Systems Manager Run Command 安裝和設定 CloudWatch 代理程式之前,請確認您的執行個體符合 Systems Manager 的最低需求。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 Systems Manager 先決條件

驗證網際網路存取

您的 Amazon EC2執行個體必須能夠連線至 CloudWatch 端點。這可以透過網際網路閘道、NAT閘道或 CloudWatch 介面VPC端點進行。如需如何設定網際網路存取的詳細資訊,請參閱 Amazon VPC使用者指南 中的網際網路閘道

在您的代理上設定的端點和連接埠如下所示:

  • 如果您使用代理程式收集指標,則必須允許列出 CloudWatch適當區域的端點。這些端點會在 Amazon CloudWatch中列出Amazon Web Services 一般參考

  • 如果您使用代理程式收集日誌,則必須允許列出適當區域的 CloudWatch 日誌端點。這些端點會列在 的 Amazon CloudWatch LogsAmazon Web Services 一般參考

  • 如果您使用 Systems Manager 安裝代理程式或參數存放區來存放組態檔案,您必須針對適當的區域將 Systems Manager 端點列入允許名單。這些端點會列在 Amazon Web Services 一般參考AWS Systems Manager 中。

將 CloudWatch 代理程式套件下載至您的第一個執行個體

使用下列步驟,使用 Systems Manager 下載 CloudWatch 代理程式套件。

使用 Systems Manager 下載 CloudWatch 代理程式
  1. 在 開啟 Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 執行命令

    -或-

    如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令

  3. 選擇 執行命令

  4. 命令文件清單中,選擇 AWS-C onfigureAWSPackage

  5. 目標區域中,選擇要在其中安裝代理程式的 CloudWatch執行個體。如果看不到特定的執行個體,它可能未設定為受管執行個體供 Systems Manager 使用。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的AWS Systems Manager 設定混合環境

  6. Action (動作) 清單中,選擇 Install (安裝)

  7. 名稱欄位中,輸入 AmazonCloudWatchAgent.

  8. 保留將 Version (版本) 設為 latest (最新) 以安裝代理程式的最新版本。

  9. 選擇執行

  10. 或者,在 Targets and outputs (目標和輸出) 區域中,選取執行個體名稱旁的按鈕,然後選擇 View output (檢視輸出)。Systems Manager 應該會顯示代理程式已成功安裝。

建立及修改代理程式組態檔案

下載 CloudWatch 代理程式之後,您必須在任何伺服器上啟動代理程式之前建立組態檔案。

如果您要在 Systems Manager 參數存放區中儲存代理程式組態檔案,則必須使用EC2執行個體來儲存到參數存放區。此外,您必須先連接至該執行個體CloudWatchAgentAdminRoleIAM角色。如需連接角色的詳細資訊,請參閱 Amazon EC2使用者指南 中的將IAM角色連接至執行個體

如需建立 CloudWatch 代理程式組態檔案的詳細資訊,請參閱 建立 CloudWatch 代理程式組態檔案

使用代理程式組態在其他 CloudWatchEC2執行個體上安裝和啟動代理程式

在參數存放區中儲存 CloudWatch 代理程式組態之後,您可以在其他伺服器上安裝代理程式時使用它。

對於每個伺服器,請依照本節前面列出的步驟來驗證 Systems Manager 先決條件、SSM代理程式版本和網際網路存取。然後使用您建立的 CloudWatch 代理程式組態檔案,使用以下指示在其他執行個體上安裝 CloudWatch 代理程式。

步驟 1:下載並安裝 CloudWatch 代理程式

若要能夠將 CloudWatch 資料傳送至不同的區域,請確定您連接至此執行個體IAM的角色具有寫入該區域中 CloudWatch 資料的許可。

以下是使用 aws configure命令為 CloudWatch 代理程式建立具名設定檔的範例。此範例假設您使用名為 AmazonCloudWatchAgent 的預設設定檔。

建立 CloudWatch 客服人員的 AmazonCloudWatchAgent 設定檔
  • 若使用 Linux 伺服器,請輸入下列命令並依提示操作:

    sudo aws configure DASHDASHprofile AmazonCloudWatchAgent

    在 Windows Server 上,以管理員 PowerShell 身分開啟 ,輸入下列命令並遵循提示操作。

    aws configure DASHDASHprofile AmazonCloudWatchAgent

使用代理程式組態在其他 CloudWatchEC2執行個體上安裝代理程式

在參數存放區中儲存 CloudWatch 代理程式組態之後,您可以在其他伺服器上安裝代理程式時使用它。

對於每個伺服器,請依照本節前面列出的步驟來驗證 Systems Manager 先決條件、SSM代理程式版本和網際網路存取。然後使用您建立的 CloudWatch 代理程式組態檔案,使用以下指示在其他執行個體上安裝 CloudWatch 代理程式。

步驟 1:下載並安裝 CloudWatch 代理程式

您需要在每個您將執行代理程式的伺服器上安裝代理程式。 CloudWatch 代理程式可在 Amazon Linux 2023 和 Amazon Linux 2 中作為套件使用。如果您使用此作業系統,您可以使用 Systems Manager,透過下列步驟安裝套件。

注意

您也必須確定連接至執行個體IAM的角色已CloudWatchAgentServerPolicy連接 。如需詳細資訊,請參閱 在 Amazon EC2執行個體上建立IAM角色以搭配 CloudWatch 代理程式使用

使用 Systems Manager 安裝 CloudWatch 代理程式套件
  1. 在 開啟 Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 執行命令

    -或-

    如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令

  3. 選擇 執行命令

  4. 命令文件清單中,選取 AWS-RunShellScript。然後將以下內容貼到命令參數 中。

    sudo yum install amazon-cloudwatch-agent
  5. 選擇執行

在所有支援的作業系統上,您可以使用 Systems Manager Run Command 或 Amazon S3 下載連結來下載 CloudWatch 代理程式套件。如需有關使用 Simple Storage Service (Amazon S3) 下載連結的資訊,請參閱 下載 CloudWatch 代理程式套件

注意

當您安裝或更新 CloudWatch 代理程式時,僅支援解除安裝和重新安裝選項。您無法使用 In-place update (就地更新) 選項。

Systems Manager 執行命令可讓您管理執行個體的組態。您指定 Systems Manager 文件、指定參數,然後在一或多個執行個體上執行命令。SSM 執行個體上的代理程式會處理 命令,並依指定設定執行個體。

使用執行命令下載 CloudWatch 代理程式
  1. 在 開啟 Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 執行命令

    -或-

    如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令

  3. 選擇 執行命令

  4. 命令文件清單中,選擇 AWS-C onfigureAWSPackage

  5. 目標區域中,選擇要安裝 CloudWatch 代理程式的執行個體。如果您沒看到特定執行個體,可能是因為它未設定用於執行命令。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的在混合環境中設定 AWS Systems Manager

  6. Action (動作) 清單中,選擇 Install (安裝)

  7. 名稱方塊中,輸入 AmazonCloudWatchAgent.

  8. 保留將 Version (版本) 設為 latest (最新) 以安裝代理程式的最新版本。

  9. 選擇執行

  10. 或者,在 Targets and outputs (目標和輸出) 區域中,選取執行個體名稱旁的按鈕,然後選擇 View output (檢視輸出)。Systems Manager 應該會顯示代理程式已成功安裝。

步驟 2:使用您的 CloudWatch 代理程式組態檔案啟動代理程式

依照以下步驟使用 Systems Manager 執行命令啟動代理程式。

使用執行命令啟動 CloudWatch 代理程式
  1. 在 開啟 Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 執行命令

    -或-

    如果 AWS Systems Manager 首頁開啟,請向下捲動並選擇探索執行命令

  3. 選擇 執行命令

  4. 命令文件清單中,選擇 AmazonCloudWatch-ManageAgent

  5. 目標區域中,選擇您安裝 CloudWatch 代理程式的執行個體。

  6. Action (動作) 清單中,選擇 configure (設定)

  7. Optional Configuration Source (選用組態來源) 清單中,選擇 ssm

  8. 選用組態位置方塊中,輸入您建立並儲存至 Systems Manager 參數存放區的 Systems Manager 參數名稱和代理程式組態檔案名稱,如 建立 CloudWatch 代理程式組態檔案 中所述。

  9. 完成這些步驟之後,在 Optional Restart (選用重新啟動) 清單中選擇 yes (是) 以啟動代理程式。

  10. 選擇執行

  11. 或者,在 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 – 對於內部部署伺服器,此行會指定要用來將資料傳送至 IAM的使用者憑證設定檔 CloudWatch。若您將此行標示為註解,則會使用 AmazonCloudWatchAgent

    在EC2執行個體上,您可以使用此行讓 CloudWatch 客服人員將此執行個體的資料傳送至 CloudWatch 不同 AWS 區域中的 。若要執行此作業,請指定一個具名描述檔,其中包含指定要傳送對象區域名稱的 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] 行開頭中的 #

  • Proxy 設定 – 如果您的伺服器使用 HTTP或 HTTPS 代理來聯絡 AWS 服務,請在 http_proxyhttps_proxy欄位中指定這些代理。如果有應該從代理中排除URLs的 ,請在 no_proxy 欄位中指定它們,並以逗號分隔。