Ставке скрипте се могу користити за прикупљање података извршавањем кориснички дефинисаног JavaScript кода са могућношћу преузимања података преко HTTP/HTTPS. Као додатак скрипти, може се навести опциона листа параметара (парови имена и вредности) и временско ограничење.
Овај тип ставке може бити користан у сценаријима прикупљања података који захтевају више корака или сложену логику. Као пример, ставка скрипте може бити конфигурисана да упути HTTP позив, затим на неки начин обради податке примљене у првом кораку и проследи трансформисану вредност другом HTTP позиву. Ставке скрипте обрађују Zabbix сервер или прокси полера.
У пољу * Type* облик за конфигурацију ставке изаберите Скрипт, а затим попуните обавезна поља.
Сва обавезна поља за унос су означено црвеном звездицом.
Поља која захтевају специфичне информације за ставке скрипте су:
Field | Description |
---|---|
* Key* | Унесите јединствени кључ који ће се користити за идентификацију ставку. |
* Parameters* | Наведите променљиве које ће бити прослеђене скрипти као парове атрибута и вредности.<бр>Кориснички макори су подржани. Да бисте видели који су уграђени макрои подржани, потражите "Ставку типа скрипте" у табели подржани макро. |
* Script* | Унесите JavaScript код у модалну едитор који се отвара кликом на поље параметара или на икону оловке поред њега. Овај код мора да обезбеди логику за враћање метричке вредности.<бр>Код има приступ свим параметрима и свим додатним JavaScript објектима које је додао Zabbix.<бр> Такође погледајте: JavaScript Водич. |
* Timeout* | Временско ограничење извршавања JavaScript-а (1-600с; прекорачење ће вратити грешку).<бр >Имајте на уму да у зависности од скрипте, може бити потребно више времена да се активира временско ограничење.<бр>За више информација о параметру * Timeout* погледајте општа ставка атрибути. |
Прикупите садржај *https://www.example.com/release _notes*:
Прикупите садржај одређене странице и искористите параметре:
-Креирајте ставку типа "Script" и два параметра: -урл : {$DOMAIN}} (требало би да се дефинише кориснички макро {$DOMAIN}, пожељно на нивоу домаћина)- подстраница: /release_notes
var obj = JSON.parse(value);
var url = obj.url;
var subpage = obj.subpage;
var request = new HttpRequest();
return request.get(url + subpage);
Прикупите садржај и https://www.example.com иhttps://www.example.com/release_notes:
var request = new HttpRequest();
return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Додајте унос "Лог тест" у евиденцију Zabbix сервера и заузврат примите вредност ставке "1":