Zabbix MSSQL 모니터링 - 실패: 경로로 json에서 값을 추출할 수 없습니다.

Zabbix MSSQL 모니터링 - 실패: 경로로 json에서 값을 추출할 수 없습니다.

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 구성

관련 정보