Linux用インフラストラクチャ監視エージェント は、デフォルトでDocker環境 をサポートしています。コンテナOSを使用している場合、またはエージェントをコンテナとしてデプロイする必要があるという制限がある場合、インフラストラクチャ・モニタリング・エージェントのコンテナ版を実行することができます。これにより、基礎となるホストだけでなく、コンテナ自体のメトリクスを監視することができます。
カスタム(推奨) または 基本セットアップ を使用すると、インフラストラクチャエージェントをコンテナ環境内で実行することができます。ホストは、コンテナ化されたエージェントであれ、コンテナ化されていないバージョンであれ、一度に1つのエージェントのインスタンスしか実行できません。
Linux 用のインフラ監視エージェントを試してみませんか? New Relic アカウントを作成 無料でご利用いただけます。クレジットカードは必要ありません。
必要なこと
インフラストラクチャエージェントのコンテナ版には、Docker 1.12以上が必要です。コンテナは、当社のエージェントがサポートする Linux ディストリビューションおよびバージョン のいずれかを実行する必要があります。コンテナイメージは、AMD64およびARM64アーキテクチャで利用・サポートされています。
ログフォワーダーは、コンテナ化されたエージェントには含まれていません。すべての機能を提供する基盤となるホストにエージェントをインストールすることをお勧めします。
カスタムセットアップ(推奨)
以下は、LinuxでカスタムDockerイメージを作成するための基本的な手順です。これにより、インフラストラクチャエージェントを、基盤となるホストを監視できるコンテナとして展開することができます。
推奨: newrelic/infrastructure
イメージ を拡張し、独自の newrelic-infra.yml
エージェント 設定ファイル を使用してください。イメージが構築されると、起動時の設定を追加することなく、簡単にコンテナをスピンアップすることができます。Dockerでは環境変数を使ってシークレットを提供しないでください。
Docker CLI
newrelic-infra.yml
エージェント 設定ファイル New Relic ライセンスキー を作成します。config オプションの説明については、 configuration settings を参照してください。license_key: YOUR_LICENSE_KEY
Dockerfileを作成
extending thenewrelic/infrastructure
image, and add your config to/etc/newrelic-infra.yml
:FROM newrelic/infrastructure:latestADD newrelic-infra.yml /etc/newrelic-infra.ymlイメージの構築とタグ付け
docker build -t YOUR_IMAGE_NAME .
構築したイメージから、必要な 必要な run フラグ でコンテナを実行します。
docker run \ -d \ --name newrelic-infra \ --network=host \ --cap-add=SYS_PTRACE \ --privileged \ --pid=host \ -v "/:/host:ro" \ -v "/var/run/docker.sock:/var/run/docker.sock" \ YOUR_IMAGE_NAME
UIでデータを確認する方法など、次のステップの可能性については、 What's next?
Docker Compose
設定ファイルを保存するフォルダを作成します。
mkdir ~/newrelic-infra-setupディレクトリを先ほど作成したものに変更します。
cd ~/newrelic-infra-setupnewrelic-infra.yml
エージェント 設定ファイル New Relic ライセンスキー を作成します。config オプションの説明については、 configuration settings を参照してください。echo "license_key: YOUR_LICENSE_KEY" > newrelic-infra.yml
newrelic-infra.dockerfile
をnewrelic/infrastructure
イメージを拡張して作成し、/etc/newrelic-infra.yml
に設定を追加します。touch newrelic-infra.dockerfilevim newrelic-infra.dockerfile #you can use any text editor以下の内容をファイルに記述してください。
FROM newrelic/infrastructure:latestADD newrelic-infra.yml /etc/newrelic-infra.yml作成
docker-compose.yaml
:touch docker-compose.yamlvim docker-compose.yaml #you can use any text editor以下の内容をファイルに記述してください。
version: '3'services:agent:container_name: newrelic-infrabuild:context: .dockerfile: newrelic-infra.dockerfilecap_add:- SYS_PTRACEnetwork_mode: hostpid: hostprivileged: truevolumes:- "/:/host:ro"- "/var/run/docker.sock:/var/run/docker.sock"restart: unless-stoppedBuild and start
docker-compose
:docker-compose -f docker-compose.yaml up -dUIでデータを確認する方法など、次のステップの可能性については、 What's next?
基本設定
基本的なセットアップをベースのNew Relicインフラストラクチャイメージで使用するには
Docker CLI
required run flags でコンテナを実行します。
docker run \ -d \ --name newrelic-infra \ --network=host \ --cap-add=SYS_PTRACE \ --privileged \ --pid=host \ -v "/:/host:ro" \ -v "/var/run/docker.sock:/var/run/docker.sock" \ -e NRIA_LICENSE_KEY=YOUR_LICENSE_KEY \ newrelic/infrastructure:latest
UIでデータを確認する方法など、次のステップの可能性については、 What's next?
Docker Compose
作成
docker-compose.yaml
:touch docker-compose.yamlvim 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
Build and start
docker-compose
:docker-compose -f docker-compose.yaml up -dUIでデータを確認する方法など、次のステップの可能性については、 What's next?
必要なコンテナ権限
Linux の名前空間を介してホストや他のコンテナからリソースが隔離されているため、コンテナはデフォルトで、基盤となるホストのリソースを非常に限定的に表示および制御することができます。これらの特別な権限がないと、インフラストラクチャエージェントはホストとそのコンテナを監視することができません。
インフラストラクチャエージェントは、システムファイルとシステムコールを使用して、そのホストに関するデータを収集します。インフラストラクチャエージェントがデータを収集する方法の詳細については、 インフラストラクチャの監視とセキュリティに関するドキュメント を参照してください。必要な権限は以下の通りです。
インストール後の手順
インストール完了後の次のステップについては、 What's next?
回収した在庫
インベントリ は、インフラストラクチャ・エージェントの内蔵データ・コレクターから収集されます。インフラストラクチャエージェントは、コンテナで動作するLinuxシステムのこのデータを収集します。
カテゴリー | ソース | 使用して収集したデータ |
---|---|---|
|
| エージェントの完全な設定ファイル |
|
|
コンテナデータ
インフラストラクチャエージェントがDockerコンテナ内で実行されると、インフラストラクチャエージェントがホスト上でネイティブに実行されているときに収集できるのと同じ ホストコンピュートデータ と イベントデータ を収集することができます。詳しくは、 あなたのDockerコンテナのデータを見る方法についてのドキュメント をご覧ください。
コンテナ化されたエージェントイメージ
コンテナ化されたエージェントイメージは、アルパインのベースイメージから構築されます。
アルパインはバージョン0.0.55からベースイメージとして使用されています。これは、 latest
タグで指定されているものです。それ以前のバージョンでは、CentOS 7がベースイメージとして使われていました。
ソースコードのチェック
この統合は、オープンソース・ソフトウェアです。 そのソースコードを閲覧することができます。 改良点を送ることもできますし、自分でフォークを作ってビルドすることもできます。