Тип медија вебхук је користан за упућивање HTTP позива користећи прилагођено JavaScript код за једноставну интеграцију са спољним софтвером као што су системи за подршку, ћаскање или гласници. Можете изабрати увоз интеграцију коју обезбеђује Zabbix или креирајте прилагођену интеграцију од огребати.
Доступне су следеће интеграције које омогућавају коришћење унапред дефинисаних типова вебхукова за слање Zabbix обавештења на:
Поред сервиса наведених овде, Zabbix се може интегрисати са Spiceworks (није потребан вебхук). Да бисте конвертовали Zabbix обавештења у Spiceworks тикете, креирајте тип медија за имејл и унесите Spiceworks имејл адресу службе за помоћ (нпр. [email protected]) у подешавањима профила одређеног Zabbix корисника.
Да бисте почели да користите интеграцију вебхука:
Пронађите потребну .xml датотеку у директоријуму templates/media
преузете верзије Zabbix-а или је преузмите из Zabbix git репозиторијума.
Увезите датотеку у вашу Zabbix инсталацију. Вебхук ће се појавити на листи типова медија.
Конфигуришите вебхук према упутствима у датотеци Readme.md (можете кликнути на име вебхука изнад да бисте брзо приступили Readme.md).
Да бисте креирали прилагођени вебхук од нуле:
Картица Тип медија садржи различите атрибуте специфичне за овај тип медија:
Сва обавезна поља за унос су означена црвеном звездицом.
Следећи параметри су специфични за тип медија вебхука:
Parameter | Description |
---|---|
* Parameters* | Наведите променљиве вебхука као парове атрибута и вредности. За унапред конфигурисане вебхукове, листа параметара варира у зависности од услуге. Проверите датотеку Readme.md вебхука за опис параметара. За нове вебхукове, неколико уобичајених променљивих је подразумевано укључено (URL:<empty>, HTTPProxy:<empty>, To:{ALERT.SENDTO}, Subject:{ALERT.SUBJECT}, Message:{ALERT.MESSAGE}), слободно их задржите или уклоните. Параметри вебхука подржавају корисничке макрое, све макрое који су подржани у обавештењима о проблемима и, поред тога, макрое {ALERT.SENDTO}, {ALERT.SUBJECT} и {ALERT.MESSAGE}. Ако наведете HTTP прокси, поље подржава исту функционалност као у пољу за конфигурацију ставке HTTP proxy. Прокси стринг може имати префикс [шема]:// да би се назначила која врста проксија се користи (нпр., https, socks4, socks5; погледајте документацију). |
* Script* | Унесите JavaScript код у модални едитор који се отвара кликом на поље параметра или на икону оловке поред њега. Овај код ће извршити операцију вебхука. Скрипта је функционални код који прихвата парове параметар - вредност. Вредности треба конвертовати у JSON објекте користећи JSON.parse() методу, на пример: var params = JSON.parse(вредност); .Код има приступ свим параметрима, може да извршава HTTP GET, POST, PUT и DELETE захтеве и има контролу над HTTP заглављима и телом захтева. Скрипта мора да садржи оператор враћања, у супротном неће бити валидна. Може вратити статус "ОК" заједно са опционом листом ознака и вредности ознака (погледајте опцију Обради ознаке) или низом грешке. Имајте на уму да се скрипта извршава тек након што се креира упозорење. Ако је скрипта конфигурисана да враћа и обрађује ознаке, ове ознаке се неће решити у макроима {EVENT.TAGS} и {EVENT.RECOVERY.TAGS} у почетној поруци о проблему и порукама о опоравку јер скрипта још није имала времена да се покрене. Напомена: Препоручује се коришћење локалних променљивих (нпр. var local = 1 ) уместо глобалне (нпр. global = 1) како би се осигурало да свака скрипта ради на сопственим подацима и да би се избегле колизије између истовремених позива (погледајте познати проблеми).Погледајте такође: Смернице за развој вебхукова, Примери вебхукових скрипти, Додатни JavaScript објекти. |
* Timeout* | Временско ограничење извршавања JavaScript-а (1-60s, подразумевано 30s). Подржани су временски суфикси, нпр. 30s, 1m. |
Process tags | Означите поље за потврду да бисте обрадили враћене вредности JSON својстава као ознаке. Ове ознаке се додају свим постојећим ознакама проблема. Имајте на уму да када користите webhook ознаке, webhook мора вратити JSON објекат који садржи барем један празан објекат ознака: var result = {tags: {}}; Примери ознака које се могу вратити: jira-id:prod-1234, responsible:John Smith, processed:<без вредности> |
Include event menu entry | Означите поље за потврду да бисте укључили ставку у мени догађаја која води до креиране екстерне карте. За сваки вебхук који је омогућен и за који је ово поље за потврду означено, биће укључен ставка. Имајте на уму да ако параметри Назив ставке менија и URL ставке менија садрже било које макрое {EVENT.TAGS.<назив ознаке>}, ставка ће бити укључена само ако се ови макрои могу решити (то јест, догађај има дефинисане ове ознаке). Ако је означено, вебхук не би требало да се користи за слање обавештења различитим корисницима (размислите о креирању наменског корисника уместо тога) и не би требало да се користи у вишеструким акцијама упозорења за један проблематични догађај. |
Menu entry name | Наведите назив ставке менија. Макро {EVENT.TAGS.<назив ознаке>} је подржан. Ово поље је обавезно само ако је означено Укључи ставку менија догађаја. |
Menu entry URL | Наведите основни URL ставке менија. Макро {EVENT.TAGS.<назив ознаке>} је подржан. Ово поље је обавезно само ако је означено Укључи ставку менија догађаја. |
Погледајте параметри заједничког типа медија за детаље о томе како конфигурисати подразумеване поруке и опције обраде упозорења.
Чак и ако вебхук не користи подразумеване поруке, шаблони порука за типове операција које користи овај вебхук и даље морају бити дефинисани.
Да бисте тестирали конфигурисани тип медија вебхука:
Подразумевано, вебхук тестови се изводе са параметрима унетим током конфигурацију. Међутим, могуће је променити вредности атрибута за тестирање. Замена или брисање вредности у прозору за тестирање утиче на само за процедуру тестирања, стварне вредности атрибута вебхук-а ће остати непромењена.
Да бисте видели уносе тестног дневника типа медија без напуштања прозора теста, кликните на Отвори дневник (отвориће се нови искачући прозор).
Ако је тест вебхука успешан:
Ако тест вебхука не успе:
Када је тип медија конфигурисан, идите на одељак Корисници → Корисници и доделите вебхуков медији постојећем кориснику или креирајте новог корисника који ће представљати вебхук. Кораци за подешавање корисничких медија за постојећег корисника, који су заједнички за све типове медија, описани су на страници Типови медија.
Ако вебхук користи ознаке за чување ID-а тикета\поруке, избегавајте додељивање истог вебхука као медија различитим корисницима јер то може изазвати грешке вебхука (односи се на већину вебхукова који користе опцију Укључи догађај унос у менију). У овом случају, најбоља пракса је креирање наменског корисника који ће представљати вебхук:
Приликом конфигурисања акције упозорења, додајте овог корисника у поље Пошаљи корисницима у Детаљима операције - ово ће рећи Zabbix-у да користи вебхук за обавештења из ове акције.
Акције одређују која обавештења треба слати путем вебхука. Кораци за конфигурисање акција које укључују вебхукове су исти као и за све остале типове медија, са овим изузецима: