Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

18 Métricas de script

Descripción general

Las métricas de script pueden utilizarse 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 un tiempo de espera.

Este tipo de métrica puede ser útil en escenarios de recopilación de datos que requieran múltiples pasos o lógica compleja. Por ejemplo, una métrica de script puede configurarse para realizar 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.

Las métricas de script son procesadas por los pollers del servidor o proxy de Zabbix.

Configuración

En el campo Tipo del formulario de configuración de la métrica, seleccione Script y luego complete los campos requeridos.

script_item.png

Todos los campos obligatorios están marcados con un asterisco rojo.

Los campos que requieren información específica para las métricas de tipo Script son:

Campo Descripción
Clave Introduzca una clave única que se utilizará para identificar la métrica.
Parámetros Especifique las variables que se pasarán al script como pares 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 Introduzca el código JavaScript en el editor modal que se abre al hacer clic en el campo de parámetro o en el icono de lápiz 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 añadidos por Zabbix.
Consulte también: Guía de JavaScript.
Timeout Tiempo de espera de ejecución de JavaScript (1-600s; si se excede, se devolverá un error).
Tenga en cuenta que, dependiendo del script, puede tardar más en activarse el tiempo de espera.
Para obtener más información sobre el parámetro Timeout, consulte atributos generales de la métrica.

Ejemplos

Recopilación de datos simple

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

  • Cree una métrica con tipo "Script".
  • En el campo Script, introduzca:
var request = new HttpRequest();
       return request.get("https://www.example.com/release_notes");
Recopilación de datos con parámetros

Recopile el contenido de una página específica y haga uso de parámetros:

  • Cree una métrica con tipo "Script" y dos parámetros:
    • url : {$DOMAIN} (la macro de usuario {$DOMAIN} debe estar definida, preferiblemente a nivel de equipo)
    • subpage : /release_notes

  • En el campo Script, introduzca:
var obj = JSON.parse(value);
       var url = obj.url;
       var subpage = obj.subpage;
       var request = new HttpRequest();
       return request.get(url + subpage);
Múltiples solicitudes HTTP

Recopile el contenido de https://www.example.com y https://www.example.com/release_notes:

  • Cree una métrica con tipo "Script".
  • En el campo Script, introduzca:
var request = new HttpRequest();
       return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Registro

Agregue la entrada "Log test" al registro del servidor Zabbix y reciba el valor de la métrica "1" como respuesta:

  • Cree una métrica con tipo "Script".
  • En el campo Script, introduzca:
Zabbix.log(3, 'Log test');
       return 1;