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.
No campo Tipo do formulário de configuração do item, selecione Script e preencha os campos obrigatórios.

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. |
Coletar o conteúdo de https://www.example.com/release_notes:
Colete o conteúdo de uma página específica e faça uso de parâmetros:

var obj = JSON.parse(value);
var url = obj.url;
var subpage = obj.subpage;
var request = new HttpRequest();
return request.get(url + subpage);Coletar o conteúdo de https://www.example.com e https://www.example.com/release_notes:
var request = new HttpRequest();
return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");Adicione a entrada "Log test" ao log do Zabbix server e receba o valor do item "1" em retorno: