SNMPを用いたプロセス監視の仕様
作成日:2014年4月15日 | 更新日:2022年1月13日
SNMP を用いたプロセス監視の仕様をご説明いたします。
仕様の説明
SNMP を用いたプロセス監視では、
装置概要ページ->[装置概要]欄->[監視間隔]
で設定された時間間隔毎に SNMP パケットを送信してプロセス情報を取得します。
プロセス情報を受信するとき、装置に対して各プロセス毎に GetNextRequest 送信、GetResponse 受信を繰り返して
装置が稼動している全プロセス情報を取得後、OpManager の登録装置に関連付けている監視項目とマッチングして
GetResponse で取得できなかったプロセスをダウンと判定します。
SNMPで稼動中のプロセス名、パス、引数、CPU使用量、メモリ使用量を取得するために参照するOID情報は以下となります。
OID | オブジェクト | 取得情報 |
.1.3.6.1.2.1.25.4.2.1.1 | HOST-RESOURCE-MIB::hrSWRunIndex | プロセスID |
.1.3.6.1.2.1.25.4.2.1.2 | HOST-RESOURCE-MIB::hrSWRunName | プロセス名 |
.1.3.6.1.2.1.25.4.2.1.4 | HOST-RESOURCE-MIB::hrSWRunPath | パス |
.1.3.6.1.2.1.25.4.2.1.5 | HOST-RESOURCE-MIB::hrSWRunParameters | 引数 |
.1.3.6.1.2.1.25.5.1.1.1 | HOST-RESOURCE-MIB::hrSWRunPerfCPU | 使用CPUリソース |
.1.3.6.1.2.1.25.5.1.1.2 | HOST-RESOURCE-MIB::hrSWRunPerfMem | 使用メモリリソース |
.1.3.6.1.2.1.25.3.3.1.1 | HOST-RESOURCE-MIB::hrProcessorFrwID | CPUコア数 |
これらのOID値のうち、HOST-RESOURCE-MIB::hrProcessorFrwID(.1.3.6.1.2.1.25.3.3.1.1) 以外のOIDを
稼動プロセス毎にGetNextRequest、GetResponseを繰り返してSNMP通信を実施して装置の全稼動プロセス情報を取得します。
上記で取得した稼働中の全プロセスと、当該装置の監視プロセスとして登録したDBの情報を比較し
マッチしたプロセスをアップ、マッチしなかったプロセスをダウンとして取り扱います。
抽出したプロセス情報に対し、CPU使用率、メモリ使用率を計算し
また、稼働中プロセスの重複プロセスをインスタンス数にインクリメントして纏め、DBに格納します。
その後、装置概要ページ表示時に、格納したDBの情報を参照して表示します。
SNMPタイムアウトとの関連
SNMP を用いたプロセス監視では、SNMP パケットの OID 値から稼動プロセス情報を取得しますが
SNMP は UDP で通信しております。
そのため、輻輳などによるネットワーク不安定時には SNMP タイムアウト発生により、
情報を取得しきれない場合があります。
その結果、SNMP 監視の監視項目で一時的に値を取得できない場合があります。
特に、プロセス監視の場合は取得する SNMP で参照する情報が多いため
取得値が欠けることによる誤検知や、使用量などの計算誤りが発生することがあります。
SNMP タイムアウトの発生を抑制するには、OpManager で使用する
SNMP 認証設定のタイムアウト値、リトライ回数変更が有効です。
変更方法はこちらより確認可能です。
【対応リリース】 x.x以降
★-----------------------------------------------------------------------------★
OpManager 製品紹介ページはこちら ↓
https://www.manageengine.jp/products/OpManager/
★-----------------------------------------------------------------------------★