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

Преглед

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

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

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

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

script_item.png

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

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

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

Примери

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

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

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

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

-Креирајте ставку типа "Script" и два параметра: - url : {$DOMAIN} (требало би да се дефинише кориснички макро {$DOMAIN}, пожељно на нивоу домаћина) - subpage : /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

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

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