Els elements d'script es poden emprar per recollir dades executant codi JavaScript definit per l'usuari amb la possibilitat de recuperar les dades via HTTP/HTTPS. A més de l'script, es poden definir una llista opcional de paràmetres (parella de nom i valor) i un temps d'espera.
Aquest tipus d'element pot ésser útil en escenaris de recollida de dades on calgui múltiples passes o una lògica complexa. Per exemple, un element d'script pot fer una crida HTTP, tractar les dades rebudes a la primera passa d'una manera o una altra, i transmetre el valor transformat a la segona crida HTTP.
Els elements d'script són tractats per el servidor Zabbix o els enquestadors proxy.
Al camp Tipus del formulari de configuració d'element, trieu Script i ompliu els camps necessaris.
Tots els camps obligatoris es marquen amb un asterisc vermell.
Els camps que necessiten informació específica per als elements d'script són:
Camp | Descripció |
---|---|
Clau | Clau única que s'emprarà per identificar l'element. |
Paràmetres | Especifiqueu les variables a transmetre a l'script com atributs i valors. S'admeten Macros integrades {HOST.CONN}, {HOST.DNS}, {HOST .HOST}, {HOST.IP}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG} i macros d'usuari. |
Script | Entreu el codi JavaScript al bloc que apareix quan cliqueu el camp de paràmetre (o al botó afegir/modificar que hi ha al seu costat). Aquest codi proveeix la lògica per retornar el valor de la mètrica. El codi té accés a tots els paràmetres, i pot fer peticions HTTP GET, POST, PUT i DELETE i controlar les capçaleres HTTP i el cos de la petició. Veieu també: Objectes JavaScript suplementaris, Guia JavaScript. |
Caducitat | Temps d'execució de JavaScript (1-60s, 3s per defecte); sobrepassar-ho tornarà un error. Els sufixes horaris s'admeten, per exemple. 30s, 1m. Segons l'script, el temps d'espera pot prendre més temps a executar el trigger. |
Recollir el contingut de https://www.example.com/release_notes:
Recollir el contingut d'una pàgina específica i emprar els paràmetres:
var obj = JSON.parse(value);
var url = obj.url;
var subpage = obj.subpage;
var request = new HttpRequest();
return request.get(url + subpage);
Recollir el contingut de https://www.example.com i 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");
Afegir "Log test" a l'arxiu de registre del servidor Zabbix i rebre el valor de l'element "1" de tornada: