Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
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 timeout 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, depois 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 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, pesquise por "Item do tipo Script" 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

Coletar 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 solicitaçõ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");
Logando

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;