#zabbix
#zabbix
Вопрос:
У меня есть приложение на C #, которое возвращает статус Json при вызове «http://host:port/app-status «.
Ответ выглядит так:
{
"prtg":
{
"result": [
{
"channel": "DDS - ZDM - Konsistenzprüfung",
"value": "3",
"valuelookup": "prtg.RCLookup.DDS_ZDM_Check.BitField"
},
{
"channel": "ZDM DB Verbindungsversuche",
"value": "0",
"valuelookup": "prtg.RCLookup.Default.DB.Connect.Retry"
}
]
}
}
Затем у меня на сервере zabbix есть элемент, тип которого — http agent.
Запрос работает нормально. Но я получаю эту ошибку:
Сбой предварительной обработки для: HTTP / 1.1 200 Ok .. Длина содержимого: 361 .. Тип содержимого: application / json..Сервер: Grapevine / 4.1.1.0 M …
1. Сбой: не удается извлечь значение из json по пути «.prtg.result[0].значение»: не удается проанализировать как допустимый объект JSON: недопустимый формат объекта, ожидаемый открывающий символ ‘{‘ или ‘[‘ at: ‘HTTP / 1.1 200 OkДлина
содержимого: 361
Тип содержимого: application / json
Сервер: Grapevine / 4.1.1.0 Microsoft-HTTPAPI / 2.0
Дата: Пт, 12 Апр 2019 14:19:12
На вкладке предварительной обработки я установил шаг обработки с помощью JSONPath. Путь к JSON: .prtg.result[0].значение
Что не так? Может ли кто-нибудь мне помочь?
Ответ №1:
из сообщения об ошибке кажется, что вы пытаетесь проанализировать ответ из заголовков, включающих сервер, что неверно — вам нужно анализировать как JSON только данные, которые отправляются обратно (эксклюзивные заголовки)