• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

エージェントをコンテナとしてインストールする

Linux 用のインフラストラクチャエージェントは、デフォルトでContainer 環境をサポートします。 コンテナ OS を実行している場合、またはエージェントをコンテナとしてデプロイする必要がある制限がある場合は、インフラストラクチャエージェントのコンテナ化されたバージョンを実行できます。 これにより、コンテナー自体だけでなく、基盤となるホストのメトリックも監視できます。

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

何が必要

インフラストラクチャ エージェントのコンテナ化バージョンには、Docker 1.12 以降が必要です。

バージョン 1.42 以降、インフラストラクチャ エージェントは containerdをサポートするため、Dockershim またはその他の containerdベースのソリューションのサポートが削除された Kubernetes v1.24 以降で使用できるようになりました。 containerddockerd 両方のランタイム ソケットが使用可能な場合、インフラストラクチャ エージェントは containerd ランタイム ソケットで動作します。コンテナーは、インフラストラクチャ エージェントによってサポートされている Linux ディストリビューションおよびバージョン 上で実行する必要があります。コンテナー イメージは、AMD64 および ARM64 アーキテクチャで利用可能であり、サポートされています。

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

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

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

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

Docker CLI

  1. New Relic を使用して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. イメージの構築とタグ付け

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

    bash
    $
    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. 設定ファイルを保存するフォルダを作成します。

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

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

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

    bash
    $
    touch newrelic-infra.dockerfile
    bash
    $
    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を作成します:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    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をビルドして開始します:

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

基本設定

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

Docker CLI

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

    bash
    $
    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を作成します:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    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をビルドして開始します:

    bash
    $
    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"

Bind は、ホストの Docker デーモン ソケットをコンテナーにマウントします。これにより、エージェントは Docker デーモン ソケット経由でエンジン API に接続し、ホストのコンテナ データを収集できるようになります。代わりに containerd ランタイムを操作する場合は、このマウントを /run/containerd/containerd.sock:/run/containerd/containerd.sockに置き換えます。

このドキュメントはインストールの役に立ちましたか?

インストール後の手順

インストール完了後の次のステップについては、 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 コンテナ データの表示方法に関するドキュメントを参照してください。

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

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

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

この統合はオープン ソース ソフトウェアです。そのソース コードを参照して改善を送信するか、独自のフォークを作成してビルドすることができます。

Copyright © 2024 New Relic株式会社。

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