【Hinemos】カーネルモードのプロセス数を監視する

投稿日: / 更新日:

Hinemosで、SNMPを利用してプロセス監視を行う場合、マネージャは監視対象ノードの以下のOIDの値をSNMPポーリングで取得し、プロセス数の判定に使用します。

監視対象ノードのOSがLinuxの場合、実際には上記のうち”HOST-RESOURCES-MIB::hrSWRunPath”の値が、プロセス監視の「コマンド」と比較されます。

ここで、実際に”HOST-RESOURCES-MIB::hrSWRunPath”の値を取得してみると、”<exited>”という値が返されるプロセスがあることに気付きます。

プロセス名を調べてみると、いずれも角カッコで囲まれており、これはプロセスがカーネルモードで動作していることを示しています。

監視対象ノードのOSがLinuxの場合、前述のとおり”HOST-RESOURCES-MIB::hrSWRunPath”の値がプロセス監視の”コマンド”と比較されます。これは、カーネルモードで動作するプロセスを監視することができない、ということを意味しています。実際に監視を行ってみても、やはりプロセス数を検知することができません(下図)。

プロセス監視でカーネルモードのプロセスを監視

プロセス監視でカーネルモードのプロセスを監視

対策として、Hinemos 4.0のカスタム監視を使用する方法が考えられます。例えば、kthreaddのプロセス数は、以下のコマンドで求めることができます。

なお、プロセス数をカスタム監視の結果として取得するためには、key,valueの形式で標準出力へ出力させる必要があります。ここでは、カスタム監視の”コマンド”を以下のように設定します。

カスタム監視の実行結果は以下のとおりです。

カスタム監視でカーネルモードのプロセスを監視

カスタム監視でカーネルモードのプロセスを監視

上図のとおり、カーネルモードのプロセス数を正しく検知することができました。ちなみに、カスタム監視のないHinemos ver3.2では、HTTP監視を疑似的にカスタム監視として使用する方法で、同様に監視を行うことが可能です。こちらの記事で簡単に紹介しておりますので、興味のある方はご覧ください。

以上、簡単ですがプロセス監視とカスタム監視に関する話題をご紹介しました。

最新情報発信中

Twitterやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。