在伺服器上安裝和執行 CloudWatch 代理程式 - Amazon CloudWatch

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

在伺服器上安裝和執行 CloudWatch 代理程式

為IAM角色或IAM使用者建立代理程式組態檔案後,請使用下列步驟,在具有該組態的伺服器上安裝和執行 CloudWatch 代理程式。首先,將IAM角色或IAM使用者連接到將執行代理程式的伺服器。接著,在該伺服器上,下載代理程式套件,並使用您建立的代理程式組態啟動它。

使用 S3 下載連結下載 CloudWatch 代理程式套件

注意

若要下載 CloudWatch 代理程式,您的連線必須使用 TLS 1.2 或更新版本。

您需要在每個您將執行代理程式的伺服器上安裝代理程式。

Amazon Linux AMIs

CloudWatch 代理程式可在 Amazon Linux 2023 和 Amazon Linux 2 中作為套件使用。如果您使用的是此作業系統,則可以輸入下列命令來安裝套件。您也必須確定連接至執行個體IAM的角色已CloudWatchAgentServerPolicy連接 。如需詳細資訊,請參閱 在 Amazon EC2執行個體上建立IAM角色以搭配 CloudWatch 代理程式使用

sudo yum install amazon-cloudwatch-agent

所有作業系統

在所有支援的作業系統上,您可以使用命令列搭配 Amazon S3 下載連結來下載和安裝 CloudWatch 代理程式,如下列步驟所述。

每個下載連結都有一個一般連結及針對每個區域的連結。例如,對於 Amazon Linux 2023、Amazon Linux 2 和 x86-64 架構,三個有效的下載連結為:

  • https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

  • https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

  • https://amazoncloudwatch-agent-eu-central-1.s3.eu-central-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

架構 平台 下載連結 簽章檔案連結

x86-64

Amazon Linux 2023 和 Amazon Linux 2

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

Centos

https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

Redhat

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

SUSE

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

Debian

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig

x86-64

Ubuntu

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig

x86-64

Oracle

https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

macOS

https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig

x86-64

Windows

https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig

ARM64

Amazon Linux 2023 和 Amazon Linux 2

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig

ARM64

Redhat

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig

ARM64

Ubuntu

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig

ARM64

Debian

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig

ARM64

SUSE

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig

使用命令列在 Amazon EC2執行個體上安裝 CloudWatch 代理程式
  1. 下載 CloudWatch 代理程式。針對 Linux 伺服器,請輸入以下資訊。用於 download-link,請使用上一個資料表中適當的下載連結。

    wget download-link

    針對執行 Windows Server 的伺服器,請下載以下檔案:

    https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
  2. 下載套件之後,您可以選擇驗證套件簽章。如需詳細資訊,請參閱驗證 CloudWatch 客服人員套件的簽章

  3. 安裝套件。如果您在 Linux 伺服器上下載RPM套件,請變更為包含套件的目錄,然後輸入下列項目:

    sudo rpm -U ./amazon-cloudwatch-agent.rpm

    如果您在 Linux 伺服器上下載DEB套件,請變更為包含套件的目錄,然後輸入下列項目:

    sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

    如果您在執行 Windows Server 的伺服器上下載MSI套件,請變更為包含套件的目錄,然後輸入下列項目:

    msiexec /i amazon-cloudwatch-agent.msi

    此命令也可以在 內運作 PowerShell。如需MSI命令選項的詳細資訊,請參閱 Microsoft Windows 文件中的命令列選項

(在EC2執行個體上安裝) 連接IAM角色

若要讓 CloudWatch 代理程式從執行個體傳送資料,您必須將IAM角色連接至執行個體。要連接的角色是 CloudWatchAgentServerRole。您之前應該已建立此角色。如需詳細資訊,請參閱 建立IAM角色和使用者以搭配 CloudWatch 客服人員使用

如需將IAM角色連接至執行個體的詳細資訊,請參閱 Amazon EC2使用者指南 中的將IAM角色連接至執行個體

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

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

您還必須使用 AWS 組態檔案 [AmazonCloudWatchAgent]區段中的 region 欄位,指定 AWS 要傳送指標的區域,如下列範例所示。

[profile AmazonCloudWatchAgent] region = us-west-1

以下是使用 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

驗證網際網路存取

您的 Amazon EC2執行個體必須具有傳出網際網路存取權,才能將資料傳送至 CloudWatch 或 CloudWatch Logs。如需如何設定網際網路存取的詳細資訊,請參閱 Amazon VPC使用者指南 中的網際網路閘道

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

  • 如果您使用代理程式收集指標,則必須將 CloudWatch適當區域的端點新增至允許清單。這些端點會列在 Amazon CloudWatch 端點和配額 中。

  • 如果您使用代理程式收集日誌,則必須將適當區域的 CloudWatch 日誌端點新增至允許清單。這些端點會列在 Amazon CloudWatch Logs 端點和配額 中。

  • 若您使用 Systems Manager 安裝代理程式或參數存放區來存放組態檔案,您必須針對適當的區域將 Systems Manager 端點新增至允許清單。這些端點會列在 AWS Systems Manager 端點和配額中。

(選用) 修改代理或區域資訊的常見組態

CloudWatch 代理程式包含名為 的組態檔案common-config.toml。您可以選擇性地使用此檔案來指定代理和區域資訊。

在執行 Linux 的伺服器上,此檔案位於 /opt/aws/amazon-cloudwatch-agent/etc 目錄。在執行 Windows Server 的伺服器上,此檔案位於 C:\ProgramData\Amazon\AmazonCloudWatchAgent 目錄。

注意

我們建議您在內部部署模式下執行 CloudWatch 代理程式時,使用 common-config.toml 檔案來提供共用組態和憑證,而且當您在 Amazon 上執行時,也很有用,EC2而且您想要重複使用現有的共用憑證設定檔和檔案。透過 啟用它common-config.toml具有附加優勢,如果您的共用憑證檔案在過期後使用更新的憑證輪換,則客服人員會自動提取新的憑證,而不需要重新啟動。

預設的 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 the on-premises 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 代理程式

請依照下列步驟,使用命令列在伺服器上啟動 CloudWatch 代理程式。

使用命令列在伺服器上啟動 CloudWatch 代理程式
  1. 將您希望使用的代理程式組態檔案複製到您要執行代理程式的伺服器。請注意您複製的目標路徑名稱。

  2. 在此命令中, -a fetch-config會導致代理程式載入最新版本的 CloudWatch 代理程式組態檔案,並-s啟動代理程式。

    輸入以下其中一個命令。Replace (取代) configuration-file-path 代理程式組態檔案的路徑。如果您使用精靈建立,則這個檔案稱為 config.json;如果您以手動方式建立,則可能稱為 amazon-cloudwatch-agent.json

    在執行 Linux 的EC2執行個體上,輸入下列命令。

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

    在執行 Linux 的現場部署伺服器上,輸入以下內容:

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

    在執行 Windows Server 的EC2執行個體上,從 PowerShell 主控台輸入下列項目:

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

    在執行 Windows Server 的內部部署伺服器上,從 PowerShell 主控台輸入下列項目:

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