[comment]: # translation:outdated

[comment]: # (tags: script )

[comment]: # ({1a1e2756-1a1e2756})
# 18 Ставке скрипте

[comment]: # ({/1a1e2756-1a1e2756})

[comment]: # ({4a773286-cb89bc38})
### Преглед

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

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

[comment]: # ({/4a773286-cb89bc38})

[comment]: # ({9f13bdb8-7ed55e87})
### Конфигурација

У пољу *Тип* у [форми за конфигурацију ставке](/manual/config/items/item) изаберите Скрипта, а затим попуните обавезна
поља.

![script\_item.png](../../../../../assets/en/manual/config/items/itemtypes/script_item.png){width="600"}

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

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

|Field|Description|
|--|--------|
|*Key*|Унесите јединствени кључ који ће се користити за идентификацију ставке.|
|*Parameters*|Наведите променљиве које ће се проследити скрипти као парови атрибута и вредности.<br>Подржани су [кориснички макрои](/manual/config/macros/user_macros). Да бисте видели који су уграђени макрои подржани, потражите "Script-type item" у табели [подржани макрои](/manual/appendix/macros/supported_by_location).|
|*Script*|Унесите JavaScript код у модални едитор који се отвара кликом на поље параметра или на икону оловке поред њега. Овај код мора да обезбеди логику за враћање вредности метрике.<br>Код има приступ свим параметрима и свим [додатним JavaScript објектима](/manual/config/items/preprocessing/javascript/javascript_objects) које је додао Zabbix.<br>Погледајте такође: [JavaScript водич](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide).|
|*Временско ограничење*|Временско ограничење за извршавање JavaScript-а (1-600s; прекорачење ће вратити грешку).<br>Имајте на уму да, у зависности од скрипте, може бити потребно дуже време да се активира временски ограничење.<br>За више информација о параметру *Временско ограничење*, погледајте [општи атрибути ставке](/manual/config/items/item#configuration).|

[comment]: # ({/9f13bdb8-7ed55e87})

[comment]: # ({b41637d2-4c860844})
### Примери

[comment]: # ({/b41637d2-4c860844})

[comment]: # ({2f86a97a-9c6c78ee})
##### Једноставно прикупљање података

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

-   Креирајте ставку са типом "Script".
-   У поље * Script* унесите:

```javascript
var request = new HttpRequest();
return request.get("https://www.example.com/release_notes");
```

[comment]: # ({/2f86a97a-9c6c78ee})

[comment]: # ({ccceecb6-7115c5ef})
##### Прикупљање података са параметрима

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

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

![](../../../../../assets/en/manual/config/items/itemtypes/script_example1.png){width=600}

- У * Script* поље, унесите:

```javascript
var obj = JSON.parse(value);
var url = obj.url;
var subpage = obj.subpage;
var request = new HttpRequest();
return request.get(url + subpage);
```

[comment]: # ({/ccceecb6-7115c5ef})

[comment]: # ({d5553e63-18a089f4})
##### Више HTTP захтева

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

-   Креирајте ставку са типом "Script".
-   У пољу * Script* , унесите:

```javascript
var request = new HttpRequest();
return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
```

[comment]: # ({/d5553e63-18a089f4})

[comment]: # ({0a711007-d837bcdd})
##### Logging

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

-  Креирајте ставку типа "Скрипта".
-  У поље *Скрипта* унесите:

```javascript
Zabbix.log(3, 'Log test');
return 1;
```

[comment]: # ({/0a711007-d837bcdd})
