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.
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.CONN}, {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. |
Coletar o dado de https://www.example.com/release_notes:
Coletar o conteúdo de uma página específica e fazer 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 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");
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: