Перейти к основному содержанию

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

Zabbix

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

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

zabbix

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

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

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

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

glpi

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

glpi

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

glpi

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

glpi

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

glpi

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

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

glpi

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

glpi

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

Теги

 

Похожие материалы

Zabbix — мониторинг очередей сообщений в Linux

Поступила задача мониторить очереди сообщений в linux. Стандартными средствами сделать можно только через system.run(), однако, она по умолчанию отключена и использовать её небезопасно. Будем делать с помощью пользовательских переменных.

Теги