

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 例: カスタム Amazon CloudWatch メトリクスの使用
<a name="customize-containers-cw"></a>

このトピックでは、Amazon Linux 2 以降をベースとするプラットフォーム用の Amazon CloudWatch エージェントと Elastic Beanstalk メトリクスを統合する設定例を示します。設定例では、`.ebextensions` 設定ファイル内のファイルとコマンドを使用します。

Amazon CloudWatch は、さまざまなメトリクスをモニタリング、管理、発行し、メトリクスからのデータに基づいてアラームアクションを設定できるウェブサービスです。独自に使用するカスタムメトリクスを定義でき、Elastic Beanstalk はそのようなメトリクスを Amazon CloudWatch にプッシュします。Amazon CloudWatch に組み込まれたカスタムメトリクスは、Amazon CloudWatch コンソールで表示できます。

**Amazon CloudWatch エージェント**  
Amazon CloudWatch エージェントは、オペレーティングシステム全体で Amazon EC2 インスタンスとオンプレミスサーバーの両方から CloudWatch メトリクスとログ収集を有効にします。エージェントは、システムレベルで収集されたメトリクスをサポートします。また、アプリケーションまたはサービスからカスタムログおよびメトリクスを収集できます。Amazon 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)を参照してください。

このサンプルを使用するには、プロジェクトディレクトリの最上位にある `.ebextensions` ディレクトリに `cloudwatch.config` というファイル名で保存した後、Elastic Beanstalk コンソール ([ソースバンドル](applications-sourcebundle.md)に .ebextensions ディレクトリを含める) または [EB CLI](eb-cli3.md) を使用してアプリケーションをデプロイします。

設定ファイルの詳細については、「[設定ファイル (`.ebextensions`) による高度な環境のカスタマイズ](ebextensions.md)」を参照してください。

このファイルには 2 つのセクションがあります。
+ `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>

環境内のインスタンスには、Amazon CloudWatch エージェントを使用してカスタム Amazon CloudWatch メトリクスを発行するための適切な IAM アクセス許可が必要です。環境の[インスタンスプロファイル](concepts-roles-instance.md)にアクセス許可を追加することにより、その環境のインスタンスにアクセス許可を付与します。アプリケーションをデプロイする前または後のどちらでも、インスタンスプロファイルにアクセス権限を追加できます。

**CloudWatch メトリックを発行する許可を付与するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

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 ユーザーガイド*の「[Working with Policies](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)」を参照してください。