いつもお世話になっています。
Windowsの各ドライブの情報をLLDを使用して監視したいと考えているのですが、
以下のようにドライブ毎の情報を取る場合、ドライブ名の前に数字が入ります。
PhysicalDIsk(0 c:)\Disk Reads/Sec
このため、以下のような記述をキーに入れても監視が実現できない状態となるのですが、
何か方法はないでしょうか。
perf_counter[\PhysicalDIsk({#FSNAME})\Disk Reads/Sec]
Zabbixサーバ・エージェント共に3.0を使用しています。
よろしくお願い致します
TNK - 投稿数: 4769
「PhysicalDIsk」の2つめのIを小文字にして「PhysicalDisk」にし
てもだめでしょうか?
Zabbixサーバー上から、
$ zabbix_get -s -k 'perf_counter[\PhysicalDisk(0 C:)\Disk Reads/Sec]'
と実行すると、ZBX_NOTSUPPORTEDにはならず、何らかの値を取得
しているようです。
nekodaisky - 投稿数: 6
すみません。わかりにくかったかもしれません。
通常のテンプレート・アイテムでperf_counter[\PhysicalDisk(0 c:)\Disk Reads/Sec]が使用できることは確認しています。
ローレベルディスカバリで各ノードのHDDドライブを自動で取得して監視を行いたい場合に、
(0 c:)のうち、"c:"は{#FSNAME}を使用して表現できるのですが、"0"の方が表現できず、
何か方法はないかと思った次第です。
perf_counter[\PhysicalDisk({#FSNAME})\Disk Reads/Sec]とした場合、サーバ側に以下のようなログが出ており、ドライブ番号がないために値が取れない状況となります。
item "xxxx:perf_counter[\PhysicalDisk(C:)\Disk Reads/Sec]" became not supported: Cannot obtain performance information from collector.
TNK - 投稿数: 4769
PowerShellを使用することが可能であるならば、ディスカバリルー
ルでリスト取得する時に、
(Get-Counter "\\<コンピュータ名>\PhysicalDisk(*)\Disk Reads/Sec").Countersamples
でカウンタのリストを取得できるので、そのリスト内のInstanceName
を参照して、数字とドライブ名の組み合わせを取得することができる
と思います。
nekodaisky - 投稿数: 6
頂いた内容から少し調べました。カスタムLLDというやつですね。
こちらの方向で検討してみます。
ご回答ありがとうございました。
nekodaisky - 投稿数: 6
返信が遅れました。
その後、以下を見つけたので使用させてもらうことにしました。
https://github.com/vintagegamingsystems/Disk-Low-Level-Discovery-for-Phy...
エージェント側で上記をUserParameterで指定後、問題なく値が取れるようになりました。
ありがとうございました。