例: カスタム Amazon CloudWatch メトリクスの使用 - AWS Elastic Beanstalk

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

例: カスタム Amazon CloudWatch メトリクスの使用

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

重要

Amazon CloudWatch モニタリングスクリプトは非推奨です。CloudWatch エージェントは、メトリクスとログを収集する CloudWatch モニタリング スクリプトを置き換えました。

非推奨のモニタリング スクリプトからエージェントにまだ移行中で、モニタリングスクリプトに関する情報が必要な場合は、Linux インスタンス用 Amazon EC2 ユーザーガイドの「非推奨: CloudWatch モニタリング スクリプトを使用してメトリクスを収集する」を参照してください。

Amazon CloudWatch エージェント

Amazon CloudWatch エージェントは、オペレーティングシステム全体で Amazon EC2 インスタンスとオンプレミスサーバーの両方から CloudWatch メトリクスとログ収集を有効にします。エージェントは、システムレベルで収集されたメトリクスをサポートします。また、アプリケーションまたはサービスからカスタムログおよびメトリクスを収集できます。Amazon CloudWatch エージェントの詳細については、Amazon CloudWatch ユーザーガイドCloudWatch エージェントを使用した メトリクスとログの収集を参照してください。

注記

Elastic Beanstalk の拡張ヘルスレポートでは、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 fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

このファイルには 2 つのセクションがあります。

  • files — このセクションでは、エージェント設定ファイルを追加します。エージェントが Amazon CloudWatch に送信するメトリクスとログを示します。この例では、mem_used_percent メトリクスのみを送信しています。Amazon CloudWatch エージェントでサポートされているシステムレベルのメトリクスの完全なリストについては、Amazon CloudWatch ユーザーガイドCloudWatch エージェントにより収集されるメトリクスを参照してください。の。

  • container_commands — このセクションには、エージェントを起動し、設定ファイルをパラメータとして渡すコマンドが含まれています。container_commands の詳細については、コンテナコマンド を参照してください。

許可

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

CloudWatch メトリックを発行する許可を付与するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. 環境のインスタンスプロファイルのロールを選択します。デフォルトでは、Elastic Beanstalk コンソールまたは EB CLI を使用して環境を作成する場合のロールは aws-elasticbeanstalk-ec2-role です。

  4. [Permissions] (許可) タブを選択します。

  5. [Permissions Policies] (アクセス許可ポリシー) の[Permissions] (アクセス許可) セクションで、[Attach policies] (ポリシーの添付) を選択します。

  6. [Attach Permissions] (アクセス許可の添付) で、AWS マネージドポリシー CloudWatchAgentServerPolicy を選択します。次に、[Attach Policy] (ポリシーを添付) をクリックします。

ポリシーの管理の詳細については、IAM ユーザーガイドの「Working with Policies (ポリシーの使用)」を参照してください。

CloudWatch コンソールでのメトリクスの表示

CloudWatch の設定ファイルを環境にデプロイした後、Amazon CloudWatch コンソールを確認してメトリクスを表示します。カスタム指標は、CWAgent名前空間に配置されます。

詳細については、Amazon CloudWatch ユーザーガイドの「使用可能なメトリクスの表示」を参照してください。