Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

18 Itens de script

Overview

Script items can be used to collect data by executing a user-defined JavaScript code with the ability to retrieve data over HTTP/HTTPS. In addition to the script, an optional list of parameters (pairs of name and value) and timeout can be specified.

This item type may be useful in data collection scenarios that require multiple steps or complex logic. As an example, a Script item can be configured to make an HTTP call, then process the data received in the first step in some way, and pass transformed value to the second HTTP call.

Script items are processed by Zabbix server or proxy pollers.

Configuração

No campo Tipo do formulário de configuração do item, selecione Script e preencha os campos obrigatórios.

script_item.png

Todos os campos obrigatórios estão marcados com um asterisco vermelho.

Os campos que exigem informações específicas para itens do tipo Script são:

Campo Descrição
Chave Digite uma chave exclusiva que será usada para identificar o item.
Parâmetros Especifique as variáveis a serem passadas para o script como pares de atributo e valor.
Macros de usuário são suportadas. Para ver quais macros internas são suportadas, faça uma busca por "Item do tipo Script" na tabela de macros suportadas.
Script Digite o código JavaScript no editor modal que é aberto ao clicar no campo de parâmetro ou no ícone de lápis ao lado dele. Este código deve fornecer a lógica para retornar o valor da métrica.
O código tem acesso a todos os parâmetros e a todos os objetos JavaScript adicionais adicionados pelo Zabbix.
Veja também: Guia JavaScript.
Timeout Tempo limite de execução do JavaScript (1-600s; se excedido, retornará um erro).
Observe que, dependendo do script, pode levar mais tempo para o timeout ser acionado.
Para mais informações sobre o parâmetro Timeout, consulte atributos gerais do item.

Exemplos

Coleta de dados simples

Colete o conteúdo de https://www.example.com/release_notes:

  • Crie um item com o tipo "Script".
  • No campo Script, insira:
var request = new HttpRequest();
       return request.get("https://www.example.com/release_notes");
Coleta de dados com parâmetros

Colete o conteúdo de uma página específica e faça uso de parâmetros:

  • Crie um item do tipo "Script" e dois parâmetros:
    • url : {$DOMAIN} (a macro de usuário {$DOMAIN} deve ser definida, preferencialmente no nível do host)
    • subpage : /release_notes

  • No campo Script, insira:
var obj = JSON.parse(value);
       var url = obj.url;
       var subpage = obj.subpage;
       var request = new HttpRequest();
       return request.get(url + subpage);
Múltiplas requisições HTTP

Coletar o conteúdo de https://www.example.com e https://www.example.com/release_notes:

  • Crie um item do tipo "Script".
  • No campo Script, insira:
var request = new HttpRequest();
       return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Registro em log

Adicione a entrada "Log test" ao log do Zabbix server e receba o valor do item "1" em retorno:

  • Crie um item com o tipo "Script".
  • No campo Script, insira:
Zabbix.log(3, 'Log test');
       return 1;