• ログイン

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

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

問題を作成する

インフラ監視用Dockerコンテナ

Linux用インフラストラクチャ監視エージェント は、デフォルトでDocker環境 をサポートしています。コンテナOSを使用している場合、またはエージェントをコンテナとしてデプロイする必要があるという制限がある場合、インフラストラクチャ・モニタリング・エージェントのコンテナ版を実行することができます。これにより、基礎となるホストだけでなく、コンテナ自体のメトリクスを監視することができます。

カスタム(推奨) または 基本セットアップ を使用すると、インフラストラクチャエージェントをコンテナ環境内で実行することができます。ホストは、コンテナ化されたエージェントであれ、コンテナ化されていないバージョンであれ、一度に1つのエージェントのインスタンスしか実行できません。

Linux 用のインフラ監視エージェントを試してみませんか? New Relic アカウントを作成 無料でご利用いただけます。クレジットカードは必要ありません。

必要なこと

インフラストラクチャエージェントのコンテナ版には、Docker 1.12以上が必要です。コンテナは、当社のエージェントがサポートする Linux ディストリビューションおよびバージョン のいずれかを実行する必要があります。コンテナイメージは、AMD64およびARM64アーキテクチャで利用・サポートされています。

ログフォワーダーは、コンテナ化されたエージェントには含まれていません。すべての機能を提供する基盤となるホストにエージェントをインストールすることをお勧めします。

カスタムセットアップ(推奨)

以下は、LinuxでカスタムDockerイメージを作成するための基本的な手順です。これにより、インフラストラクチャエージェントを、基盤となるホストを監視できるコンテナとして展開することができます。

推奨事項: newrelic/infrastructureイメージを拡張し、独自のnewrelic-infra.ymlエージェント構成ファイルを使用します。イメージが構築されると、起動時間の構成を追加しなくても、コンテナーを簡単に起動できます。 Dockerで環境変数を使用してシークレットを提供しないでください。

Docker CLI

  1. NewRelicライセンスキーを使用してnewrelic-infra.ymlエージェント構成ファイルを作成します。構成オプションの説明については、 構成設定を参照してください。

    license_key: YOUR_LICENSE_KEY
  2. newrelic/infrastructureイメージを拡張するDockerfileを作成し、構成を/etc/newrelic-infra.ymlに追加します。

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  3. イメージの構築とタグ付け

    docker build -t YOUR_IMAGE_NAME .
  4. 構築したイメージから、必要な 必要な run フラグ でコンテナを実行します。

    docker run \
        -d \
        --name newrelic-infra \
        --network=host \
        --cap-add=SYS_PTRACE \
        --privileged \
        --pid=host \
        --cgroupns=host  # required on cgroup v2 \
        -v "/:/host:ro" \
        -v "/var/run/docker.sock:/var/run/docker.sock" \
        YOUR_IMAGE_NAME
  5. UIでデータを確認する方法など、次のステップの可能性については、 What's next?

Docker Compose

  1. 設定ファイルを保存するフォルダを作成します。

    mkdir ~/newrelic-infra-setup
  2. ディレクトリを先ほど作成したものに変更します。

    cd ~/newrelic-infra-setup
  3. NewRelicライセンスキーを使用してnewrelic-infra.ymlエージェント構成ファイルを作成します。構成オプションの説明については、 構成設定を参照してください。

    echo "license_key: YOUR_LICENSE_KEY" > newrelic-infra.yml
  4. newrelic/infrastructureイメージを拡張するnewrelic-infra.dockerfileを作成し、構成を/etc/newrelic-infra.ymlに追加します。

    touch newrelic-infra.dockerfile
    vim newrelic-infra.dockerfile #you can use any text editor
  5. 以下の内容をファイルに記述してください。

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  6. docker-compose.yamlを作成します:

    touch docker-compose.yaml
    vim docker-compose.yaml #you can use any text editor

    以下の内容をファイルに記述してください。

    version: '3'
    services:
    agent:
    container_name: newrelic-infra
    build:
    context: .
    dockerfile: newrelic-infra.dockerfile
    cap_add:
    - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
    - "/:/host:ro"
    - "/var/run/docker.sock:/var/run/docker.sock"
    restart: unless-stopped
  7. docker-composeをビルドして開始します:

    docker-compose -f docker-compose.yaml up -d
  8. UIでデータを確認する方法など、次のステップの可能性については、 What's next?

基本設定

基本的なセットアップをベースのNew Relicインフラストラクチャイメージで使用するには

