

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

# 範例：使用自訂的 Amazon CloudWatch 指標
<a name="customize-containers-cw"></a>

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

Amazon CloudWatch 是一項 Web 服務，可讓您監控、管理和發佈各種指標，並根據這些指標提供的資料來設定警示動作。您可以定義自用的自訂指標，Elastic Beanstalk 會將這些指標推送到 Amazon CloudWatch。當 Amazon CloudWatch 包含您的自訂指標時，您即可在 Amazon CloudWatch 主控台中查看這些指標。

**Amazon CloudWatch 代理程式**  
Amazon CloudWatch 代理程式允許從跨作業系統的 Amazon EC2 執行個體和內部部署伺服器收集 CloudWatch 指標和日誌。此代理程式支援在系統層級收集的指標，也支援從您的應用程式或服務收集自訂日誌和指標。如需 CloudWatch 代理程式的詳細資訊，請參閱 *Amazon CloudWatch 使用者指南*中的[使用 CloudWatch 代理程式收集指標和日誌](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)。

**注意**  
Elastic Beanstalk [增強型運作狀態報告](health-enhanced.md) 具備內建的支援功能，可將廣泛的執行個體和環境指標發佈至 CloudWatch。如需詳細資訊，請參閱 [為環境發佈 Amazon CloudWatch 自訂指標](health-enhanced-cloudwatch.md)。

**Topics**
+ [.Ebextensions 組態檔案](#customize-containers-cw-update-roles)
+ [許可](#customize-containers-cw-policy)
+ [在 CloudWatch 主控台中檢視指標](#customize-containers-cw-console)

## .Ebextensions 組態檔案
<a name="customize-containers-cw-update-roles"></a>

此範例使用 .ebextensions 組態檔案中的檔案和指令，在 Amazon Linux 2 平台上設定和執行 Amazon CloudWatch 代理程式。此代理程式會與 Amazon Linux 2 預先封裝。如果您使用的是其他作業系統，則可能需要執行額外步驟來安裝代理程式。如需詳細資訊，請參閱 *Amazon CloudWatch 使用者指南*中的[安裝 CloudWatch 代理程式](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)。

若要使用此範例，請將該範例儲存至名為 `cloudwatch.config` 的檔案 (位於您專案目錄最上層名為 `.ebextensions` 的目錄中)，然後使用 Elastic Beanstalk 主控台 (在您的[原始碼套件](applications-sourcebundle.md)中加入 .ebextensions 目錄) 或 [EB CLI](eb-cli3.md) 來部署您的應用程式。

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

此檔案包含兩個區段：
+ `files` — 此區段會新增代理程式組態檔案。該檔案會指示代理程式要傳送給 Amazon CloudWatch 的指標和日誌。在此範例中，我們僅傳送 *mem\$1used\$1percent* 指標。如需 Amazon CloudWatch 代理程式支援的完整系統層級指標清單，請參閱 *Amazon CloudWatch 使用者指南*中的 [CloudWatch 代理程式收集的指標](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html)。
+ `container_commands` — 此區段包含以參數形式傳遞組態檔案來啟動代理程式的命令。如需 `container_commands` 的詳細資訊，請參閱 [容器命令](customize-containers-ec2.md#linux-container-commands)。

**.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
```

## 許可
<a name="customize-containers-cw-policy"></a>

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

**若要授予發佈 CloudWatch 指標的權限**

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。

1. 選擇您的環境的執行個體描述檔角色。在預設情況下，當您使用 Elastic Beanstalk 主控台或 [EB CLI](eb-cli3.md) 來建立環境時，這會是 `aws-elasticbeanstalk-ec2-role`。

1. 選擇**許可**索引標籤。

1. 在 **Permissions Policies** (許可政策) 下的 **Permissions** (許可) 區段中，選擇 **Attach policies** (連接政策)。

1. 在**連接許可**下，選擇 AWS 受管政策 **CloudWatchAgentServerPolicy**。然後，按一下 **Attach Policy** (連接政策)。

如需管理政策的詳細資訊，請參閱《*IAM 使用者指南*》中的[使用政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)。

## 在 CloudWatch 主控台中檢視指標
<a name="customize-containers-cw-console"></a>

將 CloudWatch 組態檔案部署到您的環境之後，請檢查 [Amazon CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch/home)來檢視您的指標。自訂指標將位於 **CWAgent** 命名空間。

如需詳細資訊，請參閱《Amazon CloudWatch 使用者指南》**中的[檢視可用指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)。