Zabbix MSSQL 监控-失败:无法通过路径从 json 中提取值

Zabbix MSSQL 监控-失败:无法通过路径从 json 中提取值

我已经在 zabbix 5.0 LTS 上创建了新主机,用于监控 SQL Server (2012)。我使用 zabbix 的默认模板 (ODBC 的模板 DB MSSQL)。

我在主机上设置了这个宏

{$MSSQL.DSN} => devdb
{$MSSQL.INSTANCE} => DBDEV115\DBDEV115
{$MSSQL.PASSWORD} => passworduserdb
{$MSSQL.PORT} => 4019
{$MSSQL.USER} => zabbix

之后我看到每个项目都收到了这样的错误消息

Failed: cannot extract value from json by path "$[?(@.object_name=='DBDEV115\DBDEV115:Databases' && @.counter_name=='Transactions/sec' && @.instance_name=='dbColaFlakes')].cntr_value.first()": unsupported construct in jsonpath starting with: "'DBDEV115\DBDEV115:Databases' && @.counter_name=='Transactions/sec' && @.instance_name=='dbColaFlakes')].cntr_value.first()"

此错误是否受实例名称影响?或者 zabbix 不支持?

因为我从这样的查询中获得了实例名称

select @@servername

答案1

解决方案:
1 - 您必须找到真正的实例名称才能使用这样的查询 mssql:

SELECT object_name, counter_name, cntr_value <br>
FROM sys.dm_os_performance_counters<br>
WHERE [object_name] LIKE '%Buffer Manager%'<br>
AND [counter_name] = 'Page life expectancy'<br>

输出必须是这样的: 像这样输出查询

2 - 查找后对象名称在 Zabbix {$MSSQL.INSTANCE} 宏中设置。
像这样:Zabbix 配置

相关内容