Criando um item

Visão geral

Para criar um item no frontend do Zabbix, faça o seguinte:

  1. Acesse Coleta de dados > Hosts.
  2. Clique em Itens na linha do host.
  3. Clique em Criar item no canto superior direito da tela.
  4. Insira os parâmetros do item no formulário.

Como alternativa, você pode criar um item abrindo um item existente, clicando no botão Clonar e salvando-o com um nome diferente.

Configuração

A aba Item contém atributos gerais do item.

Todos os campos de preenchimento obrigatórios são marcados com um asterisco vermelho.

Parâmetro Descrição
Name Nome do item.
Macros de usuário são compatíveis.
Type Tipo de item. Consulte as seções individuais de tipos de item.
Key Chave do item (até 2048 caracteres).
As chaves de item compatíveis podem ser encontradas nas seções individuais de tipos de item.
A chave deve ser exclusiva em um único host.
Se o tipo de chave for 'Zabbix agent', 'Zabbix agent (active)' ou 'Simple check', o valor da chave deverá ser compatível com o Zabbix agent ou o Zabbix server.
Consulte também o formato correto da chave.
Type of information O tipo de dados usado para validar o valor do item e armazená-lo no banco de dados, após quaisquer conversões:
Numeric (unsigned) - inteiro sem sinal de 64 bits;
Numeric (float) - número de ponto flutuante de 64 bits;
Character - texto curto;
Log - texto longo com ou sem propriedades de log (timestamp, origem, severidade, ID do evento de log);
Text - texto longo;
Binary - número binário (compatível somente com itens dependentes);
JSON - dados JSON estruturados, armazenados nativamente no banco de dados (não compatível com itens calculados).
Itens que retornam valores com o tipo de dados binário ou JSON não são compatíveis com fórmulas de itens calculados ou expressões de trigger.
Consulte limites de dados dos itens para conhecer os limites de armazenamento por tipo de dados e backend de banco de dados.
Para itens que retornam dados em um único formato específico, um tipo de dados correspondente é selecionado automaticamente — por exemplo, system.cpu.load e system.cpu.util retornam um número de ponto flutuante de 64 bits, portanto Numeric (float) é selecionado automaticamente.
Host interface Selecione a interface do host. Este campo está disponível ao editar um item no nível do host.
Units Se um símbolo de unidade for definido, o Zabbix aplicará pós-processamento ao valor recebido do item e o exibirá com o sufixo de unidade especificado.
Símbolos de unidade compatíveis com formatação especial (e exemplos de valor recebido → valor exibido):
B - bytes (1024 → 1 KB)
Bps - bytes por segundo (1024 → 1 KBps)
s - segundos, exibidos usando até três maiores unidades de tempo diferentes de zero (881764 → 10d 4h 56m)
uptime - tempo decorrido no formato hh:mm:ss ou N dias, hh:mm:ss (881764 → 10 days, 04:56:04)
unixtime - timestamp Unix, formatado como aaaa.mm.dd hh:mm:ss (881764 → 1970-01-11 04:56:04 AM); para uma formatação correta, o valor recebido do item deve ser Numeric (unsigned).
Para outras unidades (como Hz, W etc.), se o valor recebido exceder 1000, ele será dividido por 1000 e exibido com o prefixo correspondente (5000 → 5 KHz, 881764 → 881.76 KW).
Se o símbolo da unidade for prefixado com !, a conversão e a aplicação de prefixos serão desativadas (1024 !B → 1024 B, 61 !s → 61 s).
Para obter mais exemplos e detalhes sobre símbolos de unidade e conversão de unidades, consulte Sufixos de valores de itens.
Update interval Recupere um novo valor para este item a cada N segundos. O intervalo máximo permitido é de 86400 segundos (1 dia).
Sufixos de tempo são compatíveis, por exemplo, 30s, 1m, 2h, 1d.
Macros de usuário são compatíveis.
Uma única macro deve preencher todo o campo. Não há suporte para várias macros em um campo nem para macros misturadas com texto.
Observação: o intervalo de atualização só pode ser definido como '0' se existirem intervalos personalizados com um valor diferente de zero. Se definido como '0' e existir um intervalo personalizado (flexível ou agendado) com um valor diferente de zero, o item será consultado durante a duração do intervalo personalizado.
Observe que a primeira consulta do item após ele se tornar ativo ou após a alteração do intervalo de atualização pode ocorrer antes do valor configurado.
Novos itens serão verificados em até 60 segundos após sua criação, a menos que tenham um intervalo de atualização Agendado ou Flexível e Update interval esteja definido como 0.
Um item passivo existente pode ser consultado imediatamente para obter seu valor pressionando o botão Execute now button.
Custom intervals Você pode criar regras personalizadas para verificar o item:
Flexible - cria uma exceção ao Update interval (intervalo com frequência diferente).
Scheduling - cria uma agenda de consulta personalizada.
Para obter informações detalhadas, consulte Intervalos personalizados.
Sufixos de tempo são compatíveis no campo Interval, por exemplo, 30s, 1m, 2h, 1d.
Macros de usuário são compatíveis.
Uma única macro deve preencher todo o campo. Não há suporte para várias macros em um campo nem para macros misturadas com texto.
Timeout Defina o tempo limite da verificação do item (disponível para tipos de item compatíveis). Selecione a opção de tempo limite:
Global - o tempo limite do proxy/global é usado (exibido no campo Timeout desativado).
Override - um tempo limite personalizado é usado (definido no campo Timeout; intervalo permitido: 1 - 600s). Sufixos de tempo, por exemplo, 30s, 1m, e macros de usuário são compatíveis.
Clicar no link Timeouts permite configurar os tempos limite do proxy ou os tempos limite globais (se um proxy não for usado). Observe que o link Timeouts fica visível somente para usuários do tipo Super admin com permissões para as seções do frontend Administration > General ou Administration > Proxies.
History Selecione uma das opções:
Do not store - o histórico do item não é armazenado. Útil para itens mestre quando somente itens dependentes precisam manter o histórico.
Esta configuração não pode ser substituída pelas configurações globais do housekeeper.
Store up to - especifique por quanto tempo o histórico detalhado será mantido no banco de dados (de 1 hora a 25 anos). Dados mais antigos serão removidos pelo housekeeper. Armazenado em segundos.
Sufixos de tempo são compatíveis, por exemplo, 2h, 1d. Macros de usuário são compatíveis.
O valor de Store up to pode ser substituído globalmente em Administration > Housekeeping.
Se existir uma configuração global de substituição, um ícone de informação laranja será exibido. Ao posicionar o mouse sobre ele, uma mensagem de aviso será exibida, por exemplo, Overridden by global housekeeper settings (1d).
É recomendável manter os valores registrados pelo menor tempo possível para reduzir o tamanho do histórico de valores no banco de dados. Em vez de armazenar um histórico longo de valores, você pode armazenar dados de tendências por mais tempo.
Consulte também Histórico e tendências.
Trends Selecione uma das opções:
Do not store - as tendências não são armazenadas.
Esta configuração não pode ser substituída pelas configurações globais do housekeeper.
Store up to - especifique por quanto tempo o histórico agregado (mínimo, máximo, média e contagem por hora) será mantido no banco de dados (de 1 dia a 25 anos). Dados mais antigos serão removidos pelo housekeeper. Armazenado em segundos.
Sufixos de tempo são compatíveis, por exemplo, 24h, 1d. Macros de usuário são compatíveis.
O valor de Store up to pode ser substituído globalmente em Administration > Housekeeping.
Se existir uma configuração global de substituição, um ícone de informação laranja será exibido. Ao posicionar o mouse sobre ele, uma mensagem de aviso será exibida, por exemplo, Overridden by global housekeeper settings (7d).
Observação: a manutenção de tendências não está disponível para dados não numéricos — character, log e text.
Consulte também Histórico e tendências.
Value mapping Aplique o mapeamento de valores a este item. O mapeamento de valores não altera os valores recebidos; ele serve apenas para exibir os dados.
Funciona com itens Numeric(unsigned), Numeric(float) e Character.
Por exemplo, "Windows service states".
Log time format Disponível somente para itens do tipo Log. Placeholders compatíveis:
y: Ano (1970-2038).
M: Mês (01-12).
d: Dia (01-31).
h: Hora (00-23).
m: Minuto (00-59).
s: Segundo (00-59).
Se deixado em branco, o timestamp será definido como 0 no horário Unix, representando 1º de janeiro de 1970.
Por exemplo, considere a seguinte linha do arquivo de log do Zabbix agent:
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
Ela começa com seis posições de caracteres para o PID, seguidas pela data, hora e o restante da mensagem.
O formato de hora do log para essa linha seria "pppppp:yyyyMMdd:hhmmss".
Observe que os caracteres "p" e ":" são placeholders e podem ser quaisquer caracteres, exceto "yMdhms".
Populates host inventory field Você pode selecionar um campo do inventário do host que será preenchido pelo valor do item. Isso funcionará se o preenchimento automático do inventário estiver habilitado para o host e com itens Numeric(unsigned), Numeric(float), Character e Text.
Description Insira uma descrição para o item. Macros de usuário são compatíveis.
Enabled Marque a caixa de seleção para habilitar o item, permitindo que ele seja processado.
Quando você desabilita o item, ele é removido imediatamente do cache de histórico (exceto pelo último valor, que é mantido para logs).
Latest data Clique no link para visualizar os dados mais recentes do item.
Este link está disponível somente ao editar um item já existente.

