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 del formulario de configuración de la métrica seleccione Script y luego complete lo campos requeridos.
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
Los campos que requieren información específica para las métricas de Script son:
Campo | Descripción |
---|---|
Clave | Ingrese una clave única que se utilizará para identificar la métrica. |
Parámetros | Especifique las variables que se pasarán al script como parejas de atributo y valor. Se admiten macros de usuario. Para ver qué macros integradas son compatibles, busque "métrica de tipo script" en la tabla de macros compatibles. |
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, puede realizar solicitudes HTTP GET, POST, PUT y DELETE y tiene control sobre los encabezados HTTP y el cuerpo de la solicitud. Ver también : Objetos JavaScript adicionales, Guía de JavaScript. |
Tiempo de espera | Tiempo de espera de ejecución de JavaScript (1-60 s, predeterminado 3 s); excederlo devolverá un error. Se admiten sufijos de tiempo, p. 30s, 1m. Dependiendo del script, el tiempo de espera puede tardar más en activarse. |
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: