Zabbix - perf_counter 中的通配符用法

Zabbix - wildcard usage in perf_counter

大学!

我真的需要在 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"]

"Cannot obtain performance information from collector" 不再支持计数器。

我真的需要你的帮助! 谢谢你,祝你有美好的一天!

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}"] 的项目原型,这应该可以解决问题。