LoginSignup
13
9

More than 5 years have passed since last update.

Zabbix で proc.num がどのように値を取得しているのかを調べた。Linuxの場合

Last updated at Posted at 2016-05-18

概要

zabbixでプロセスの数を監視しようとした時に、
proc.numの最初の引数に渡すものと、第4引数に渡すものとの違いがあるようなので、
どのように調べているのかを調べた。

結論

zabbix 2.2.12 のlinuxでは、

/proc

以下のすべてのプロセスをループでチェックしている。

linuxのプロセスを調べているのは以下のソースコードのようである。

src/libs/zbxsysinfo/linux/proc.c

経緯

zabbixで特定のプロセスの数を調べたかったので、まずは以下を参考にしてみた。

引数を1つだけにして、ps aux ででてきた値をそのままいれてみたが、うまく取得できなかった。

更に調べて

ここをみて、特定のプロセス数を監視できるようになった。
詳しくは、上のページをみてもらったほうが良いが、
ざっくりまとめると、以下のようになるかなと思う。

  • 第1引数に渡すのは、 ps -e の出力
  • 第4引数に渡すのは、 ps -ef の出力

zabbixでは、実際どうやって調べているのか気になったので、調べてみた

最初、src/zabbix_agent 以下だけをしらべてみたが、みつからなかったので、
src において

grep -r "proc.num"

などとして、探していき
最終的に以下のファイルにたどりついた

src/libs/zbxsysinfo/linux/proc.c

やっていることは、

/proc

以下をすべて調べているようである。
どのように調べているかはソースを見てもらった方がよい。

参考

proc.num[nginx]
13
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9