2.3.21 Docker環境で収集できるデータ
- 〈この項の構成〉
(1) Docker環境の概要
Linuxで利用できるDocker環境は,1つのLinuxシステム内で,ソフトウェア的に仮想化された複数のLinux環境を稼働できます。Dockerコンテナは,ホストOSとリソースを共有するため,仮想マシンと比べて,アプリケーション実行のオーバーヘッドが小さくて済みます。
(2) Docker環境の構造
Docker環境は,アプリケーション用のワークスペースを提供するSolarisのZoneと同じような構造をしています。
Docker環境は,Dockerコンテナ環境とDockerコンテナを管理するホスト(Dockerホスト)環境から構成されます。
PFM - Agent for Platformでは,Dockerホスト環境およびDockerコンテナ環境の情報を収集できます。
PFM - Agent for PlatformがサポートするDocker環境を次に示します。
- DockerホストのOSのバージョン
-
-
Red Hat Enterprise Linux(R) Server 7.1以降
-
CentOS 7.1以降
-
(3) Dockerホスト環境でのプロセス監視
PFM - Agent for PlatformがDockerホスト環境上で動作する場合,Dockerコンテナ内のプロセス情報を収集できます。ALL Container Collection for Processプロパティの設定によって,Dockerコンテナ内のプロセス情報を収集するかどうかを選択できます。ALL Container Collection for Processプロパティの設定値を次に示します。
- Yes
-
Dockerホスト環境およびすべてのDockerコンテナ環境のプロセス情報を収集する。
- No
-
Dockerホスト環境のプロセス情報だけを収集する。
ALL Container Collection for Processプロパティのデフォルト値は「Yes」です。
Dockerホスト環境上でPFM - Agent for Platformが動作する場合に収集するプロセス情報を次の図に示します。
(4) Dockerコンテナ環境でのプロセス監視
PFM - Agent for PlatformがDockerコンテナ環境上で動作する場合,ALL Container Collection for Processプロパティの設定に関係なくPFM - Agent for Platformが動作しているDockerコンテナ環境のプロセス情報だけが収集されます。Dockerコンテナ環境上でPFM - Agent for Platformが動作する場合に収集するプロセス情報を次の図に示します。
(5) Dockerホスト環境での注意事項
PFM - Agent for PlatformをDockerホスト環境にインストールしてプロセスの情報を収集する場合の注意事項を,次に示します。
-
PFM - Agent for Platformは,Docker Engine APIを使用し,デフォルトのUNIXドメインソケットの設定でDocker Engineとの通信を行うため,Docker Engine APIのUNIXドメインソケットの設定を変更しないでください。UNIXドメインソケットをデフォルトから変更すると,Docker Engineとの通信に失敗し,PDレコード,PD_APSIレコード,PD_APSレコードで取得するすべてのプロセスのVirtual Env IDフィールドの値が「N/A」となります。
-
PFM - Agent for Platformのレコード情報収集時に,Docker Engineとの通信中にエラーが発生した場合,または,Docker Engineとの通信中にDockerコンテナの起動または停止が行われた場合,一部のプロセスについて,Dockerホスト上で動作しているのか,Dockerコンテナ上で動作しているのかが判断できないことがあります。この場合,動作環境を判断できなかったプロセスについて,PDレコード,PD_APSIレコード,およびPD_APSレコードのVirtual Env IDフィールドの値が「N/A」となります。
(6) Dockerコンテナ環境での注意事項
PFM - Agent for PlatformをDockerコンテナ環境にインストールしてパフォーマンス情報を収集する場合の注意事項を,次に示します。
-
Dockerコンテナ環境へのインストールに関する注意事項については,リリースノートを参照してください。
-
Docker環境の特性上,分離したアプリケーション環境を提供するため,次に示す情報は取得できません。
-
PFM - Agent for PlatformをインストールしたDockerコンテナ以外のDockerコンテナ環境の情報
-
-
PFM - Agent for PlatformをDockerコンテナ環境にインストールして,別のホスト環境(当該Dockerコンテナ環境を管理するホスト以外のホスト)のPFM - Managerに接続する場合は,ポートフォワード(ポート転送)によって当該DockerコンテナのIPアドレスを固定して,別のホストからアクセスできるようにする必要があります。
-
Dockerコンテナ内で動作しているプロセスのプロセスIDは,Dockerホスト環境とDockerコンテナ環境で異なります。