Las métricas de secuencia de comandos se pueden utilizar para recopilar datos ejecutando 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 especificar una lista opcional de parámetros (pares de nombre y valor) y el tiempo de espera.
Este tipo de métrica puede resultar útil en escenarios de recopilación de datos que requieren múltiples pasos o lógica compleja. Como ejemplo, una métrica de secuencia de comandos puede ser configurada para realizar una llamada HTTP y luego procesar los datos recibidos en el primer paso de alguna manera y pasar el valor transformado a la segunda llamada HTTP.
Las métricas de script son procesadas por el servidor Zabbix o los sondeadores proxy.
En el campo Tipo de configuración del elemento formulario seleccione Script y luego complete lo requerido campos.
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
Los campos que requieren información específica para los elementos del Script son:
Campo | Descripción |
---|---|
Clave | Ingrese una clave única que se utilizará para identificar el artículo. |
Parámetros | Especifique las variables que se pasarán al script como pares de atributo y valor. Se admiten macros de usuario. Para ver qué macros integradas son compatibles, busque "elemento de tipo script" en la tabla macro compatible. |
Script | Ingrese el código JavaScript en el bloque que aparece al hacer clic en el campo de parámetro (o en el botón ver/editar al lado). Este código debe proporcionar la lógica para devolver el valor de la métrica. El código tiene acceso a todos los parámetros y a todos los objetos JavaScript adicionales agregados por Zabbix. Ver también: Guía de JavaScript. |
Tiempo de espera | Tiempo de espera de ejecución de JavaScript (1-600 s; excederlo generará un error). Tenga en cuenta que, dependiendo del script, el tiempo de espera puede tardar más en activarse. Para obtener más información sobre * Parámetro de tiempo de espera*, consulte atributos generales del elemento. |
Recoge el contenido de https://www.example.com/release_notes:
Recopile el contenido de una página específica y utilice parámetros:
var obj = JSON.parse(valor);
var url = obj.url;
var subpage = obj.subpage;
var request = new HttpRequest();
return request.get(url + subpage);
Recoge el contenido de ambos https://www.example.com y https://www.example.com/release_notas:
var request = new HttpRequest();
return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Añade la entrada "Log test" al registro del servidor Zabbix y recibe el elemento valor "1" a cambio: