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 obligatorios.
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
Los campos que requieren información específica para los elementos 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 pares de atributo y valor. Se admiten macros de usuario. Para ver qué macros integradas son compatibles, realice una búsqueda de "Métrica de tipo script" en la tabla de macros compatibles. |
Script | Ingrese el código JavaScript en el editor modal que se abre al hacer clic en el campo de parámetros o en el ícono de lápiz que se encuentra junto a él. 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. Consulte también: Guía de JavaScript. |
Timeout | Tiempo de espera de ejecución de JavaScript (1-600 s; si se excede, se devolverá un error). Tenga en cuenta que, según el script, el tiempo de espera puede demorar más tiempo en activarse. Para obtener más información sobre el parámetro Timeout, consulte atributos generales de las métricas. |
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: