• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Amazon ECS上で動作するサービスの監視

Amazon ECSのDockerコンテナ上で動作するサービス(Cassandra、Redis、MySQLなど、 その他の対応サービス )があれば、New Relicを使って、それらのサービスからのデータ、ホストからのデータ、コンテナからのデータをレポートすることができます。

要件

ECS上で動作しているサービスをモニターするには、以下の要件を満たす必要があります。

重要

AWSファーゲートはサポートされていません。

有効にする方法

ECSで動作しているサービスのモニタリングを有効にする方法を説明する前に、その概要を説明します。

  1. Amazon EC2を有効にする ECSクラスターに当社のインフラストラクチャエージェントをインストールします。
  2. サービス固有の設定ファイルを使用して、サービス の監視を可能にします。

ステップ1: EC2にインフラストラクチャ・エージェントをインストールできるようにする

まず、Amazon EC2がECSクラスターに当社のインフラストラクチャ・エージェントをインストールできるようにする必要があります。これを行うには、まず起動時にインフラストラクチャ・エージェントをインストールするために、ユーザー・データを更新する必要があります。

以下は、EC2の起動設定を変更するための手順です(Amazon EC2ドキュメント から引用)。

  1. Amazon EC2 コンソールを開く.

  2. ナビゲーションペインの Auto scaling の下で、 Launch configurations を選択します。

  3. 次のページでは、アップデートしたいローンチ構成を選択します。

  4. 右クリックして Copy launch configuration を選択します。

  5. Launch configuration details タブで、 Edit details をクリックします。

  6. ユーザーデータを以下のいずれかのスニペットに置き換える。

  7. Choose Skip to review.

  8. Choose Create launch configuration.

次に、オートスケーリンググループの更新を行います。

  1. Amazon EC2 コンソールを開く.
  2. ナビゲーションペインで、 Auto scaling の下で、 Auto scaling groups を選択します。
  3. 更新したいオートスケーリンググループを選択します。
  4. Actions メニューから、 Edit を選択します。
  5. Launch configuration のドロップダウンメニューで、作成された新しい起動設定を選択します。
  6. クリック 保存.

エージェントが自動的にインスタンスを検出しているかどうかをテストするために、 自動スケーリンググループ内のEC2インスタンス を終了させます。これで、代替インスタンスが新しいユーザーデータで起動されます。5分後、新しいホストからのデータが 「ホスト」ページ に表示されるはずです。

次に、サービスの監視を可能にすることに移ります。

ステップ2:サービスの監視を有効にする

EC2がインフラストラクチャエージェントを実行できるようにすると 、エージェントはホスト上で実行されているコンテナの監視を開始します。

次に、ECSにデプロイされたサービスを監視する方法について説明します。例えば、アプリケーション・サーバーの前に配置されたNGINXインスタンスを含むECSタスクを監視することができます。

ここでは、ECS上に展開された サポートされているサービス をどのようにモニターするかについて簡単に説明します。

  1. 監視するサービスのYAML構成ファイルを作成します。これは最終的に、AWSコンソールを介してEC2ユーザーデータセクションに配置されます。ただし、その前に、EC2のインフラストラクチャエージェントフォルダー( etc/newrelic-infra/integrations.d )にそのファイルを配置することで、設定が機能していることをテストできます。その構成ファイルは、コンテナーの自動検出形式を使用する必要があります。これにより、コンテナーを自動的に検索できます。正確な構成オプションは、特定の統合によって異なります。
  2. サービスからのデータがNew Relicに報告されていることを確認します。
  3. 表示されたデータに満足したら、EC2コンソールを使用して、その設定を適切な起動設定のwrite_filesセクションに追加し、自動スケーリンググループを更新できます。
  4. runcmdセクションで、 yumコマンドを追加して、適切な起動構成に統合をインストールします。

ここでは、NGINXで上記の手順を行う詳細な例を示します。

  1. サーバーへのSSHアクセス、または AWS Systems Manager Session Manager へのアクセスがあることを確認してください。インフラストラクチャエージェントを実行しているホストにログインします。

  2. コマンドラインで、ディレクトリをintegrations configurationフォルダに変更します。

    cd /etc/newrelic-infra/integrations.d
  3. nginx-config.ymlというファイルを作成し、次のスニペットを追加します。

    ---
    discovery:
    docker:
    match:
    image: /nginx/
    integrations:
    - name: nri-nginx
    env:
    STATUS_URL: http://${discovery.ip}:/status
    REMOTE_MONITORING: true
    METRICS: 1

    この構成により、インフラストラクチャエージェントはnginxを含むECS内のコンテナを検索します。コンテナが一致すると、NGINXステータスページに接続します。discovery.ipスニペットの動作の詳細については、自動検出を参照してください。一般的なNGINX構成の詳細については、 NGINX統合を参照してください。

  4. ポート 80 でSTATUS_URLからのリクエストを処理するように NGINX ステータス ページが設定されている場合、インフラストラクチャ エージェントはその監視を開始します。5 分後、NGINX データが Infrastructure UI に表示されていることを確認します ( one.newrelic.com > Infrastructure > Third party servicesまたはone.newrelic.com > Explorer > On-host )。

  5. 設定がうまくいったら、EC2の起動設定に入れます。

    1. Amazon EC2 コンソールを開く.

    2. ナビゲーションペインの Auto scaling の下で、 Launch configurations を選択します。

    3. 次のページでは、アップデートしたいローンチ構成を選択します。

    4. 右クリックして Copy launch configuration を選択します。

    5. Launch configuration details タブで、 Edit details をクリックします。

    6. [ユーザーデータ]セクションで、 write_filesセクション( text/cloud-configとマークされた部分)を編集します。

    7. 新しいファイル/コンテンツのエントリーを追加します。

      - content: |
      ---
      discovery:
      docker:
      match:
      image: /nginx/
      integrations:
      - name: nri-nginx
      env:
      STATUS_URL: http://${discovery.ip}:/status
      REMOTE_MONITORING: true
      METRICS: 1
      path: /etc/newrelic-infra/integrations.d/nginx-config.yml
    8. また、 runcmdセクションを編集してyumコマンドを含めてnri-nginxをインストールします。

      runcmd:
      - [ yum, install, newrelic-infra, -y ]
      - [ yum, install, nri-nginx, -y ]
      - [ systemctl, daemon-reload ]
      - [ systemctl, enable, newrelic-infra.service ]
      - [ systemctl, start, --no-block, newrelic-infra.service ]
  6. Choose Skip to review.

  7. Choose Create launch configuration.

  8. 次に、オートスケーリンググループの更新を行います。

    1. Amazon EC2 コンソールを開く.
    2. ナビゲーションペインで、 Auto scaling の下で、 Auto scaling groups を選択します。
    3. 更新したいオートスケーリンググループを選択します。
    4. Actions メニューから、 Edit を選択します。
    5. Launch configuration のドロップダウンメニューで、作成された新しい起動設定を選択します。
    6. クリック 保存.

EC2インスタンスが終了すると、自動的に新しいNGINXコンテナを探す新しいEC2インスタンスに置き換えられます。

While you wait for your data to come in...

Did this doc help you install?

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.