在內部部署伺服器上安裝 CloudWatch 代理程式 - Amazon CloudWatch

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

在內部部署伺服器上安裝 CloudWatch 代理程式

如果您在電腦上下載 CloudWatch 代理程式並建立代理程式組態檔案,您可以使用該組態檔案在其他內部部署伺服器中安裝代理程式。

在內部部署伺服器上下載 CloudWatch 代理程式

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

使用 Systems Manager 下載

若要使用 Systems Manager Run Command,您必須向 Amazon EC2 Systems Manager 註冊內部部署伺服器。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的在混合環境中設定 Systems Manager

如果您已註冊伺服器,請將SSM客服人員更新至最新版本。

如需在執行 Linux 的伺服器上更新 SSM Agent 的相關資訊,請參閱 AWS Systems Manager 使用者指南中的安裝混合環境 (Linux) 的 SSM Agent

如需在執行 Windows Server 的伺服器上更新SSM代理程式的相關資訊,請參閱 AWS Systems Manager 使用者指南中的安裝混合環境的SSM代理程式 (Windows)

使用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 (版本) 維持空白,以安裝代理程式的最新版本。

  9. 選擇執行

    下載代理程式套件之後,下一個步驟是設定然後啟動。

(在內部部署伺服器上安裝) 指定IAM憑證和 AWS 區域

若要讓 CloudWatch 客服人員從內部部署伺服器傳送資料,您必須指定您先前建立之IAM使用者的存取金鑰和秘密金鑰。如需建立此使用者的詳細資訊,請參閱建立IAM角色和使用者以搭配 CloudWatch 客服人員使用

您還必須使用 region 欄位指定 AWS 要傳送指標的區域。

以下是此檔案的範例。

[AmazonCloudWatchAgent] aws_access_key_id=my_access_key aws_secret_access_key=my_secret_key region = us-west-1

用於 my_access_key 以及 my_secret_key,使用來自沒有寫入 Systems Manager 參數存放區許可之IAM使用者的金鑰。如需 CloudWatch 客服人員所需IAM使用者的詳細資訊,請參閱 在內部部署伺服器上建立IAM使用者以搭配 CloudWatch 代理程式使用

若您將此描述檔命名為 AmazonCloudWatchAgent,您便不需要執行更多作業。您也可以選擇給予它一個不同的名稱,並將名稱指定為 common-config.toml 檔案中 shared_credential_profile 的值,如下一節所述。

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

建立 CloudWatch 客服人員的 AmazonCloudWatchAgent 設定檔
  1. 如果您尚未這麼做, AWS Command Line Interface 請在伺服器上安裝 。如需詳細資訊,請參閱安裝 AWS CLI

  2. 在 Linux 伺服器上,輸入以下命令並依提示操作:

    sudo aws configure --profile AmazonCloudWatchAgent

    在 Windows Server 上,以管理員 PowerShell 身分開啟 ,輸入下列命令,然後依照提示操作。

    aws configure --profile AmazonCloudWatchAgent

(選用) 修改 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。如需建立此描述檔的詳細資訊,請參閱(在內部部署伺服器上安裝) 指定IAM憑證和 AWS 區域

    在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 欄位中指定它們,並以逗號分隔。

啟動 CloudWatch 代理程式

您可以使用 Systems Manager Run Command 或命令列來啟動 CloudWatch 代理程式。

使用SSM客服人員在內部部署伺服器上啟動 CloudWatch 客服人員
  1. 在 開啟 Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

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

    -或-

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

  3. 選擇 執行命令

  4. 命令文件清單中,選取 AmazonCloudWatch-ManageAgent 旁的按鈕。

  5. Targets (目標) 區域中,選取您安裝代理程式的執行個體。

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

  7. 模式清單中,選擇 onPremise

  8. Optional Configuration Location (選用組態位置) 方塊中,輸入您使用精靈建立並存放於參數存放區的代理程式組態檔案名稱。

  9. 選擇執行

    代理程式以您在組態檔案中指定的組態進行啟動。

使用命令列在內部部署伺服器上啟動 CloudWatch 代理程式
  • 在此命令中, -a fetch-config會導致代理程式載入最新版本的 CloudWatch 代理程式組態檔案,並-s啟動代理程式。

    Linux:如果您已將組態檔案儲存於 Systems Manager 參數存放區,請輸入以下內容:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name

    Linux:如果您已將組態檔案儲存於本機電腦,請輸入以下命令:Replace (取代) configuration-file-path 代理程式組態檔案的路徑。如果您使用精靈建立,則這個檔案稱為 config.json;如果您以手動方式建立,則可能稱為 amazon-cloudwatch-agent.json

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:configuration-file-path

    Windows Server:如果您將代理程式組態檔案儲存在 Systems Manager 參數存放區中,請從 PowerShell 主控台輸入下列項目:

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name

    Windows Server:如果您在本機電腦上儲存代理程式組態檔案,請從 PowerShell 主控台輸入下列項目。Replace (取代) configuration-file-path 代理程式組態檔案的路徑。如果您使用精靈建立,則這個檔案稱為 config.json;如果您以手動方式建立,則可能稱為 amazon-cloudwatch-agent.json

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path