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 métricas seleccione Script y luego complete los 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 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 pares de atributo y valor. Macros integradas {HOST.CONN}, {HOST.DNS}, {HOST .HOST}, {HOST.IP}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG} y macros de usuario son 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. |
Recopile 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);
Recopile el contenido de https://www.example.com y 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");
Añade la entrada "Log test" al registro del servidor Zabbix y recibe el valor "1" de la métrica como retorno: