windows serverのCPU監視について
お世話になります。
windows serverのCPU監視についてご質問させてください。
Zabbix 4.4.0
監視対象 windows server 2016
上記環境にて、windows server のCPUコア数の使用率を監視したいと考えております。
LLD のキー system.cpu.discovery を使い、アイテムを下記のように設定してみましたが、コア数毎のIdle Timeが取得できませんでした。
アイテムキーとしては下記のようになるのかなと思っておりますが、ご教授頂きたく、よろしくおねがいします。
アイテムキー
perf_counter[\Processor Information({#CPU.NUMBER})\% Idle Time]
また、zabbix_getで値を取得しに行った場合、Processor Information(_Total)は取得出来るものの、
コア毎(Processor Information(0,3))では取得不可でした。
# zabbix_get -s 192.168.0.230 -p 10050 -k "perf_counter[\Processor Information(_Total)\% Idle Time]"
100.189958
# zabbix_get -s 192.168.0.230 -p 10050 -k "perf_counter[\Processor Information(0,3)\% Idle Time]"
ZBX_NOTSUPPORTED: Invalid second parameter.
typeperfの情報
------------------------
\Processor Information(_Total)\% Idle Time
\Processor Information(0,_Total)\% Idle Time
\Processor Information(0,7)\% Idle Time
\Processor Information(0,6)\% Idle Time
\Processor Information(0,5)\% Idle Time
\Processor Information(0,4)\% Idle Time
\Processor Information(0,3)\% Idle Time
\Processor Information(0,2)\% Idle Time
\Processor Information(0,1)\% Idle Time
\Processor Information(0,0)\% Idle Time
------------------------
お手数おかけしますが、よろしくお願いいたします。
yk_taiko - 投稿数: 184
「Invalid second parameter.」とある通り、第2引数があると解釈されています。
Zabbix のアイテムキーの引数は【,】で区切られるので、"0,3" のところですね。
アイテムキーの引数を【"】で括ってみて取れるか確認してみてください。
- https://www.zabbix.com/documentation/4.4/manual/config/items/item/key
myyam - 投稿数: 63
ご返信ありがとうございます。
zabbix_get -s 172.17.0.230 -p 10050 -k "perf_counter[\Processor Information(0,3)\% Idle Time]"
↓
zabbix_get -s 172.17.0.230 -p 10050 -k "perf_counter[\Processor Information"0,3"\% Idle Time]"
上記の様に?でしょうか?
変更いたしましたが、エラー内容は変わらずでございました。
ただ、アイテムキーを下記の様に変更したところ、値が取得できたようです。
perf_counter[\Processor Information({#CPU.NUMBER})\% Idle Time]
↓
perf_counter[\Processor({#CPU.NUMBER})\% Idle Time]
アイテムキーはtypeperfの情報に習って記載すると思っておりましたので、どこが悪かったのはイマイチ把握できず。
yk_taiko - 投稿数: 184
<18:42修正>
こういう感じでどうでしょうか。
perf_counter["\Processor Information(0,{#CPU.NUMBER})\% Idle Time"]
※ディスカバリでは1桁の数字しか返ってこないかと思います。
※ Processor と、Processor Information について
https://blogs.technet.microsoft.com/askcorejp/2018/02/02/processor_infor...
myyam - 投稿数: 63
ご返信ありがとうございます。
# zabbix_get -s 172.17.0.230 -p 10050 -k "perf_counter["\Processor Information(0,{#CPU.NUMBER})\% Idle Time"]"
-bash: 予期しないトークン `(' 周辺に構文エラーがあります
となってしまいました。
また、下記でアイテムのプロトタイプを作成しましたが、いずれもNGでした。
perf_counter["\Processor Information(0,{#CPU.NUMBER})\% Idle Time"]
zabbix_server.log
-------------------------------------
133265:20191126:102842.781 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(0)\% Idle Time]" changed: Cannot obtain performance information from collector.
133264:20191126:102843.782 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(1)\% Idle Time]" changed: Cannot obtain performance information from collector.
133267:20191126:102844.786 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(2)\% Idle Time]" changed: Cannot obtain performance information from collector.
133269:20191126:102845.790 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(3)\% Idle Time]" changed: Cannot obtain performance information from collector.
133265:20191126:102846.801 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(4)\% Idle Time]" changed: Cannot obtain performance information from collector.
133264:20191126:102847.802 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(5)\% Idle Time]" changed: Cannot obtain performance information from collector.
133267:20191126:102848.806 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(6)\% Idle Time]" changed: Cannot obtain performance information from collector.
133269:20191126:102849.810 error reason for "WIN-LJ37CTODG86:perf_counter[\Processor Information(7)\% Idle Time]" changed: Cannot obtain performance information from collector.
-------------------------------------
いくつかためしてみたのですが、下記のキーだと値が正常に取得可能なようです。
perf_counter[\Processor({#CPU.NUMBER})\% Idle Time]
(Processor InformationをProcessorのみに変更)
一旦これで様子見をしようと思います。
ありがとうございます。
fripper - 投稿数: 495
#Winテスト環境持ち合わせていないので、テストできていない発言です
#申し訳ありません
# zabbix_get -s 172.17.0.230 -p 10050 -k 'perf_counter["\Processor Information(0,1)\% Idle Time"]'
-k パラメータに与えるキー文字列の一番外側のクォートを、ダブルクォーテーションでなく
シングルクォーテーションで記載してみてはどうでしょうか?
shell側でのコマンドライン解釈時に
キー指定の先頭のダブルクォーテーションで開かれた「文字列開始」が
アイテムキー内パラメータ部分の先頭に書かれたダブルクォーテーションで閉じられてしまって
その後、アイテムキー内パラメータ部分末尾のダブルクォーテーションで再度「文字列開始」となり
アイテムキー指定末尾のダブルクォーテーションで閉じられている、と
シェルに解釈されてしまっているのではないかと思います
これで取得できるようであれば、WebUIからのアイテムキー指定は
perf_counter["\Processor Information(0,1)\% Idle Time"]
とすれば良いはずで
perf_counter["\Processor Information(0,{#CPU.NUMBER})\% Idle Time"]
といった感じになるのかと思います
いかがでしょうか?
myyam - 投稿数: 63
ご返信ありがとうございます。
下記の通り値が取得できたようです。
# zabbix_get -s 172.17.0.230 -p 10050 -k 'perf_counter["\Processor Information(0,1)\% Idle Time"]'
100.369220
まだ、UIからは試しておりませんが、おそらく大丈夫そうですね。
ありがとうございました。