Назад | Перейти на главную страницу

Получить текущий статус из httptest (Zabbix)

Я пытаюсь использовать PHP / CURL для запроса Zabbix и определения, доступна ли услуга или нет.

Из веб-интерфейса Zabbix я получаю этот экран, который показывает тест и его статус.

Веб-интерфейс Zabbix

Я хотел бы получить эти данные (название и статус теста) в формате JSON для отображения в другом приложении.

Я отправляю следующий JSON:

{"jsonrpc":"2.0","method":"httptest.get", "params": {"output":"extend"},"auth":"XXXXXXXXXXXXXXX","id":0}'

Что возвращает тесты, но не его статус. Какой json-запрос я должен использовать, чтобы получить флаг статуса (Ok / NOk)?

Мне потребовалось много времени, чтобы понять это.

Вы хотите сделать item.get запрос и заполните webitems поле в вашем запросе.

лайк "webitems": "true"

Например:

{
    "jsonrpc": "2.0",
    "method": "item.get",
    "params": {
        "output": "extend",
        "sortfield": "name",
        "webitems": "true",
        "search": {
            "name": "Response code"
        }
    },
    "auth": "token",
    "id": 1
}

Тогда вы сможете получить lastvalue для значения или даже использовать history.get с itemid.

Который OK/NOK статус для веб-мониторинга рассчитывается код внешнего интерфейса и метод API для этого результата недоступен.

Вы должны использовать item.get чтобы получить значение элемента веб-мониторинга (например, элемент «lastfailedstep / Неудачный шаг сценария ...»), а затем вы должны вычислить OK/NOK статус в вашем коде. Видеть Документация API Zabbix item.get для параметров.