Os campos específicos do tipo de item são descritos nas páginas correspondentes.

Ao editar no nível do host um item existente no nível do template, vários campos são somente leitura. Você pode usar o link no cabeçalho do formulário para acessar o nível do template e editá-los lá, lembrando que as alterações no nível do template modificarão o item para todos os hosts aos quais o template está vinculado.

A aba Tags permite definir tags no nível do item.

Pré-processamento do valor do item

A aba Pré-processamento permite definir regras de transformação para os valores recebidos.

Teste de item

Para realizar o teste de item, certifique-se de que a hora do sistema no server e no proxy esteja sincronizada. No caso de a hora do server estar atrasada, o teste de item pode retornar a mensagem de erro "The task has been expired." No entanto, definir fusos horários diferentes no server e no proxy não afetará o resultado do teste.

É possível testar um item e, se estiver configurado corretamente, obter um valor real como retorno. O teste pode ocorrer até mesmo antes de um item ser salvo.

O teste está disponível para itens de host e template, protótipos de item e regras de descoberta em baixo nível. O teste não está disponível para itens ativos.

O teste de item está disponível para os seguintes tipos de item passivos:

  • Zabbix agent
  • SNMP agent (v1, v2, v3)
  • IPMI agent
  • SSH checks
  • Telnet checks
  • JMX agent
  • Simple checks (exceto itens icmpping*, vmware.*)
  • Zabbix internal
  • Calculated items
  • External checks
  • Database monitor
  • HTTP agent
  • Script
  • Browser

Para testar um item, clique no botão Test na parte inferior do formulário de configuração do item. Observe que o botão Test ficará desativado para itens que não podem ser testados (como verificações ativas, simple checks excluídos).

O formulário de teste de item possui campos para os parâmetros obrigatórios do host (endereço do host, porta, testar com server/proxy (nome do proxy)) e detalhes específicos do item (como comunidade SNMPv2 ou credenciais de segurança SNMPv3). Esses campos são sensíveis ao contexto:

  • Os valores são preenchidos previamente quando possível, ou seja, para itens que exigem um agent, usando as informações da interface de agent selecionada do host.
  • Os valores precisam ser preenchidos manualmente para itens de template.
  • Valores de macros em texto simples são resolvidos.
  • Campos em que o valor (ou parte do valor) seja um segredo ou uma macro Vault ficam vazios e precisam ser informados manualmente. Se qualquer parâmetro do item contiver um valor de macro secreto, a seguinte mensagem de aviso será exibida: "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
  • Os campos são desativados quando não são necessários no contexto do tipo de item (por exemplo, o campo de endereço do host e o campo de proxy são desativados para calculated items)

Para testar o item, clique em Get value. Se o valor for recuperado com sucesso, ele preencherá o campo Value, movendo o valor atual (se houver) para o campo Previous value e também calculando o campo Prev. time, ou seja, a diferença de tempo entre os dois valores (cliques), além de tentar detectar uma sequência EOL e alternar para CRLF se detectar "\n\r" no valor recuperado.

Clique em Get value and test para testar o preprocessing.

Os valores recuperados de um host e os resultados do teste são truncados para um tamanho máximo de 512KB quando enviados ao frontend. Se um resultado de teste for truncado, um ícone de aviso será exibido; passe o mouse sobre ele para ver os detalhes. Se um valor for truncado, ele poderá falhar na validação do tipo de dado em testes consecutivos que comparem valores grandes (por exemplo, JSON); nesses casos, uma mensagem de erro será exibida. Observe que dados maiores que 512KB ainda são processados integralmente pelo Zabbix server.

Se a configuração estiver incorreta, será exibida uma mensagem de erro descrevendo a possível causa.

Um valor recuperado com sucesso de um host também pode ser usado para testar etapas de preprocessing.

Botões do formulário

Os botões na parte inferior do formulário permitem realizar várias operações.

Adicionar um item. Este botão está disponível apenas para novos itens.
Atualizar as propriedades de um item.
Criar outro item com base nas propriedades do item atual.
Executar imediatamente uma verificação para obter um novo valor do item. Compatível apenas com verificações passivas (consulte mais detalhes).
Observação: ao verificar um valor imediatamente, o cache de configuração não é atualizado; portanto, o valor não refletirá alterações muito recentes na configuração do item.
Testar se a configuração do item está correta obtendo um valor.
Excluir o histórico e as tendências do item.
Excluir o item.
Cancelar a edição das propriedades do item.

Limites de dados do item

Os limites de dados do item dependem do tipo de dado do item e do backend do banco de dados.

Valores numéricos (unsigned) são armazenados como estão. Se um valor de ponto flutuante for recebido, apenas a parte inteira será armazenada (por exemplo, 1.23 → 1).

Valores numéricos (float) são armazenados como estão e suportam aproximadamente 15 a 17 dígitos de precisão, com um intervalo de aproximadamente -1.79E+308 a 1.79E+308. Valores em notação científica também são suportados (por exemplo, 1.23E+7, 1e308, 1.1E-4).

Valores de texto são truncados antes de serem armazenados para corresponder ao limite do tipo de valor do banco de dados:

Database Type of information
Character Log Text
MySQL 255 characters 65536 bytes 65536 bytes
PostgreSQL 255 characters 65536 characters 65536 characters
SQLite (only Zabbix proxy) 255 characters 65536 characters 65536 characters

Valores binários são limitados a 16MiB (16777216 bytes). Valores que excedem esse limite são descartados, e um erro correspondente é exibido no frontend.

Valores com o tipo de dado JSON são limitados a 128MiB (134217728 bytes). Valores que excedem esse limite são descartados, e um erro correspondente é exibido no frontend. Para MySQL/MariaDB, considere configurar partições diárias para a tabela history_json (usada para armazenar valores JSON), pois ela pode crescer rapidamente e bloquear o housekeeper por um período prolongado. Se o seu caso de uso envolver valores JSON grandes (1MiB ou mais), veja como configurar seu sistema para suporte a valores JSON grandes.

Quando o Zabbix grava qualquer dado de item no banco de dados, ele usa consultas INSERT e as registra (se DebugLevel estiver definido como 4 ou 5). Entradas de log grandes são truncadas para 64KB.

Limite de script personalizado

O comprimento disponível do script personalizado depende do banco de dados utilizado:

Banco de dados Limite em caracteres Limite em bytes
MySQL 65535 65535
PostgreSQL 65535 sem limite
SQLite (apenas Zabbix proxy) 65535 sem limite

Timeout do item

O timeout do item especifica quanto tempo o Zabbix deve aguardar antes de abortar a verificação como falha.

Quando o timeout é atingido, a verificação é abortada mesmo que a obtenção dos dados ainda não tenha sido concluída. Se os dados forem recebidos parcialmente, o item se torna unsupported e uma mensagem de erro é registrada (por exemplo, se os dados forem coletados com sucesso para apenas um de vários OIDs em uma verificação SNMP).

Para muitos tipos de item, você pode definir timeouts de item flexíveis:

  • por item individual
  • por tipo de item (no nível de proxy)
  • por tipo de item (no nível global global)

Um timeout personalizado por item individual é útil se você quiser especificar um timeout maior para um item específico, mantendo timeouts baixos para os outros itens.

Precedência do timeout

  1. O timeout de item individual substitui qualquer outro timeout.
  2. Timeouts no nível de proxy substituem timeouts globais.

O timeout da configuração do server ou do proxy do Zabbix não tem papel nas verificações para as quais timeouts flexíveis estão definidos.

Suporte a timeout flexível

Timeouts flexíveis de item são suportados para estes tipos de item:

Items não suportados

Itens não suportados são relatados como tendo o status Não suportado e ainda são verificados novamente no seu Intervalo de atualização padrão.

Um item se torna não suportado se seu valor não puder ser recuperado por algum motivo (por exemplo, erro de conexão, nenhum poller configurado para processar o item). Além disso, itens que não recebem dados históricos permanecem no status Não suportado. Este é o comportamento esperado—um item muda para o status Normal somente quando recebe novos dados históricos válidos.

Assim como os problemas, os itens não suportados são reavaliados apenas quando novos dados são recebidos—mesmo que não haja mais dados históricos disponíveis para esse item. Em outras palavras, itens e triggers mudam seu estado apenas ao receber novos dados. No entanto, se uma expressão de trigger incluir uma função de data e hora e/ou nodata(), a trigger será recalculada a cada 30 segundos (veja tempo de cálculo das triggers para detalhes).