windowsの全プロセス情報収集方法について
お世話になります、
windowsのパフォーマンス情報を取得したい場合、
perf_counterを利用すると思いますが、
ホスト上で起動している全プロセスを取得したい場合どのようにすれば良いでしょうか?
typeperfコマンドの場合、下記のように、ワイルドカード指定すれば、全プロセス分取得できます。
typeperf "Process(*)\% Processor Time" -sc 1 -si 0
typeperf "Process(*)\*" -sc 1 -si 0
zabbix_agentの場合、下記のようにワイルドカード指定しても、1項目分しか、出力されません。
C:\Program Files\ZABBIX Agent>zabbix_agentd.exe -c zabbix_agentd.conf -t perf_counter["\Process(*)\% Processor Time"]
perf_counter[\Process(*)\% Processor Time] [d|0.000000]
アイテムには、1項目分しか挿入できないので、当然と言えば当然かもしれませんが、何か方法はないでしょうか?
(性能が落ちるので出来ればuserparameterを使用したくないです。)
TNK - 投稿数: 4769
perf_counter[]やwmi.get[]では1行の値しか取得できないようで
すので、UserParameterを利用し、アイテムとしてはデータ型を
「テキスト」として複数行の値を受け取れるようにするのがよいと
思います。
ただし、値の中に日本語が含まれる場合は、nkfなどを利用して
utf8に変換することが必要となると思いますのでご注意ください。