proc.numキー使用でのプロセス監視不能について

いつもお世話になっております。

proc.numキーを使用して監視対象サーバから値を取得し、LAST値を使ってトリガー判定しています。
nfsのrpciodだけプロセスが起動しているにもかかわらず取得値(0)が返ってきてしまうことに悩まされています。

同様に設定してあるアイテム設定では正常に値が取れており、proc.numの第4引数(cmdline)の文字列を変更すると更に取得値が代わり内部的にどのように動作しているのか理解できず困っています。

環境詳細
監視サーバ
zabbix1.8 centOS6.1
アイテム proc.num[,"root","all","rpciod"]
トリガー {hostname:proc.num[,"root","all","rpciod"].last(0)}<1
コマンド zabbix_get -s {hostname} -k "proc.num[,"root","all","rpciod"]"
結果 0

監視対象サーバ
zabbixagent1.8 redhat el5

同じnfsのportmapは同様の条件式で正常に取れています。
proc.numがどのように値を取得しているかご存知の方いましたらご教授いただけますでしょうか

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

ソースを確認すると、

 /proc/[プロセスID]/cmdline
 /proc/[プロセスID]/status

の内容を確認しているようです。
詳細は、

 src/libs/zbxsysinfo/linux/proc.c

あたりをご確認ください。

ただし、rpciodはカーネルモジュールであるからか、

 /proc/[プロセスID]/cmdline

は取得できないので、proc.num[]でnameを指定しないとproc.num[]
で正常な値を取得できないようです。
例えば、nameを指定して、

 proc.num[rpciod/0,root,all]

というような形式であれば値は取得できると思います。

ご確認ください。

ユーザー Qoo の写真

TNKさん

指南のとおり設定したら無事、値が取れるようになりました。

カーネルスレッドはcmdlineで取れないこともわかったので
今後の設定で生かしたいと思います。

また動作の詳細な説明までしていただき助かりました。
どうもありがとうございました。