18 Script items
Visão geral
Os itens do Script podem ser usados para coletar o dado executando o código JavaScript para usuário-definido com habilidade para recuperar o dado pelo HTTP/HTTPS. Além do Script, há uma lista de parâmetros (pares de nomes e valor) e intervalo que podem ser específicos.
O tipo de item pode ser útil na coleta dos cenários de dados que exigem múltiplos passos e lógica complexa. Um exemplo, o item Script pode ser configurado para fazer uma chamada HTTP, e então processar o dado recebido de alguma maneira, e passar o valor transformado para a segunda chamada HTTP.
Os itens do Script são processados pelo Zabbix server ou pelo proxy pollers.
Configuração
No campo Tipo do item configuration form selecione Script e então preencha os campos requisitados.

Todos os campos obrigatórios do input são marcados com um asterisco vermelho.
Os campos que requisitam informação específica para os itens do Script são:
| Campo | Descrição |
|---|---|
| Chave | Digite a chave única que irá ser usada para identificar o item. |
| Parâmetros | Especifique as variáveis a serem passadas para o script como pares de atributos e valores. Built-in macros}, {HOST.DNS}, {HOST.HOST}, {HOST.IP}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG} e user macros são suportados. |
| Script | Digite o código JavaScript no bloco que aparece quando clicar no campo do parâmetro (ou no botão view/edit próximo a ele). Este código deve providenciar a lógica retornando o valor métrico. O código tem acesso a todos os parâmetros, ele pode performar requisitos HTTP GET, POST, PUT e DELETE tem todos cabeçalhos HTTP e corpo da solicitação. Ver também: Additional JavaScript objects, JavaScript Guide. |
| Tempo limite | Excedendo o limite de execução do JavaScript(1-60s, padrão 3s); irá retornar erro. Sufixos de tempo são suportados, e.g. 30s, 1m. Dependendo do script pode demorar mais para o tempo limite do trigger. |
Exemplos
Coleta de dados simples
Coletar o dado de https://www.example.com/release\_notes:
- Criar um item com o tipo "Script".
- No campo do Script,digitar:
var request = new HttpRequest();
return request.get("https://www.example.com/release_notes");
Coleta de dados com parâmetros
Coletar o conteúdo de uma página específica e fazer uso de parâmetros:
- Criar um item com tipo "Script" e dois parâmetros:
- url : {$DOMAIN} (o usuário macro {$DOMAIN} deve ser definido, preferencialmente no host level)
- subpage : /release_notes

- No campo Script field, digitar:
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 ambos os endereços https://www.example.com https://www.example.com/release\_notes:
-Criar um item com o tipo "Script".-
- No campo Script, digitar:
var request = new HttpRequest();
return request.get("https://www.example.com") + request.get("https://www.example.com/release_notes");
Fazendo logging
Adiconar a entrada "Log test" no servidor Zabbix and
Adicione a entrada "Log test" ao registro do servidor Zabbix e receba o valor do item "1" como retorno:
- Crie um item com o tipo "Script".
- No campo Script field, digite:
Zabbix.log(3, 'Log test');
return 1;