Версия Zabbix 4.2.8.
У меня есть доступ к мониторингу Zabbix, но много каких триггеров в мониторинг не заведено.
Моя учетка Zabbix только в режиме просмотра. Добавить новые триггеры в заббикс мне никто не позволит. Еле клиентский доступ то выпросил.
На моем ноуте поднят HTTP сервер с PHP.
Идея в том, что на одной странице я у себя хочу разметить все интересующие меня данные.
При чем данные будут выдираться самыми разными способами:
Отсутствие свежих записей в БД - с помощью T_SQL клиента. Их я вытаскиваю, всё отлично.
Упавшие сетевые интерфейсы на серверах видеонаблюдения - через netsh и shell_exec.
И т.д.
Также хочу мониторить некоторые хосты, недоступные из моей сети, но доступные серверу Заббикс, расположенные у клиента, с помощью Zabbix API.
Столкнулся с тем, что читая документацию API я могу вытащить проблемы в интересующей группе хостов, но в приходящем ответе имеется только название активной проблемы, но я не вижу к какому хосту она относится.
Пример запроса:
$res=$zab->Execute("event.get", ["groupids"=>19,"active"=>1,"recent"=>false,"acknowledged"=>true]);
Ответ:
[0]=>
object(stdClass)#5 (15) {
["eventid"]=>
string(6) "121790"
["source"]=>
string(1) "0"
["object"]=>
string(1) "0"
["objectid"]=>
string(5) "17299"
["clock"]=>
string(10) "1621404763"
["value"]=>
string(1) "1"
["acknowledged"]=>
string(1) "1"
["ns"]=>
string(9) "667737540"
["name"]=>
string(18) "Фиксация-1"
["severity"]=>
string(1) "5"
["r_eventid"]=>
string(1) "0"
["c_eventid"]=>
string(1) "0"
["correlationid"]=>
string(1) "0"
["userid"]=>
string(1) "0"
["suppressed"]=>
string(1) "0"
или например запрос:
$res=$zab->Execute("problem.get", ["groupids"=>19,"active"=>1,"recent"=>false,"acknowledged"=>true]);
Ответ то же самое:
[0]=>
object(stdClass)#5 (15) {
["eventid"]=>
string(6) "121782"
["source"]=>
string(1) "0"
["object"]=>
string(1) "0"
["objectid"]=>
string(5) "17233"
["clock"]=>
string(10) "1621404417"
["ns"]=>
string(8) "67117042"
["r_eventid"]=>
string(1) "0"
["r_clock"]=>
string(1) "0"
["r_ns"]=>
string(1) "0"
["correlationid"]=>
string(1) "0"
["userid"]=>
string(1) "0"
["name"]=>
string(18) "Обзорная-1"
["acknowledged"]=>
string(1) "1"
["severity"]=>
string(1) "5"
["suppressed"]=>
string(1) "0"
Привязки к хосту я не вижу.
Запрашивать проблемы на все хосты по host_id в цикле - по моему дичь.
Подскажите, кто знает, как правильно вытащить все активные проблемы, и чтобы у меня была информация, к какому хосту она вообще относится.
Заранее благодарю.