Docker CLI

  1. required run flags でコンテナを実行します。

    docker run \
       -d \
       --name newrelic-infra \
       --network=host \
       --cap-add=SYS_PTRACE \
       --privileged \
       --pid=host \
        --cgroupns=host  # required on cgroup v2 \
       -v "/:/host:ro" \
       -v "/var/run/docker.sock:/var/run/docker.sock" \
       -e NRIA_LICENSE_KEY=YOUR_LICENSE_KEY \
       newrelic/infrastructure:latest
  2. UIでデータを確認する方法など、次のステップの可能性については、 What's next?

Docker Compose

  1. docker-compose.yamlを作成します:

    touch docker-compose.yaml
    vim docker-compose.yaml #you can use any text editor

    以下の内容をファイルに記述してください。

    version: '3'
    
    services:
      agent:
        container_name: newrelic-infra
        image: newrelic/infrastructure:latest
        cap_add:
          - SYS_PTRACE
        network_mode: host
        pid: host
        privileged: true
        volumes:
          - "/:/host:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
        environment:
          NRIA_LICENSE_KEY: "YOUR_LICENSE_KEY"
        restart: unless-stopped
  2. docker-composeをビルドして開始します:

    docker-compose -f docker-compose.yaml up -d
  3. UIでデータを確認する方法など、次のステップの可能性については、 What's next?

必要なコンテナ権限

Linux の名前空間を介してホストや他のコンテナからリソースが隔離されているため、コンテナはデフォルトで、基盤となるホストのリソースを非常に限定的に表示および制御することができます。これらの特別な権限がないと、インフラストラクチャエージェントはホストとそのコンテナを監視することができません。

インフラストラクチャエージェントは、システムファイルとシステムコールを使用して、そのホストに関するデータを収集します。インフラストラクチャエージェントがデータを収集する方法の詳細については、 インフラストラクチャの監視とセキュリティに関するドキュメント を参照してください。必要な権限は以下の通りです。

デフォルトではプライベートであるため、cgroupv2でdockerを使用する場合に必要です。これにより、エージェントはコンテナメトリックを収集できます。 Docker EngineAPIv1.41以降で使用できます。

プリビレッジ

説明

--network=host

コンテナのネットワーク名前空間をホストのネットワーク名前空間に設定します。これにより、エージェントはホストに関するネットワークメトリクスを収集することができます。

-v "/:/host:ro"

Bind は、ホストのルートボリュームをコンテナにマウントします。このホストのルートへの読み取り専用のアクセスにより、エージェントはホストからプロセスやストレージのメトリクス、およびインベントリデータを収集することができます。

--cap-add=SYS_PTRACE

システムプロセスをトレースするLinux機能を追加します。これにより、エージェントはホスト上で実行されているプロセスに関するデータを収集することができます。詳しくはこちら .

--privileged

--pid=host

--cgroupns=host

-v "/var/run/docker.sock:/var/run/docker.sock"

バインドは、ホストの Docker daemon ソケットをコンテナにマウントします。これにより、エージェントはDocker daemonソケットを介してEngine APIに接続し、ホストのコンテナデータを収集することができます。

インストール後の手順

インストール完了後の次のステップについては、 What's next?

回収した在庫

インベントリ は、インフラストラクチャ・エージェントの内蔵データ・コレクターから収集されます。インフラストラクチャエージェントは、コンテナで動作するLinuxシステムのこのデータを収集します。

カテゴリー

ソース

使用して収集したデータ

metadata

agent_config

エージェントの完全な設定ファイル

system

uptime -s, /etc/redhat-release, /proc/cpuinfo, /etc/os-release, /proc/sys/kernel/random/boot_id, /proc/sys/kernel/osrelease, /sys/class/dmi/id/product_uuid, /sys/devices/virtual/dmi/id/sys_vendor, /sys/devices/virtual/dmi/id/product_name

コンテナデータ

インフラストラクチャエージェントがDockerコンテナ内で実行されると、インフラストラクチャエージェントがホスト上でネイティブに実行されているときに収集できるのと同じ ホストコンピュートデータイベントデータ を収集することができます。詳しくは、 あなたのDockerコンテナのデータを見る方法についてのドキュメント をご覧ください。

コンテナ化されたエージェントイメージ

コンテナ化されたエージェントイメージは、アルパインのベースイメージから構築されます。

バージョン0.0.55以降、ベースイメージとしてアルパインが使用されています。これはlatestタグが指すものです。以前のバージョンでは、CentOS7をベースイメージとして使用していました。

ソースコードを確認してください

この統合は、オープンソース・ソフトウェアです。 そのソースコードを閲覧することができます。 改良点を送ることもできますし、自分でフォークを作ってビルドすることもできます。

Copyright © 2022 New Relic株式会社。

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