Zabbix MSSQL モニタリング - 失敗: パスによって json から値を抽出できません

Zabbix MSSQL モニタリング - 失敗: パスによって json から値を抽出できません

SQL Server (2012) を監視するために、zabbix 5.0 LTS に新しいホストを既に作成しています。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 設定

関連情報