15.3.12 JP1/IM - Agentをコンテナ環境で運用する場合の構成
JP1/IM - Agentは,コンテナ環境に対応しています。
(1) 統合マネージャーのコンテナ環境
統合マネージャーホストで動作する統合エージェントのモジュールは,JP1/IM - Managerと同様,コンテナに対応していません。
(2) 統合エージェントのコンテナ環境
コンテナ上にJP1/IM - Agentをインストールする構成をサポートしています。
(3) サポートするコンテナ環境
JP1/IM - Agentは,次のコンテナ環境をサポートしています。
- Red Hat Enterprise Linux Server 7の場合
-
-
Docker
-
- Red Hat Enterprise Linux Server 8の場合
-
-
Docker
-
Podman
-
- Red Hat Enterprise Linux Server 9の場合
-
-
Docker
-
Podman
-
(4) Docker環境の構成
(a) サポートする構成
JP1/IM - Agentは,次の構成をサポートしています。
- ■JP1/IM - Agentをコンテナ上で稼働させ,別コンテナ上で稼働しているユーザーアプリケーションを監視する構成
-
- 用途
-
-
ユーザーアプリケーションが稼動するコンテナにJP1/IM - Agentを追加できない場合の構成です。
-
- 特徴
-
-
Blackbox exporterを使用して,ユーザーアプリケーションの外形監視ができます。
-
Fluentdを使用して,ユーザーアプリケーションのログを監視できます。
-
- 制限事項
-
-
ユーザーアプリケーションが稼動しているコンテナ上でコマンドを実行することはできません。
-
- ■JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成
-
- 用途
-
-
ホストの監視を行いたい場合の構成です。
-
- 特徴
-
-
Node exporterを使用して,ホストの性能を監視できます。
-
Fluentdを使用して,ホストのログを監視できます。
-
「JP1/IM - Agentをコンテナ上で稼働させ,別コンテナ上で稼働しているユーザーアプリケーションを監視する構成」や「ユーザーアプリケーションが稼動しているコンテナにJP1/IM - Agentを同居させる構成」と同時に使用できます。
-
- 制限事項
-
-
ホスト上でコマンド実行することはできません。
-
- 注意事項
-
この構成にする場合,コンテナからホストを参照できるようにする必要があります。コンテナからホストの資源にアクセスできると,セキュリティ上の問題が発生するおそれがあります。そのため,この構成は推奨しません。
ホストを監視する場合は,ホスト側にJP1/IM - Agentをインストールすることを推奨します。
- ■ユーザーアプリケーションが稼動しているコンテナにJP1/IM - Agentを同居させる構成
-
- 用途
-
-
ユーザーアプリケーションが稼動するコンテナにJP1/IM - Agentを追加できる場合の構成です。
-
ユーザーアプリケーションが稼動中のコンテナでコマンド実行がしたい場合の構成です。
-
コンテナを1つにまとめたい場合の構成です。
-
- 特徴
-
-
Blackbox exporterを使用して,ユーザーアプリケーションの外形監視ができます。
-
Fluentdを使用して,ユーザーアプリケーションのログを監視できます。
-
ユーザーが稼動しているコンテナ上でのコマンドを実行できます。
-
(b) コンテナイメージの前提条件
ベースとするコンテナイメージは,次の前提条件を満たし,機能が動作する必要があります。
-
bash
-
dnfまたはyumコマンド
-
unameコマンド
-
sedコマンド
-
supervisorなどのサービス管理ツール
-
supervisorなどのサービス管理ツールの前提条件を満たす環境
(c) Dockerイメージのサポート
コンテナにJP1/IM - Agentをインストールし,Dockerイメージを作成できます。また,作成したJP1/IM - AgentのDockerイメージから新しいコンテナを生成できます。
(d) IPアドレスの非固定化
コンテナが起動するたびにIPアドレスが変更されるコンテナ環境をサポートしています。
(e) privileged権限について
コンテナにはprivileged権限を付与できます。セキュリティを考慮する場合は,privileged権限の付与は推奨しません。
JP1/IM - Agentをコンテナ上で稼働させるときに,コンテナにprivileged権限を付与する場合と付与しない場合の両方をサポートしています。ただし,JP1/IM - Agentのコンテナにprivileged権限を付与しない場合,次の制限があります。
-
統合エージェント制御基盤
コマンド実行においてprivileged権限が必要なOSコマンドなどを実行するとエラーになる場合があります。
-
IMエクスポーターが使用するExporter
「12.7.2 privileged権限について」を参照してください。
(f) rootfulモードとrootlessモードについて
rootユーザーが作成したコンテナをrootfulモードのコンテナ,root以外の一般ユーザーが作成したコンテナをrootlessモードのコンテナと呼びます。
JP1/IM - Agentでは,Dockerのrootfulモードだけをサポートします。rootlessモードはサポートしません。
(g) SELinuxについて
SELinuxを有効にした環境に構築できます。ただし,構築後にSELinuxの有効・無効を変更する場合は,JP1/IM - Agentをアンインストールし,SELinuxの設定を変更したあとで,JP1/IM - Agentを再インストールする必要があります。
(h) コンテナのホスト名について
JP1/IM - Agentでは,自身が動作するホストのホスト名を,次のような個所で使用します。
-
JP1/IM - Agentに含まれるPrometheusのスクレイプ先として設定されるホスト名(最終的にパフォーマンスデータのtargetタグに設定されます)
-
パフォーマンスデータのjp1_pc_prome_hostnameタグに設定されるホスト名
-
パフォーマンスデータのjp1_pc_remote_monitor_instanceタグに設定されるホスト名
-
構成情報のSIDの_HOST_ホスト名のホスト名
-
統合オペレーション・ビューアーのツリーの表示
-
JP1イベントの固有属性JPC_PROMETHEUSに設定されるホスト名
コンテナ上にJP1/IM - Agentがインストールされた場合は,コンテナに設定されているホスト名を上記のホスト名として設定します。
コンテナのホスト名は,コンテナを初めて起動するときに指定することが可能です。JP1/IM - Agentを稼働させるコンテナに対して適切なホスト名を指定することを推奨します。指定しなかった場合はDockerが自動的にホスト名を設定し,そのホスト名が統合オペレーション・ビューアーのツリーなどに表示されるので注意してください。
JP1/IM - Agentの定義ファイルには,JP1/IM - Agentが稼動するホストの自ホスト名を記載する個所があるため,初期設定コマンドを使用して定義ファイルに自ホスト名を設定できます。初期設定コマンドについては,「9.5.6 初期設定コマンド」を参照してください。
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」のコンテナ上のNode exporterでDockerホストの情報を収集できます。このとき,コンテナのホスト名をDockerホストのホスト名と同じ名称にすることで,統合オペレーション・ビューアー上でDockerホストのパフォーマンス情報として参照できるようになります。
(i) コンテナ上でのJP1/IM - Agentの起動方法
コンテナ上のJP1/IM - Agentのサービスは,サービス管理ツールで制御します。このため,コンテナ上でJP1/IM - Agentを運用する場合は,サービス管理ツールを同じコンテナ内に導入する必要があります。
(j) コンテナ上のNode exporterからDockerホストの性能監視
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」で監視する方法を示します。
Node exporterは,「/」(ルート),「/sys」,「/proc」から情報を取得しています。そのため,JP1/IM - Agentのコンテナ起動時にDockerホストの「/」(ルート)をマウントし,Node exporterのコマンドラインのオプション--path.rootfs,--path.procfs,--path.sysfsにマウントポイントを指定することで,コンテナ上のNode exporterからDockerホストの性能情報を収集できるようになります。
ただし,この構成にする場合は,コンテナからホストのルートファイルシステムをマウントする必要があるため,推奨しません。Dockerホストの性能監視をする場合はDockerホストにJP1/IM - Agentをインストールすることを推奨します。
(k) コンテナ上のFluentdからログ監視
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」で監視する方法を示します。
JP1/IM - Agentをインストールしたコンテナから,Dockerホストやほかのコンテナのログ出力先をマウントしておくことで,コンテナ上のFluentdからDockerホストやほかのコンテナのログを監視することができます。
(5) Podman環境の構成
(a) サポートする構成
JP1/IM - Agentは,次の構成をサポートしています。
- ■JP1/IM - Agentをコンテナ上で稼働させ,別コンテナ上で稼働しているユーザーアプリケーションを監視する構成
-
- 用途
-
-
ユーザーアプリケーションが稼動するコンテナにJP1/IM - Agentを追加できない場合の構成です。
-
- 特徴
-
-
Blackbox exporterを使用して,ユーザーアプリケーションの外形監視ができます。
-
Fluentdを使用して,ユーザーアプリケーションのログを監視できます。
-
- 制限事項
-
-
ユーザーアプリケーションが稼動しているコンテナ上でコマンドを実行することはできません。
-
- ■JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成
-
- 用途
-
-
ホストの監視を行いたい場合の構成です。
-
- 特徴
-
-
Node exporterを使用して,ホストの性能を監視できます。
-
Fluentdを使用して,ホストのログを監視できます。
-
「JP1/IM - Agentをコンテナ上で稼働させ,別コンテナ上で稼働しているユーザーアプリケーションを監視する構成」や「ユーザーアプリケーションが稼動しているコンテナにJP1/IM - Agentを同居させる構成」と同時に使用できます。
-
- 制限事項
-
-
ホスト上でコマンド実行することはできません。
-
- 注意事項
-
この構成にする場合,コンテナからホストを参照できるようにする必要があります。そのため,この構成は推奨しません。
ホストを監視する場合は,ホスト側にJP1/IM - Agentをインストールすることを推奨します。
- ■ユーザーアプリケーションが稼動しているコンテナにJP1/IM - Agentを同居させる構成
-
- 用途
-
-
ユーザーアプリケーションが稼動するコンテナにJP1/IM - Agentを追加できる場合の構成です。
-
ユーザーアプリケーションが稼動中のコンテナでコマンド実行がしたい場合の構成です。
-
コンテナを1つにまとめたい場合の構成です。
-
- 特徴
-
-
Blackbox exporterを使用して,ユーザーアプリケーションの外形監視ができます。
-
Fluentdを使用して,ユーザーアプリケーションのログを監視できます。
-
ユーザーが稼動しているコンテナ上でのコマンドを実行できます。
-
(b) コンテナイメージの前提条件
ベースとするコンテナイメージは,次の前提条件を満たし,機能が動作する必要があります。
-
bash
-
dnfまたはyumコマンド
-
unameコマンド
-
sedコマンド
-
supervisorなどのサービス管理ツールとサービス管理ツールの前提パッケージ
(c) Podmanイメージのサポート
コンテナにJP1/IM - Agentをインストールし,Podmanイメージを作成できます。また,作成したJP1/IM - AgentのPodmanイメージから新しいコンテナを生成できます。
(d) IPアドレスの非固定化
コンテナが起動するたびにIPアドレスが変更されるコンテナ環境をサポートしています。
(e) privileged権限について
PodmanにおいてもJP1/IM - Agentをコンテナ上で稼働させるときにprivileged権限を付与する場合と付与しない場合の両方をサポートしています。ただし,コンテナにprivileged権限を付与しない場合,次の制限があります。
-
統合エージェント制御基盤
コマンド実行においてprivileged権限が必要なOSコマンドなどを実行するとエラーになる場合があります。
-
Node exporter
Podmanホストのファイルシステム情報を取得できません。
-
IMエクスポーターが使用するExporter
「12.7.2 privileged権限について」を参照してください。
(f) rootfulモードとrootlessモードについて
rootユーザーが作成したコンテナをrootfulモードのコンテナ,root以外の一般ユーザーが作成したコンテナをrootlessモードのコンテナと呼びます。JP1/IM - Agentでは,Podmanのrootfulモードとrootlessモードをサポートします。ただし,rootlessモードの場合,次の制限があります。
-
Node exporter
-
Podmanホストのファイルシステム情報を取得できません。
-
Podmanホストのネットワークインターフェース情報を取得できません。
-
-
IMエクスポーターが使用するExporter
「12.7.3 rootfulモードとrootlessモードについて」を参照してください。
(g) SELinuxについて
SELinuxを有効にした環境に構築できます。ただし,構築後にSELinuxの有効・無効を変更する場合は,JP1/IM - Agentをアンインストールし,SELinuxの設定を変更したあとで,JP1/IM - Agentを再インストールする必要があります。
(h) コンテナのホスト名について
JP1/IM - Agentでは,自身が動作するホストのホスト名を,次のような個所で使用します。
-
JP1/IM - Agentに含まれるPrometheusのスクレイプ先として設定されるホスト名(最終的にパフォーマンスデータのtargetタグに設定されます)
-
パフォーマンスデータのjp1_pc_prome_hostnameタグに設定されるホスト名
-
パフォーマンスデータのjp1_pc_remote_monitor_instanceタグに設定されるホスト名
-
構成情報のSIDの_HOST_ホスト名のホスト名
-
統合オペレーション・ビューアーのツリーの表示
-
JP1イベントの固有属性JPC_PROMETHEUSに設定されるホスト名
コンテナ上にJP1/IM - Agentがインストールされた場合は,コンテナに設定されているホスト名を上記のホスト名として設定します。
コンテナのホスト名は,コンテナを初めて起動するときに指定することが可能です。JP1/IM - Agentを稼働させるコンテナに対して適切なホスト名を指定することを推奨します。指定しなかった場合はPodmanが自動的にホスト名を設定し,そのホスト名が統合オペレーション・ビューアーのツリーなどに表示されるので注意してください。
JP1/IM - Agentの定義ファイルには,JP1/IM - Agentが稼動するホストの自ホスト名を記載する個所があるため,初期設定コマンドを使用して,定義ファイルに自ホスト名を設定できます。初期設定コマンドについては,「9.5.6 初期設定コマンド」を参照してください。
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」のコンテナ上のNode exporterでPodmanホストの情報を収集できます。このとき,コンテナのホスト名をPodmanホストのホスト名と同じ名称にすることで,統合オペレーション・ビューアー上でPodmanホストのパフォーマンス情報として参照できるようになります。
(i) コンテナ上でのJP1/IM - Agentの起動方法
コンテナ上のJP1/IM - Agentのサービスは,サービス管理ツールで制御します。このため,コンテナ上でJP1/IM - Agentを運用する場合は,サービス管理ツールを同じコンテナ内に導入する必要があります。
(j) コンテナ上のNode exporterからPodmanホストの性能監視
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」で監視する方法を示します。
Node exporterは,「/」(ルート),「/sys」,「/proc」から情報を取得しています。そのため,JP1/IM - Agentのコンテナ起動時にPodmanホストの「/」(ルート)をマウントし,Node exporterのコマンドラインのオプション--path.rootfs,--path.procfs,--path.sysfsにマウントポイントを指定することで,コンテナ上のNode exporterからPodmanホストの性能情報を収集できるようになります。
ただし,この構成にする場合は,コンテナからホストのルートファイルシステムをマウントする必要があるため,推奨しません。Podmanホストの性能監視をする場合はPodmanホストにJP1/IM - Agentをインストールすることを推奨します。
(k) コンテナ上のFluentdからログ監視
「JP1/IM - Agentをコンテナ上で稼働させ,ホストを監視する構成」で監視する方法を示します。
JP1/IM - Agentをインストールしたコンテナから,Podmanホストやほかのコンテナのログ出力先をマウントしておくことで,コンテナ上のFluentdからPodmanホストやほかのコンテナのログを監視できるようになります。