学院!
我真的需要在perf_counter中使用通配符。
我们为SqlServer计数器提供了.NET数据提供程序。不幸的是,每次重新启动后,计数器上的ID都会更改。
现在我有这样的柜台:
perf_counter["\.NET Data Provider for SqlServer(_lm_w3svc_3_root-3-131958133162924330[18196])\NumberOfActiveConnectionPools"]
如何永久使用它。也许我需要使用这样的通配符:
perf_counter["\.NET Data Provider for SqlServer(_lm_w3svc_3_root-3-131958133162924330[*])\NumberOfActiveConnectionPools"]
“无法从收集器获取性能信息”不支持该计数器。
我真的需要您的帮助! 谢谢,祝你有美好的一天!
答案 0 :(得分:1)
documentation没有提到带有性能计数器的通配符。
如果每次重新启动时计数器都发生变化,即使您要处理的是单个物品,也需要使用发现规则。
发现规则可以是如下的powershell脚本:
$result = @{}
$result.data = @()
(get-counter -Listset *).paths | ForEach-Object {
if ($_ -Like "*_lm_w3svc_3_root-3-131958133162924330*\NumberOfActiveConnectionPools") {
$result.data += @{
"{#PATH}" = $_
}
}
}
$result | ConvertTo-Json
将其设置为每小时运行一次或更短的时间,并创建perf_counter["{#PATH}"]
之类的项目原型,这可以解决问题。