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 設定