範例:使用自訂 Amazon CloudWatch 指標 - AWS Elastic Beanstalk

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

範例:使用自訂 Amazon CloudWatch 指標

本主題提供組態範例,該範例將 Elastic Beanstalk 指標與 Amazon CloudWatch 代理程式整合,適用於以 Amazon Linux 2 及更新版本為基礎的平台。組態範例使用.ebextensions組態檔案中的檔案和命令。

Amazon CloudWatch 是一種 Web 服務,可讓您監控、管理和發佈各種指標,以及根據指標中的資料設定警示動作。您可以自行定義自訂指標,Elastic Beanstalk 會將這些指標推送至 Amazon CloudWatch。一旦 Amazon CloudWatch 包含您的自訂指標,您可以在 Amazon CloudWatch 主控台中檢視這些指標。

重要

Amazon CloudWatch 監控指令碼已棄用。 CloudWatch 客服人員現在已取代 CloudWatch 監控指令碼來收集指標和日誌。

如果您仍在從已棄用監控指令碼遷移至代理程式,並需要監控指令碼的相關資訊,請參閱 Amazon EC2使用者指南 中的已棄用:使用 CloudWatch 監控指令碼收集指標

Amazon CloudWatch 代理程式

Amazon CloudWatch 代理程式可啟用跨作業系統的 Amazon EC2執行個體和內部部署伺服器的 CloudWatch 指標和日誌收集。此代理程式支援在系統層級收集的指標,也支援從您的應用程式或服務收集自訂日誌和指標。如需 Amazon CloudWatch 代理程式的詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的向 CloudWatch 代理程式收集指標和日誌

注意

Elastic Beanstalk Enhanced Health Reporting 原生支援將各種執行個體和環境指標發佈至 CloudWatch。如需詳細資訊,請參閱 發佈環境的 Amazon CloudWatch 自訂指標

.Ebextensions 組態檔案

此範例使用 .ebextensions 組態檔案中的檔案和命令,在 Amazon Linux 2 平台上設定和執行 Amazon CloudWatch 代理程式。此代理程式會與 Amazon Linux 2 預先封裝。如果您使用的是其他作業系統,則可能需要執行額外步驟來安裝代理程式。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的安裝 CloudWatch 代理程式。

若要使用此範例,請將其儲存到名為 .ebextensions 的目錄檔案,cloudwatch.config該目錄中名為 ,然後使用 Elastic Beanstalk 主控台 (包含來源套件 中的 .ebextensions 目錄) 或 EB 部署CLI應用程式。

如需關於組態檔案的詳細資訊,請參閱 使用組態檔案 (.ebextensions) 來進行進階的環境自訂

.ebextensions/cloudwatch.config

files: "/opt/aws/amazon-cloudwatch-agent/bin/config.json": mode: "000600" owner: root group: root content: | { "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "System/Linux", "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ] } } } } container_commands: start_cloudwatch_agent: command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

此檔案包含兩個區段:

  • files — 此區段會新增代理程式組態檔案。它指出客服人員應該傳送至 Amazon 的指標和日誌 CloudWatch。在此範例中,我們僅傳送 mem_used_percent 指標。如需 Amazon CloudWatch 代理程式支援之系統層級指標的完整清單,請參閱 Amazon CloudWatch 使用者指南 中的 CloudWatch 代理程式收集的指標

  • container_commands — 此區段包含以參數形式傳遞組態檔案來啟動代理程式的命令。如需 container_commands 的詳細資訊,請參閱 容器命令

許可

環境中的執行個體需要適當的IAM許可,才能使用 Amazon CloudWatch 代理程式發佈自訂 Amazon CloudWatch 指標。您可以將許可加入環境的執行個體描述檔中,來授予您環境的執行個體。您可以在部署應用程式之前或之後,將權限加入執行個體描述檔。

授予發佈 CloudWatch 指標的許可
  1. 在 開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇角色

  3. 選擇您的環境的執行個體描述檔角色。根據預設,當您使用 Elastic Beanstalk 主控台或 EB CLI建立環境時,這是 aws-elasticbeanstalk-ec2-role

  4. 選擇許可索引標籤標籤。

  5. Permissions Policies (許可政策) 下的 Permissions (許可) 區段中,選擇 Attach policies (連接政策)。

  6. 連接許可 下,選擇 AWS 受管政策 CloudWatchAgentServerPolicy。然後,按一下 Attach Policy (連接政策)。

如需管理政策的詳細資訊,請參閱 IAM 使用者指南 中的使用政策

在 CloudWatch 主控台中檢視指標

將 CloudWatch 組態檔案部署到您的環境之後,請檢查 Amazon CloudWatch 主控台以檢視您的指標。自訂指標將位於CWAgent命名空間中。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的檢視可用的指標