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

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

範例:使用自訂 Amazon CloudWatch 指標

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 增強 Health 報告具有將各種執行個體和環境指標發佈到的原生支援。 CloudWatch如需詳細資訊,請參閱 為環境發佈 Amazon CloudWatch 自訂指標

.Ebextensions 組態檔案

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

若要使用此範例,請將該範例儲存至名為 cloudwatch.config 的檔案 (位於您專案目錄最上層名為 .ebextensions 的目錄中),然後使用 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 fetch-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 使用者指南中的檢視可用指