You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

18 Elements d'script

Vista general

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.

Configuració

Al camp Tipus del formulari de configuració d'element, trieu Script i ompliu els camps necessaris.

script_item.png

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 que s'han de passar a l'script com a parells d'atribut i valor.
S'admeten macros d'usuari. Per veure quines macros integrades s'admeten, cerqueu "Element de tipus script" a la taula macro compatible.
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 le 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.

Exemples

Recollida de simple de dades

Recollir el contingut de https://www.example.com/release_notes:

  • Crear un element de tipus "Script".
  • Al camp Script, posar-hi el codi següent:
var request = new HttpRequest();
       return request.get("https://www.example.com/release_notes");
Recollida de dades amb paràmetres

Recollir el contingut d'una pàgina específica i emprar els paràmetres:

  • Crear un element de tipus "Script" i dos paràmetres:
    • url : {$DOMAIN} (la macro d'usuari {$DOMAIN} s'ha de definir, preferiblement a nivell d'equip)
    • subpage : /release_notes

  • Al camp Script, posar-hi el codi següent:
var obj = JSON.parse(value);
       var url = obj.url;
       var subpage = obj.subpage;
       var request = new HttpRequest();
       return request.get(url + subpage);
Peticions HTTP múltiples

Recollir el contingut de https://www.example.com i https://www.example.com/release_notes:

  • Crear un element de tipus "Script".
  • Al camp Script, posar-hi el següent codi:
var request = new HttpRequest();
       return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Registre

Afegir "Log test" a l'arxiu de registre del servidor Zabbix i rebre el valor de l'element "1" de tornada:

  • Crear un element de tipus "Script".
  • Al camp Script, poseu-hi el codi següent:
Zabbix.log(3, 'Log test');
       return 1;