Docker Visibility によるコンテナのモニタ

マシンエージェントを使用して、Docker コンテナ内で動作するアプリケーションノードをモニタし、アプリケーションのパフォーマンスに影響を与えるコンテナの問題を識別できます。APM メトリックを基本コンテナとサーバ/マシンのメトリックとともに表示および比較することにより、問題に簡単に答えることができます。アプリケーションの問題は単にアプリケーションの問題であるか、またはコンテナまたはサーバの根本原因であるかなど。

注: コンテナモニタリングでは、コントローラテナントとマシンエージェントの両方について、サーバーの可視性ライセンス 4.3.3 以降が必要です。

Docker コンテナ内にマシンエージェントを導入する必要があります。マシンエージェントは、同じホスト上の Docker コンテナのメトリックと、ホスト自体のサーバとマシンのメトリックを収集します。コントローラテナントは、各ホストのすべてのモニター対象コンテナ、および各コンテナのコンテナ ID とホスト ID を表示します。

ブリッジ ネットワーキング モードでは、コンテナはホスト名としてコンテナ ID を取得します。ネットワーキングがホストモードの場合、コンテナはホスト ID のノード名を取得します。これは、そのノード上のすべてのコンテナが同じホスト ID を持つことを意味します。この場合は、一意のホスト ID 設定を使用する必要があります。「ホスト ID としてコンテナ ID を登録する」を参照してください。Docker の可視性を使用する場合で、一意のホスト ID 設定がホストネットワークモードでコンテナ ID を使用するように構成されていない場合、マシンエージェントはコンテナ ID をホスト ID として使用してコンテナを自動的に登録します。古いバージョンのコントローラテナントまたはマシンエージェントがある場合、マシンエージェントのバージョン 20.7 以降にアップグレードすることを推奨します。「Kubernetes での Docker の可視性の使用」を参照してください。

コントローラテナントが 20.11.0 以降の場合:

  • マシンエージェントが 20.7.0 以降の場合、マシンエージェントはコンテナ ID をホスト ID として使用してコンテナを自動的に登録します。これ以上の操作は必要ありません。
  • マシンエージェント 20.6.0 以前を誤って構成した場合、コントローラテナントは誤って構成されたコンテナ登録を拒否します。

デフォルトでは、マシンエージェントは APM エージェントを実行しているコンテナのみをモニタします。これを変更するには、コントローラテナントで sim.docker.monitorAPMContainersOnly プロパティを設定します。「サーバーの可視性のコントローラ設定」を参照してください。

注: Docker コンテナの外部にあるホストにマシンエージェントを展開するには、ホスト上でシンボリックリンク を作成します。このシンボリックリンクにより、マシンエージェントは Docker コンテナメトリックとホストメトリックを収集できます。マシンエージェントがモニタリング用の Docker コンテナ内に展開されている場合、そのボリュームがマウントされると、シンボリックリンクが自動的に作成されます。より限定的な権限を付与するには、次のコマンドを入力してシンボリックリンク ln -s /proc /hostroot/proc; ln -s /sys /hostroot/sys; ln -s /etc /hostroot/etc; ; を作成します。Splunk AppDynamics エージェントにはこれらのディレクトリに対する書き込み権限が必要ないため、これらのリンクは読み取り専用に指定できます。

次の図は、コンテナモニタリングを展開する方法を示しています。

コンテナのモニタリング

  • スタンドアロンコンテナでマシンエージェント をインストールします。マシンエージェントは、モニター対象の各コンテナのハードウェアメトリック、およびホスト のマシンとサーバーのメトリックを収集し、このメトリックをコントローラテナントに転送します。
  • マシンエージェントは、そのホスト上で実行されているすべてのコンテナをモニタして、確立された制限に従い、各コンテナのランタイムメトリックとメタデータを報告します。また、いずれかのコンテナに APM エージェントがインストールされている場合 、マシンエージェントはコンテナのメタデータとランタイムメトリックを関連する APM ノードとも相関させます。