• /
  • ログイン
  • 無料アカウント

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

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

問題を作成する

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

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

要件

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

有効にする方法

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)にそのファイルを置くことで、設定が機能していることをテストすることができます。そのコンフィグファイルは、当社の container auto-discovery 形式を使用する必要があり、これによりコンテナを自動的に見つけることができます。正確な設定オプションは、特定の インテグレーション に依存します。
  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

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

  4. NGINX ステータスページがポート 80 で STATUS_URL からのリクエストを提供するように設定されている場合、インフラストラクチャエージェントはその監視を開始します。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. User data セクションで、 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インスタンスに置き換えられます。

問題を作成する
Copyright © 2022 New Relic Inc.