Получение указанных c полей с http на наш zabbix сервер - PullRequest
0 голосов
/ 29 января 2020

Привет, ребята, я - системный администратор, и у нас есть API, который контролирует наши серверы и работающие модули, с запросом get, который я делаю с помощью curl, чтобы обратиться к этому: http://monitoring.system.com : 1234 / Server / Get я получаю огромную строку формата json, которая включает в себя каждый работающий сервер, его состояние и его запущенные модули, я пытаюсь перенести эту информацию в zabbix с помощью агента http, но я хочу извлечь только такие ключи, как имя сервера и услуги, что я должен запросить в теле запроса? пример: curl get http://monitoring.system.com: 1234 / Server / Get {"ServersData": [{"profile": [{"name": "Somemoudle", "status": ""}], " id ":" SomeServer "," name ":" SomeServer "," lastUpdateTime ":" 2020-01-29T12: 41: 36.3572043 "," status ":" Ok "," met rics ": {" cpu ": { «значение»: 15, «единица измерения»: «%», «время»: «2020-01-29T12: 41: 16.4326333Z», «состояние»: «ОК»}, «память»: {«значение»: 27 , "unit": "%", "time": "2020-01-29T12: 41: 16.4326333Z", "status": "Ok"}, "disk": {"value": 0, "unit": "%", "время": "2020-01-29T12: 41: 16.4326333Z", "статус": "Ok"}}}, { "профили": [{ "имя": "Somemoudle", "статус" : ""}

1 Ответ

0 голосов
/ 29 января 2020

Используйте HTTP-агент для извлечения содержимого из API, затем используйте зависимый элемент для каждого необходимого элемента чисел c, используя предварительную обработку JSONPath для выбора одного значения.

Пример JSONPath с JSON Вы указали: $.ServersData[0].[met rics].cpu.value

...