Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер. Писал код и дебажил ночью, в коде могли остаться лишние комментарии, но на работу не влияют.
Связь двусторонняя, в GLPI в проблеме будет ссылка на триггер в Zabbix, а в триггере Zabbix будет тег со ссылкой на проблему в GLPI. При закрытии тикета проблема в GLPI отмечается как SOLVED.
Вебхук основан на уже доступных в Интернет решениях:
https://www.zabbix.com/ru/integrations/glpi
Проблема в том, что там нет версии для Zabbix 5, а те что есть — не работают. Ну и версии в Интернете не подходят для GLPI 10.
Там нужно будет указать свои данные:
- glpi_apptoken — здесь нужно указать ваш GLPI app_token
- glpi_token — здесь нужно указать ваш GLPI user_token
- glpi_url — URL к GLPI вида https://glpi.domain.local/ или можете на сервере Zabbix создать макрос и указать его {$GLPI.URL}
- zabbix_url — URL к серверу Zabbix вида https://zabbix.domain.local/ или можете на сервере Zabbix создать макрос и указать его {$ZABBIX.URL}
Естественно, сервер заббикса должен иметь доступ к 443 порту (или на каком там порту ваш GLPI работает) сайта GLPI.
А токены то где?
Разберёмся с тем, где брать токены. На сервере GLPI в Setup → General → API создаём нового клиента Add API client. Указываем название, IP адрес сервера Zabbix или диапазон адресов, если у вас их много. Убеждаемся что клиент Active = Yes. Ставим галку Regenerate и генерируем токен app_token.
На сервере GLPI в Administration → Profiles создаём новый профиль "Zabbix Problems" с интерфейсом "Standard Interface". Во вкладке Assistance настраиваем права.
На тикеты дал все права.
На таски добавил галку UPDATE FOLLOWUPS (AUTHOR).
Валидации и ассоциации по умолчанию.
Самое главное, в проблемах даём права на просмотр, обновление и создание.
Возможно, права избыточны, это нужно будет позже на практике отладить.
На сервере GLPI в Administration → Users создаём пользователя. Ставим галку Regenerate и генерируем токен user_token.
Actions → Associate to a profile. Привязываем к пользователю созданный нами профиль "Zabbix Problems". В настройках пользователя указываем Default Profile = "Zabbix Problems". Во вкладке Authorizations отвязываем от пользователя остальные профили.