SQL Server(2012) 모니터링을 위해 이미 zabbix 5.0 LTS에 새 호스트를 생성했습니다. 저는 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>
출력은 다음과 같아야 합니다. Out Put 쿼리는 다음과 같습니다.
2 - 찾기 후Object_nameZabbix {$MSSQL.INSTANCE} 매크로에서 설정합니다.
이와 같이 :Zabbix 구성