18 Ставке скрипте

Преглед

Ставке скрипте се могу користити за прикупљање података извршавањем кориснички дефинисаног JavaScript кода са могућношћу преузимања података преко HTTP/HTTPS. Као додатак скрипти, може се навести опциона листа параметара (парови имена и вредности) и временско ограничење.

Овај тип ставке може бити користан у сценаријима прикупљања података који захтевају више корака или сложену логику. Као пример, ставка скрипте може бити конфигурисана да упути HTTP позив, затим на неки начин обради податке примљене у првом кораку и проследи трансформисану вредност другом HTTP позиву. Ставке скрипте обрађују Zabbix сервер или прокси полера.

Конфигурација

У пољу * Type* облик за конфигурацију ставке изаберите Скрипт, а затим попуните обавезна поља.

script_item.png

Сва обавезна поља за унос су означено црвеном звездицом.

Поља која захтевају специфичне информације за ставке скрипте су:

Field Description
* Key* Унесите јединствени кључ који ће се користити за идентификацију ставку.
* Parameters* Наведите променљиве које ће бити прослеђене скрипти као парове атрибута и вредности.<бр>Кориснички макори су подржани. Да бисте видели који су уграђени макрои подржани, потражите "Ставку типа скрипте" у табели подржани макро.
* Script* Унесите JavaScript код у модалну едитор који се отвара кликом на поље параметара или на икону оловке поред њега. Овај код мора да обезбеди логику за враћање метричке вредности.<бр>Код има приступ свим параметрима и свим додатним JavaScript објектима које је додао Zabbix.<бр> Такође погледајте: JavaScript Водич.
* Timeout* Временско ограничење извршавања JavaScript-а (1-600с; прекорачење ће вратити грешку).<бр >Имајте на уму да у зависности од скрипте, може бити потребно више времена да се активира временско ограничење.<бр>За више информација о параметру * Timeout* погледајте општа ставка атрибути.

Примери

Једноставно прикупљање података

Прикупите садржај *https://www.example.com/release _notes*:

  • Креирајте ставку са типом "Script".
  • У поље * Script* унесите:
var request = new HttpRequest();
       return request.get("https://www.example.com/release_notes");
Прикупљање података са параметрима

Прикупите садржај одређене странице и искористите параметре:

-Креирајте ставку типа "Script" и два параметра: -урл : {$DOMAIN}} (требало би да се дефинише кориснички макро {$DOMAIN}, пожељно на нивоу домаћина)- подстраница: /release_notes

  • У * Script* поље, унесите:
var obj = JSON.parse(value);
       var url = obj.url;
       var subpage = obj.subpage;
       var request = new HttpRequest();
       return request.get(url + subpage);
Више HTTP захтева

Прикупите садржај и https://www.example.com иhttps://www.example.com/release_notes:

  • Креирајте ставку са типом "Script".
  • У пољу * Script* , унесите:
var request = new HttpRequest();
       return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Logging

Додајте унос "Лог тест" у евиденцију Zabbix сервера и заузврат примите вредност ставке "1":

  • Креирајте ставку типа "Скрипта".
  • У поље Скрипта унесите:
Zabbix.log(3, 'Log test');
       return 1;