GLPI 10 — вебхук для Zabbix 5

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер. Писал код и дебажил ночью, в коде могли остаться лишние комментарии, но на работу не влюяют.

Связь двусторонняя, в GLPI в проблеме будет ссылка на триггер в Zabbix, а в триггере Zabbix будет тег со ссылкой на проблему в GLPI. При закрытии тикета проблема в GLPI отмечается как SOLVED.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-2

Вебхук основан на уже доступных в Интернет решениях:

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.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-3

А токены то где?

Разберёмся с тем, где брать токены. На сервере GLPI в Setup → General → API создаём нового клиента Add API client. Указываем название, IP адрес сервера Zabbix или диапазон адресов, если у вас их много. Убеждаемся что клиент Active = Yes. Ставим галку Regenerate и генерируем токен app_token.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-4

На сервере GLPI в Administration → Profiles создаём новый профиль "Zabbix Problems" с интерфейсом "Standard Interface". Во вкладке Assistance настраиваем права.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-5

На тикеты дал все права.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-6

На таски добавил галку UPDATE FOLLOWUPS (AUTHOR).

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-7

Валидации и ассоциации по умолчанию.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-8

Самое главное, в проблемах даём права на просмотр, обновление и создание.

Возможно, права избыточны, это нужно будет позже на практике отладить.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-9

На сервере GLPI в Administration → Users создаём пользователя. Ставим галку Regenerate и генерируем токен user_token.

Сегодня у нас раздача слонов. Мы подружили Zabbix 5 c GLPI 10. А именно написали вебхук для генерации проблемы в GLPI, когда в заббиксе срабатывает триггер.-10

Actions → Associate to a profile. Привязываем к пользователю созданный нами профиль "Zabbix Problems". В настройках пользователя указываем Default Profile = "Zabbix Problems". Во вкладке Authorizations отвязываем от пользователя остальные профили.

Источник:

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.