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

2 分的閱讀內容
0

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

解決方法

開始之前,請在 EC2 執行個體中建立網際網路連線。EC2 執行個體必須具有網際網路連線才能連線至所需的端點。

建立 IAM 角色以在您的 EC2 執行個體上執行 CloudWatch 代理程式

請完成下列步驟:

  1. 開啟 AWS Identify and Access Management (IAM) 主控台
  2. 在導覽窗格中,選擇角色
  3. 選擇建立角色
  4. 對於選擇將使用此角色的服務,選擇 EC2
  5. 選擇 Next: Permissions (下一步: 權限)。
  6. 在政策清單中,選取 CloudWatchAgentServerPolicy
  7. 選擇 Next: 標籤,然後選擇下一步: 檢閱
  8. 對於角色名稱,輸入角色的名稱,例如 CloudWatchAgentServerRole
  9. (選用) 提供角色描述。
  10. 確認 CloudWatchAgentServerPolicy 出現在政策旁。
  11. 選擇建立角色
  12. 將新 IAM 角色連接至 EC2 執行個體。

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

Linux EC2 執行個體

請完成下列步驟:

  1. 若要下載 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 EC2 執行個體

在 Windows PowerShell 中以管理員身分完成下列步驟:

  1. 導覽到您要下載安裝程式的資料夾:

    cd "path"

    **注意:**在上述命令中,將 path (路徑) 替換為要下載安裝程式之資料夾的路徑。

  2. 若要下載 CloudWatch 代理程式,請執行下列命令:

    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 : 請求已中止: 無法建立 SSL/TLS 安全通道」

    若要設定 TLS 版本,請執行下列命令,然後再次執行先前的 Invoke-WeRequest 命令:

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

    msiexec /i amazon-cloudwatch-agent.msi

建立代理程式組態檔

若要建立代理程式組態檔,請使用精靈。然後,請手動編輯該檔案以新增或移除指標或日誌。

Linux EC2 執行個體

執行以下命令:

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

Windows EC2 執行個體

在 Windows PowerShell 中以管理員身分執行下列命令:

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

預設情況下,精靈會使用路徑 C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json 建立代理程式組態檔。

啟動 CloudWatch 代理程式

Linux EC2 執行個體

執行以下命令:

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

**注意:**在上述範例中,將 configuration-file-path 替換為組態檔的路徑。

Windows EC2 執行個體

在 Windows PowerShell 中以管理員身分執行下列命令:

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

**注意:**在上述命令中,將 configuration-file-path 替換為您組態的路徑。

預設情況下,代理程式會將指標傳送到 NameSpace CWAgent

確認代理程式狀態

代理程式需要一些時間來填入您在 CloudWatch 中設定的指標。若要在代理程式填入指標之前,確認代理程式是否正在執行,請執行以下命令。

Linux EC2 執行個體:

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

Windows EC2 執行個體:

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -m ec2 -a status

代理程式組態檔精靈的提示

使用代理程式組態檔精靈時,請使用以下提示來協助您回答問題。

**您想開啟 StatsD 常駐程式嗎?以及您想監控來自 collectd 的指標嗎?**如果您的 EC2 執行個體上安裝了 StatsDcollectd 外掛程式,請針對這些問題選擇 Yes (是)。

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

**您是否有現有的 CloudWatch Logs Agent 組態檔可以匯入以進行遷移?**如果您已安裝並正在執行 awslogs 代理程式,請選擇 Yes (是)。如果您選擇 Yes (是),則精靈將讀取 awslogs 代理程式組態檔 /etc/awslogs/awslogs.conf/var/awslogs/etc/awslogs.conf,以確定您必須監控的日誌檔案。

**您是否要將組態儲存在 Parameter Store (這是 AWS Systems Manager 的一項功能) 中?**若要將代理程式組態檔儲存在 Parameter Store 中,以便稍後重複使用該檔案,請選擇 Yes (是)。當您將代理程式組態檔儲存在 Parameter Store 中時,用於啟動代理程式的命令會有所不同。

設定精靈後,代理程式組態檔預設會儲存在 /opt/aws/amazon-cloudwatch-agent/bin/config.json 中。若要新增或移除指標或日誌,您可以手動編輯該檔案

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

**注意:**修改代理程式組態檔案時,請使用 fetch-config 命令啟動代理程式,以確保代理程式會反映您的變更。

啟動和停止 CloudWatch 代理程式

如需詳細資訊,請參閱停止並重新啟動 CloudWatch 代理程式

AWS 官方
AWS 官方已更新 3 個月前