跳至內容

如何安裝並設定整合式 CloudWatch 代理程式,將 EC2 執行個體的指標和日誌傳送至 CloudWatch?

2 分的閱讀內容
0

我想使用整合式 Amazon CloudWatch 代理程式,將 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的指標和日誌傳送至 CloudWatch。

解決方法

先決條件: 為 Amazon EC2 執行個體建立網際網路連線。EC2 執行個體必須能連線至網際網路,才能連線至必要的端點。

建立 IAM 角色,以便在執行個體上執行 CloudWatch 代理程式

請完成以下步驟:

  1. 開啟 AWS Identity and Access Management (IAM) console (AWS Identity and Access Management (IAM) 主控台)。
  2. 在導覽窗格中,選擇 Roles (角色)。
  3. 選擇 Create role (建立角色)。
  4. 在 Service or use case (服務或使用案例),選擇 EC2。
  5. 選擇 Next (下一步)。
  6. 在政策清單中,選取 CloudWatchAgentServerPolicy。
  7. 選擇 Next. (下一步)。
  8. 提供以下資訊:
    在 Role name (角色名稱),輸入角色名稱,例如 CloudWatchAgentServerRole。
    在 Description (描述),提供角色的描述。
  9. 在 Permissions policy (權限政策) 摘要區段中,確認清單包含 CloudWatchAgentServerPolicy。
  10. 選擇 Create role (建立角色)。
  11. 將新的 IAM 角色Attach (連接) 至執行個體。

下載並安裝整合式 CloudWatch 代理程式

Linux 執行個體

請完成以下步驟:

  1. 執行以下 wget 命令,下載 CloudWatch 代理程式:
    wget https://s3.REGION.amazonaws.com/amazoncloudwatch-agent-REGION/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
    注意: 請將 REGION 替換為您的 AWS 區域。
  2. 執行以下命令,安裝 CloudWatch 代理程式:
    sudo rpm -U ./amazon-cloudwatch-agent.rpm

Windows 執行個體

請以管理員身分在 AWS Tools for PowerShell 中完成以下步驟:

  1. 前往您要下載安裝程式的資料夾:

    cd "path"

    注意: 請將 path 替換為您要下載安裝程式的資料夾路徑。

  2. 若要下載 CloudWatch 代理程式,請執行以下 Invoke-WebRequest 命令:

    Invoke-WebRequest -Uri https://s3.REGION.amazonaws.com/amazoncloudwatch-agent-REGION/windows/amd64/latest/amazon-cloudwatch-agent.msi -outFile amazon-cloudwatch-agent.msi

    注意: 請將 REGION 替換為您的區域。如果您的 TLS 版本低於 1.2,執行上述 Invoke-WebRequest 命令時會收到以下錯誤: 「Invoke-WebRequest: The request was aborted: Could not create SSL/TLS secure channel」

  3. 若要設定 TLS 版本,請執行以下命令,然後再次執行上述 Invoke-WebRequest 命令:

    [Net.ServicePointManager]::SecurityProtocol = "Tls, Tls11, Tls12, Ssl3"
  4. 執行以下命令,啟動代理程式安裝程式:

    msiexec /i amazon-cloudwatch-agent.msi

建立代理程式組態檔案

若要建立代理程式組態檔案,請使用精靈。回答代理程式組態檔案精靈的問題時,請參考以下資訊。

精靈問題的回答指南

您要開啟 StatsD 常駐程式嗎? 您要監控 collectd 的指標嗎?

如果您的執行個體已安裝 StatsD 和 collectd 外掛程式,請針對這些問題選擇 Yes (是)。

您要使用哪一種預設指標組態?

如需預設組態的詳細資訊,請參閱CloudWatch 代理程式預先定義的指標集。請選擇最適合您使用案例的選項。

您是否有要匯入以進行遷移的現有 CloudWatch Logs 代理程式組態檔案?

如果您已安裝 awslogs 代理程式,且該代理程式正在執行,請選擇 Yes (是)。如果選擇 Yes (是),精靈會讀取 awslogs 代理程式組態檔案 /etc/awslogs/awslogs.conf 或 /var/awslogs/etc/awslogs.conf,以判斷您必須監控哪些日誌檔案。

您要將組態儲存在 AWS Systems Manager 的 Parameter Store 功能中嗎?

若要將代理程式組態檔案儲存在 Parameter Store,以便稍後重複使用,請選擇 Yes (是)。將代理程式組態檔案儲存在 Parameter Store 時,啟動代理程式的命令會有所不同。

使用精靈

對於 Linux 執行個體,請執行以下命令:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

對於 Windows 執行個體,請以管理員身分在 Tools for PowerShell 中執行以下命令:

cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
.\amazon-cloudwatch-agent-config-wizard.exe

精靈預設會將代理程式組態檔案儲存在以下路徑:

Linux: /opt/aws/amazon-cloudwatch-agent/bin/config.json

Windows: C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json

如需自訂組態檔案範例,請參閱CloudWatch 代理程式組態檔案: 完整範例。

接著,編輯檔案以新增或移除指標或日誌。

若要套用組態檔案的變更,請執行 fetch-config 命令來重新啟動代理程式。

啟動 CloudWatch 代理程式

注意: 在以下命令中,請將 configuration-file-path 替換為組態檔案的路徑。

對於 Linux 執行個體,請執行以下命令:

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

對於 Windows 執行個體,請以管理員身分在 Tools for PowerShell 中執行以下命令:

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

代理程式預設會將指標傳送至 CWAgent 命名空間。

確認代理程式狀態

代理程式啟動後,可能需要幾分鐘才會將指標發佈至 CloudWatch。若要在 CloudWatch 顯示指標前確認代理程式是否正在執行,請執行以下命令。

對於 Linux 執行個體,請執行以下命令:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

對於 Windows 執行個體,請執行以下命令:

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -m ec2 -a status
AWS 官方已更新 6 個月前