Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.

18 elementos scripts

Visión general

Los elementos de script se pueden utilizar para recopilar datos mediante la ejecución de un código JavaScript definido por el usuario con la capacidad de recuperar datos a través de HTTP/HTTPS. Además del script, se puede incluir una lista opcional de parámetros (pares de nombre y valor) y el tiempo de espera puede ser especificado.

Este tipo de elemento puede ser útil en escenarios de recogida de datos que requieren múltiples pasos o una lógica compleja. Por ejemplo, un ítem Script puede ser configurado para hacer una llamada HTTP, luego procesar los datos recibidos en el primer paso de alguna manera, y pasar el valor transformado a la segunda llamada HTTP.

Los ítems Script son procesados por el servidor Zabbix o por los proxy pollers.

Configuration

In the Type field of item configuration form select Script then fill out required fields.

script_item.png

All mandatory input fields are marked with a red asterisk.

The fields that require specific information for Script items are:

Field Description
Key Enter a unique key that will be used to identify the item.
Parameters Specify the variables to be passed to the script as the attribute and value pairs.
Built-in macros {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.IP}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG} and user macros are supported.
Script Enter JavaScript code in the block that appears when clicking in the parameter field (or on the view/edit button next to it). This code must provide the logic for returning the metric value.
The code has access to all parameters, it may perform HTTP GET, POST, PUT and DELETE requests and has control over HTTP headers and request body.
See also: Additional JavaScript objects, JavaScript Guide.
Timeout JavaScript execution timeout (1-60s, default 3s).
Time suffixes are supported, e.g. 30s, 1m.

Ejemplos

Recogida de datos sencilla

Recoge el contenido de https://www.example.com/release_notes:

  • · Crea un elemento de tipo "Script".
  • · En el campo Script, introduce el siguiente código:
var request = new HttpRequest();
       return request.get("https://www.example.com/release_notes");
Recogida de datos con parámetros

Utilice la macro {HOST.CONN} como valor de parámetro y obtenga una respuesta con macro expandida:

  • · Crear un elemento de tipo "Script".
  • · Crear un parámetro:
  • · Valor: {HOST.CONN}
  • · En el campo Script, introduzca el siguiente código:
var request = new HttpRequest();
       return request.post("https://postman-echo.com/post", JSON.parse(value));
Múltiples peticiones HTTP

Recoge el contenido de ambos https://www.example.com y https://www.example.com/release_notas:

  • · Crear un elemento con el tipo "Script".
  • · En el campo Script, introduzca el siguiente código:
var request = new HttpRequest();
       return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Registro de datos

Añade la entrada "Log test" al registro del servidor Zabbix y recibe el elemento valor "1" a cambio:

  • · Cree un elemento de tipo "Script".
  • · En el campo Script, introduce el siguiente código:
Zabbix.log(3, 'Log test');
       return 1;