Linuxエージェントにおいてプロセス監視のステータスが「不明」になる主な原因はプロセス一覧取得処理でのタイムアウトです。
なお、タイムアウトが発生する主なケースとして以下の3点が挙げられます。
①システムに存在するプロセス数が多く、恒常的にタイムアウトが発生しやすいケース
②一時的なシステム高負荷によりタイムアウトが発生したケース
③セキュリティソフトによりエージェントのファイル処理に影響がでたケース
それぞれ、対処策として以下をご確認ください
【①および②の対処方法】
①および②については、プロセス一覧取得処理のタイムアウト時間を延長することで、事象の低減が可能です。
以下の手順でタイムアウト設定を変更してください。
1. プロセス一覧取得時間の計測
以下のコマンドを2,3回実行し、プロセス一覧取得にかかる時間を確認してください。
(実行前後でdateコマンドを実行する、あるいは、時計等をご確認いただき、おおよその時間を確認してください)
<エージェントのインストールパス>/bin/statusmonitor/processmonitor/processmonitor_linux.sh
デフォルトインストールパスの場合は以下のパスとなります。
/opt/nec/pf/opm/agent/bin/statusmonitor/processmonitor/processmonitor_linux.sh
2. タイムアウト時間と監視間隔の検討
デフォルトの設定においてタイムアウトが頻繁に発生する場合、タイムアウトの時間は以下の両方を満たす設定を推奨します
・計測したプロセス一覧取得時間、あるいは、現状のタイムアウト時間(デフォルトは30秒)の大きい方の時間から30秒程度追加した時間
・監視間隔より短い時間
例として設定変更前が以下の状況の場合、大きい方の時間である現状のタイムアウト時間から30秒程度追加し60秒程度が目標です。
ただし、監視間隔より短くする必要があるためタイムアウトは55秒程度に変更します。
・計測したプロセス一覧取得時間:15秒
・現状のタイムアウト時間:30秒
・監視間隔:60秒
なお、もし現状の監視間隔が短く、かつ、タイムアウトが頻発する場合には監視間隔を延ばしたうえで、タイムアウト時間も延ばすこともご検討ください。
監視間隔を延ばす場合は、次の手順を実行する前に、Web GUI等から監視間隔を延ばしてください。
3. タイムアウト設定の変更手順
以下の手順を実行し、検討したタイムアウト時間を設定してください
(1) エージェントを停止してください。通常のエージェントでは以下となります。
systemctl stop msc_agent
(2) 設定ファイルに以下の2行を追加してください。例として記載した55の箇所については、検討したタイムアウト時間(秒)を指定してください
- 対象ファイル
/opt/nec/pf/opm/agent/bin/statusmonitor/processmonitor/getprocesslist
- 追加パラメータ
monitor.timeout=55
list.timeout=55
- 注意事項
- ファイルの文字コードはUTF-8(BOMなし)、改行コードはLFとしてください。
- monitor.timeoutは監視タイミングでのタイムアウト、list.timeoutはWeb GUIからのプロセス参照時のタイムアウトとなります。タイムアウトが頻発する環境では両方延ばしてください。
(3) エージェントを起動してください。通常のエージェントでは以下となります。
systemctl start msc_agent
【③の対処方法】
エージェントマシン上にセキュリティソフトが導入されており、かつ、エージェントが利用するパスのファイルにアクセスが発生する場合、監視処理に影響が発生し、タイムアウトが発生する可能性があります。
エージェントマシン上にセキュリティソフトが導入されている場合は、エージェントのインストールパスとデータパスが除外対象になっているか確認してください。
デフォルトのエージェントのインストールパス、データパスは以下となりますが、インストール時に指定したパラメータにあわせて読み替えてください。
- インストールパス
/opt/nec/pf/opm/agent
- データパス
/opt/nec/pf/opm/agent/data