我已經在 zabbix 5.0 LTS 上建立新主機用於監視 SQL Server (2012)。我使用 zabbix 的預設模板(Template DB MSSQL by ODBC)。
我在主機上設定的這個宏
{$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配置