お世話になっております。
特定のプロセスのCPUの使用率を監視したいのですが その方法をご教示ください。
よろしくお願いいたします。
私の知っている限りでは、直接、各プロセスのCPU利用率を取得す るアイテムはなかったと思います。
ただ、Linuxであれば、下に添付するURLのページに記載されている ように、例えば、httpdなら、
UserParameter=httpd[cpu],ps auxw|grep httpd|grep -v grep| awk '{s+=$3} END {print s}'
などと、UserParameterを利用してpsコマンドの出力結果から切り 出して対応することができます。
ご参考: https://www.zabbix.com/forum/showthread.php?t=16445
もしくは、snmpdを起動して、SNMPでプロセスの情報を取得できる ように設定して、SNMPで取得することも考えられます。 こちらは、プロセスを起動しなおすとインデックスが変わる場合が ほとんどだと思いますのでご注意ください。
ご参考: http://d.hatena.ne.jp/ike-dai/20110119/1295437976
いつもありがとうございます。
監視対象がwindowsなので。。
proc_info[XXX.exe,utime,avg]
とやってみるとcpu時間?は取れそうなのですが 意味するところが微妙に分かりません。
更新時間は「10秒」なので 10秒間でXXX.exeがcpuを使った時間(の平均)でいいでしょうか? #平均?
あるいは意味のない設定でしょうか?
utimeだけを取ってきても、そのプロセスのCPU利用率にはならなか ったと思います。
ご参考: http://www.zabbix.jp/node/86
他の方法として、Zabbixエージェントを利用して、パフォーマンス カウンタから取得する方法もあります。
キーとして、IEの場合は「iexplore」を指定して、
perf_counter["\Process(iexplore)\% Processor Time"]
などと指定すると、IEのCPU使用率が取得できます。
指定するプロセスの名前は、パフォーマンスモニタなどを参考にし てください。
注意点としては、
・複数のプロセスで機能するものは、それぞれのプロセスに対し て個別に取得する必要があります。 ・マルチコアのサーバでは、トータルで100% x コア数分の表示 となります。つまり、2コアなら200%が最大値になります。
などが考えられます。
ありがとうございます。
やってみましたが、アイテムの登録はできるのですが、すぐに「取得不可」になります。 エラーの赤バツのメッセージは「Not supported ...」です。
どのようなアイテムを登録されたのかをお教えください。 すぐに取得不可になります、だけでは問題は特定できません。
申し訳ありません。 頂いたキー情報をもとに、アイテムは以下の設定です。 --------------------------------------------------- ・タイプ:Zabbixエージェント ・キー:perf_counter["\Process(XXXXX.EXE)\% Processor Time"] ・データ型:数値(浮動小数) ・単位:(なし) ・更新間隔:30 ・ステータス:有効 ・アプリケーション:CPU #後はデフォルト --------------------------------------------------- エラーメッセージは 「Not supported byZabbix Agent」
#バージョン:1.8.16
以上 よろしくお願いいたします。
パフォーマンスモニタで確認されましたか?
パフォーマンスモニタで確認すれば、プロセスを指定する名称には、 例示した通りEXEはつかないはずです。
再度、パフォーマンスモニタでProcessグループ内のインスタンス の名前を確認してください。
アカウント名 dba43986
居住地 東京
Zabbix関連
TNK - 投稿数: 4720
私の知っている限りでは、直接、各プロセスのCPU利用率を取得す
るアイテムはなかったと思います。
ただ、Linuxであれば、下に添付するURLのページに記載されている
ように、例えば、httpdなら、
UserParameter=httpd[cpu],ps auxw|grep httpd|grep -v grep| awk '{s+=$3} END {print s}'
などと、UserParameterを利用してpsコマンドの出力結果から切り
出して対応することができます。
ご参考:
https://www.zabbix.com/forum/showthread.php?t=16445
もしくは、snmpdを起動して、SNMPでプロセスの情報を取得できる
ように設定して、SNMPで取得することも考えられます。
こちらは、プロセスを起動しなおすとインデックスが変わる場合が
ほとんどだと思いますのでご注意ください。
ご参考:
http://d.hatena.ne.jp/ike-dai/20110119/1295437976
dba43986 - 投稿数: 44
いつもありがとうございます。
監視対象がwindowsなので。。
proc_info[XXX.exe,utime,avg]
とやってみるとcpu時間?は取れそうなのですが
意味するところが微妙に分かりません。
更新時間は「10秒」なので
10秒間でXXX.exeがcpuを使った時間(の平均)でいいでしょうか?
#平均?
あるいは意味のない設定でしょうか?
よろしくお願いいたします。
TNK - 投稿数: 4720
utimeだけを取ってきても、そのプロセスのCPU利用率にはならなか
ったと思います。
ご参考:
http://www.zabbix.jp/node/86
他の方法として、Zabbixエージェントを利用して、パフォーマンス
カウンタから取得する方法もあります。
キーとして、IEの場合は「iexplore」を指定して、
perf_counter["\Process(iexplore)\% Processor Time"]
などと指定すると、IEのCPU使用率が取得できます。
指定するプロセスの名前は、パフォーマンスモニタなどを参考にし
てください。
注意点としては、
・複数のプロセスで機能するものは、それぞれのプロセスに対し
て個別に取得する必要があります。
・マルチコアのサーバでは、トータルで100% x コア数分の表示
となります。つまり、2コアなら200%が最大値になります。
などが考えられます。
dba43986 - 投稿数: 44
ありがとうございます。
やってみましたが、アイテムの登録はできるのですが、すぐに「取得不可」になります。
エラーの赤バツのメッセージは「Not supported ...」です。
よろしくお願いいたします。
TNK - 投稿数: 4720
どのようなアイテムを登録されたのかをお教えください。
すぐに取得不可になります、だけでは問題は特定できません。
dba43986 - 投稿数: 44
ありがとうございます。
申し訳ありません。
頂いたキー情報をもとに、アイテムは以下の設定です。
---------------------------------------------------
・タイプ:Zabbixエージェント
・キー:perf_counter["\Process(XXXXX.EXE)\% Processor Time"]
・データ型:数値(浮動小数)
・単位:(なし)
・更新間隔:30
・ステータス:有効
・アプリケーション:CPU
#後はデフォルト
---------------------------------------------------
エラーメッセージは
「Not supported byZabbix Agent」
#バージョン:1.8.16
以上
よろしくお願いいたします。
TNK - 投稿数: 4720
パフォーマンスモニタで確認されましたか?
パフォーマンスモニタで確認すれば、プロセスを指定する名称には、
例示した通りEXEはつかないはずです。
再度、パフォーマンスモニタでProcessグループ内のインスタンス
の名前を確認してください。