LLDにおけるWindowsパフォーマンスモニターphysicaldiskのドライブ取得に関して

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

Windowsの各ドライブの情報をLLDを使用して監視したいと考えているのですが、
以下のようにドライブ毎の情報を取る場合、ドライブ名の前に数字が入ります。
PhysicalDIsk(0 c:)\Disk Reads/Sec

このため、以下のような記述をキーに入れても監視が実現できない状態となるのですが、
何か方法はないでしょうか。
perf_counter[\PhysicalDIsk({#FSNAME})\Disk Reads/Sec]

Zabbixサーバ・エージェント共に3.0を使用しています。

よろしくお願い致します

コメント表示オプション

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

「PhysicalDIsk」の2つめのIを小文字にして「PhysicalDisk」にし
てもだめでしょうか?

Zabbixサーバー上から、

 $ zabbix_get -s -k 'perf_counter[\PhysicalDisk(0 C:)\Disk Reads/Sec]'

と実行すると、ZBX_NOTSUPPORTEDにはならず、何らかの値を取得
しているようです。

ユーザー nekodaisky の写真

すみません。わかりにくかったかもしれません。

通常のテンプレート・アイテムで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 の写真

PowerShellを使用することが可能であるならば、ディスカバリルー
ルでリスト取得する時に、

 (Get-Counter "\\<コンピュータ名>\PhysicalDisk(*)\Disk Reads/Sec").Countersamples

でカウンタのリストを取得できるので、そのリスト内のInstanceName
を参照して、数字とドライブ名の組み合わせを取得することができる
と思います。

ユーザー nekodaisky の写真

頂いた内容から少し調べました。カスタムLLDというやつですね。
こちらの方向で検討してみます。

ご回答ありがとうございました。

ユーザー nekodaisky の写真

返信が遅れました。

その後、以下を見つけたので使用させてもらうことにしました。
https://github.com/vintagegamingsystems/Disk-Low-Level-Discovery-for-Phy...

エージェント側で上記をUserParameterで指定後、問題なく値が取れるようになりました。

ありがとうございました。