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

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

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

Amazon CloudWatch は、さまざまなメトリクスのモニタリング、管理、公開、およびメトリクスからのデータに基づくアラームアクションの設定を可能にするウェブサービスです。独自の使用のためにカスタムメトリクスを定義できます。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 拡張ヘルスレポートは、さまざまなインスタンスおよび環境メトリクスを に公開するためのネイティブサポートを提供します 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. ナビゲーションペインで [ロール] を選択します。

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

  4. [アクセス許可] タブを選択します。

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

  6. アクセス許可のアタッチ で、 AWS 管理ポリシー を選択しますCloudWatchAgentServerPolicy。次に、[Attach Policy] (ポリシーを添付) をクリックします。

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

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

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

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