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

Visão geral

Itens de script podem ser usados para coletar dados executando um código JavaScript definido pelo usuário com a capacidade de recuperar dados via HTTP/HTTPS. Além do script, uma lista opcional de parâmetros (pares de nome e valor) e um tempo limite podem ser especificados.

Esse tipo de item pode ser útil em cenários de coleta de dados que exigem várias etapas ou lógica complexa. Como exemplo, um item de Script pode ser configurado para fazer uma chamada HTTP, processar os dados recebidos na primeira etapa de alguma forma e passar o valor transformado para a segunda chamada HTTP.

Itens de script são processados por pollers do Zabbix server ou proxy.

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 Insira uma chave única 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 "Script-type item" na tabela de macros suportadas.
Script Insira 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 com o 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);
Várias requisições HTTP

Coletar o conteúdo de https://www.example.com e 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") + 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" como retorno:

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