3 Descoberta de baixo nível

Visão geral

A descoberta em baixo nível (LLD) descobre automaticamente entidades (por exemplo, sistemas de arquivos, interfaces de rede) em um host e cria os itens, triggers e gráficos correspondentes sem configuração manual para cada uma.

Para usar a LLD, você cria uma regra de descoberta que coleta dados JSON descrevendo entidades e prototypes (item, trigger e graph) para cada entidade.

O JSON retornado pela regra deve ser um array de objetos, em que cada objeto representa uma entidade descoberta usando pares chave-valor. Por exemplo, uma regra de descoberta com net.if.discovery pode retornar:

[
  {"{#IFNAME}": "lo"},
  {"{#IFNAME}": "eth0"}
]

Um conjunto correspondente de itens, triggers e gráficos é então criado a partir dos prototypes — um por interface (lo e eth0).

Se os objetos contiverem chaves no formato {#MACRO}, esses macros são usados diretamente nos prototypes. Se não contiverem, ou se forem necessários macros adicionais/personalizados, os macros podem ser definidos manualmente e mapeados para campos JSON usando JSONPath.

A LLD também pode criar hosts (por exemplo, para máquinas virtuais descobertas em um hypervisor) e oferece suporte a regras de descoberta aninhadas para descoberta em vários níveis.

Entidades que não forem mais descobertas podem ser desabilitadas ou excluídas automaticamente.

Configurando a descoberta de baixo nível

Vamos ilustrar a descoberta de baixo nível com base em um exemplo de descoberta de sistema de arquivos.

Para configurar a descoberta, faça o seguinte:

  1. Vá para Data collection > Templates ou Hosts.
  2. Clique em Discovery na linha do template/host apropriado.

  1. Clique em Create discovery rule no canto superior direito da tela.
  2. Preencha o formulário da regra de descoberta com os detalhes necessários.

Regra de descoberta

O formulário da regra de descoberta contém cinco abas, representando, da esquerda para a direita, o fluxo de dados durante a descoberta:

  • Regra de descoberta - especifica, principalmente, o item integrado ou script personalizado para recuperar os dados de descoberta.
  • Pré-processamento - aplica algum pré-processamento aos dados descobertos.
  • Macros LLD - permite extrair alguns valores de macro para uso em itens descobertos, triggers etc.
  • Filtros - permite filtrar os valores descobertos.
  • Substituições - permite modificar itens, triggers, gráficos ou protótipos de host ao aplicar a objetos descobertos específicos.

A aba Regra de descoberta contém a chave do item a ser usada para descoberta (bem como alguns atributos gerais da regra de descoberta):

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

Parameter Description
Name Nome da regra de descoberta.
Type O tipo de verificação a ser executada para descoberta.
Neste exemplo, estamos usando um tipo de item Zabbix agent.
A regra de descoberta também pode ser um item dependente, dependendo de um item regular. Ela não pode depender de outra regra de descoberta. Para um item dependente, selecione o tipo correspondente (Dependent item) e especifique o item mestre no campo 'Master item'. O item mestre deve existir.
Key Informe a chave do item de descoberta (até 2048 caracteres).
Por exemplo, você pode usar a chave de item integrada vfs.fs.discovery para retornar uma string JSON com a lista de sistemas de arquivos presentes no computador, seus tipos e opções de montagem.
Observe que outra opção para descoberta de sistemas de arquivos é usar os resultados de descoberta pela chave de agent vfs.fs.get (veja exemplo).
Update interval Este campo especifica com que frequência o Zabbix executa a descoberta. No início, ao configurar a descoberta de sistemas de arquivos, talvez você queira defini-lo para um intervalo pequeno, mas, depois que confirmar que funciona, pode defini-lo para 30 minutos ou mais, porque os sistemas de arquivos normalmente não mudam com muita frequência.
Sufixos de tempo são suportados, por exemplo 30s, 1m, 2h, 1d.
Macros de usuário são suportadas.
Nota: O intervalo de atualização só pode ser definido como '0' se existirem intervalos personalizados com valor diferente de zero. Se definido como '0' e existir um intervalo personalizado (flexível ou agendado) com valor diferente de zero, o item será consultado durante a duração do intervalo personalizado.
Novas regras de descoberta serão verificadas em até 60 segundos após sua criação, a menos que tenham intervalo de atualização Agendamento ou Flexível e o Update interval esteja definido como 0.
Nota que, para uma regra de descoberta existente, a descoberta pode ser executada imediatamente ao pressionar o botão Execute now botão.
Custom intervals Você pode criar regras personalizadas para verificar o item:
Flexível - cria uma exceção ao Update interval (intervalo com frequência diferente)
Agendamento - cria um agendamento personalizado de coleta.
Para informações detalhadas, veja Intervalos personalizados.
Timeout Defina o tempo limite da verificação de descoberta. Selecione a opção de timeout:
Global - é usado o timeout do proxy/global (exibido no campo Timeout esmaecido);
Override - é usado um timeout personalizado (definido no campo Timeout; intervalo permitido: 1 - 600s). Sufixos de tempo, por exemplo 30s, 1m, e macros de usuário são suportados.
Clicar no link Timeouts permite configurar timeouts de proxy ou timeouts globais (se um proxy não for usado). Observe que o link Timeouts é visível apenas para usuários do tipo Super admin com permissões para as seções de frontend Administration > General ou Administration > Proxies.
Delete lost resources Especifique em quanto tempo a entidade descoberta será excluída depois que seu status de descoberta se tornar "Not discovered anymore":
Never - não será excluída;
Immediately - será excluída imediatamente;
After - será excluída após o período de tempo especificado. O valor deve ser maior que o valor de Disable lost resources.
Sufixos de tempo são suportados, por exemplo 2h, 1d.
Macros de usuário são suportadas.
Nota: Não é recomendável usar "Immediately", pois uma edição incorreta do filtro pode resultar na exclusão da entidade com todos os dados históricos.
Observe que recursos desativados manualmente não serão excluídos pela descoberta em baixo nível.
Disable lost resources Especifique em quanto tempo a entidade descoberta será desativada depois que seu status de descoberta se tornar "Not discovered anymore":
Never - não será desativada;
Immediately - será desativada imediatamente;
After - será desativada após o período de tempo especificado. O valor deve ser maior que o intervalo de atualização da regra de descoberta.
Observe que recursos desativados automaticamente voltarão a ser habilitados se forem redescobertos pela descoberta em baixo nível. Recursos desativados manualmente não voltarão a ser habilitados se forem redescobertos.
Este campo não é exibido se Delete lost resources estiver definido como "Immediately".
Sufixos de tempo são suportados, por exemplo 2h, 1d.
Macros de usuário são suportadas.
Description Informe uma descrição.
Enabled Se marcado, a regra será processada.

O histórico da regra de descoberta não é preservado.

Preprocessamento

A aba Preprocessamento permite definir regras de transformação a serem aplicadas ao resultado da descoberta. Uma ou várias transformações são possíveis nesta etapa. As transformações são executadas na ordem em que são definidas. Todo o preprocessamento é feito pelo Zabbix server.

Veja também:

Tipo
Transformação Descrição
Texto
Expressão regular Corresponde o valor recebido à expressão regular <pattern> e substitui o valor pelo <output> extraído. A expressão regular suporta a extração de no máximo 10 grupos capturados com a sequência \N.
Parâmetros:
pattern - expressão regular
output - modelo de formatação da saída. Uma sequência de escape \N (onde N=1…9) é substituída pelo N-ésimo grupo correspondente. Uma sequência de escape \0 é substituída pelo texto correspondente.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Substituir Localiza a string de pesquisa e a substitui por outra (ou por nada). Todas as ocorrências da string de pesquisa serão substituídas.
Parâmetros:
search string - a string a ser localizada e substituída, com distinção entre maiúsculas e minúsculas (obrigatório)
replacement - a string que substituirá a string de pesquisa. A string de substituição também pode estar vazia, permitindo efetivamente excluir a string de pesquisa quando encontrada.
É possível usar sequências de escape para pesquisar ou substituir quebras de linha, retorno de carro, tabulações e espaços "\n \r \t \s"; a barra invertida pode ser escapada como "\\" e sequências de escape podem ser escapadas como "\\n". O escape de quebras de linha, retorno de carro e tabulações é feito automaticamente durante a descoberta em baixo nível.
Dados estruturados
JSONPath Extrai valor ou fragmento de dados JSON usando a funcionalidade JSONPath.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
XML XPath Extrai valor ou fragmento de dados XML usando a funcionalidade XPath.
Para que esta opção funcione, o Zabbix server deve ser compilado com suporte a libxml.
Exemplos:
number(/document/item/value) extrairá 10 de <document><item><value>10</value></item></document>
number(/document/item/@attribute) extrairá 10 de <document><item attribute="10"></item></document>
/document/item extrairá <item><value>10</value></item> de <document><item><value>10</value></item></document>
Observe que namespaces não são suportados.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
CSV para JSON Converte dados de arquivo CSV para o formato JSON.
Para mais informações, consulte: Preprocessamento de CSV para JSON.
XML para JSON Converte dados no formato XML para JSON.
Para mais informações, consulte: Regras de serialização.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
SNMP
Valor de SNMP walk Extrai o valor pelo OID/nome MIB especificado e aplica opções de formatação:
Unchanged - retorna Hex-STRING como string hexadecimal sem escape (observe que as dicas de exibição ainda são aplicadas);
UTF-8 from Hex-STRING - converte Hex-STRING em string UTF-8;
MAC from Hex-STRING - converte Hex-STRING em string de endereço MAC (na qual ' ' será substituído por ':');
Integer from BITS - converte os primeiros 8 bytes de uma string de bits expressa como uma sequência de caracteres hexadecimais (por exemplo, "1A 2B 3C 4D") em um inteiro sem sinal de 64 bits. Em strings de bits maiores que 8 bytes, os bytes subsequentes serão ignorados.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
SNMP walk para JSON Converte valores SNMP para JSON. Especifique um nome de campo no JSON e o caminho OID SNMP correspondente. Os valores dos campos serão preenchidos pelos valores no caminho OID SNMP especificado.
Você pode usar esta etapa de preprocessamento para descoberta de OID SNMP.
Estão disponíveis opções de formatação de valor semelhantes às da etapa Valor de SNMP walk.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Valor de SNMP get Aplica opções de formatação ao valor de SNMP get:
UTF-8 from Hex-STRING - converte Hex-STRING em string UTF-8;
MAC from Hex-STRING - converte Hex-STRING em string de endereço MAC (na qual ' ' será substituído por ':');
Integer from BITS - converte os primeiros 8 bytes de uma string de bits expressa como uma sequência de caracteres hexadecimais (por exemplo, "1A 2B 3C 4D") em um inteiro sem sinal de 64 bits. Em strings de bits maiores que 8 bytes, os bytes subsequentes serão ignorados.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Scripts personalizados
JavaScript 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.
Observe que o tamanho disponível do JavaScript depende do banco de dados usado.
Para mais informações, consulte: Preprocessamento em Javascript
Validação
Não corresponde à expressão regular Especifique uma expressão regular à qual um valor não deve corresponder.
Por exemplo, Error:(.*?)\.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Verificar erro em JSON Verifica se há uma mensagem de erro no nível da aplicação localizada em JSONPath. Interrompe o processamento se for bem-sucedido e a mensagem não estiver vazia; caso contrário, continua o processamento com o valor que estava antes desta etapa de preprocessamento. Observe que esses erros de serviços externos são informados ao usuário como estão, sem adicionar informações da etapa de preprocessamento.
Por exemplo, $.errors. Se um JSON como {"errors":"e1"} for recebido, a próxima etapa de preprocessamento não será executada.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Verificar erro em XML Verifica se há uma mensagem de erro no nível da aplicação localizada em Xpath. Interrompe o processamento se for bem-sucedido e a mensagem não estiver vazia; caso contrário, continua o processamento com o valor que estava antes desta etapa de preprocessamento. Observe que esses erros de serviços externos são informados ao usuário como estão, sem adicionar informações da etapa de preprocessamento.
Nenhum erro será informado em caso de falha ao analisar XML inválido.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Corresponde à expressão regular Especifique uma expressão regular à qual um valor deve corresponder.
Se você marcar a caixa de seleção Custom on fail, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Limitação de taxa
Descartar inalterado com heartbeat Descarta um valor se ele não tiver mudado dentro do período de tempo definido (em segundos).
São aceitos valores inteiros positivos para especificar os segundos (mínimo - 1 segundo). Sufixos de tempo podem ser usados neste campo (por exemplo, 30s, 1m, 2h, 1d). Macros de usuário e macros de descoberta em baixo nível podem ser usadas neste campo.
Apenas uma opção de limitação de taxa pode ser especificada para um item de descoberta.
Por exemplo, 1m. Se o mesmo texto for passado para esta regra duas vezes em 60 segundos, ele será descartado.
Observação: alterar protótipos de item não redefine a limitação de taxa. A limitação de taxa é redefinida somente quando as etapas de preprocessamento são alteradas.
Prometheus
Prometheus para JSON Converte as métricas Prometheus necessárias para JSON.
Consulte Verificações Prometheus para mais detalhes.

Observe que, se a regra de descoberta tiver sido aplicada ao host por meio de template, o conteúdo desta aba será somente leitura.

Macros personalizados

A aba LLD macros permite especificar macros personalizados de descoberta em baixo nível.

Macros personalizados são úteis em casos em que o JSON retornado não possui as macros necessárias já definidas. Por exemplo:

  • A chave nativa vfs.fs.discovery para descoberta de sistema de arquivos retorna um JSON com algumas LLD macros predefinidas, como {#FSNAME}, {#FSTYPE}. Essas macros podem ser usadas diretamente em protótipos de item, trigger (veja as seções subsequentes da página); não é necessário definir macros personalizados;
  • O item de agent vfs.fs.get também retorna um JSON com dados do sistema de arquivos, mas sem nenhuma LLD macro predefinida. Nesse caso, você pode definir as macros manualmente e mapeá-las para os valores no JSON usando JSONPath:

Os valores extraídos podem ser usados em itens descobertos, triggers etc. Observe que os valores serão extraídos do resultado da descoberta e de todas as etapas de pré-processamento realizadas até o momento.

Parameter Description
LLD macro Nome da macro de descoberta em baixo nível, usando a seguinte sintaxe: {#MACRO}.
JSONPath Caminho usado para extrair o valor da macro LLD de uma linha LLD, usando a sintaxe JSONPath.
Os valores extraídos do JSON retornado são usados para substituir as macros LLD nos campos de protótipo de item, trigger etc.
JSONPath pode ser especificado usando a notação com ponto ou a notação com colchetes. A notação com colchetes deve ser usada em caso de caracteres especiais e Unicode, como $['unicode + special chars #1']['unicode + special chars #2'].

Por exemplo, $.foo extrairá "bar" e "baz" deste JSON: [{"foo":"bar"}, {"foo":"baz"}]
Observe que $.foo também extrairá "bar" e "baz" deste JSON: {"data":[{"foo":"bar"}, {"foo":"baz"}]} porque um único objeto "data" é processado automaticamente (por compatibilidade com versões anteriores com a implementação de descoberta em baixo nível nas versões do Zabbix anteriores à 4.2).

Filtro

Um filtro pode ser usado para gerar itens, triggers e gráficos reais apenas para entidades que correspondam aos critérios. A aba Filters contém definições de filtro da regra de descoberta, permitindo filtrar valores de descoberta:

Parameter Description
Type of calculation As seguintes opções para calcular filtros estão disponíveis:
And - todos os filtros devem ser atendidos;
Or - basta que um filtro seja atendido;
And/Or - usa And com nomes de macro diferentes e Or com o mesmo nome de macro;
Custom expression - oferece a possibilidade de definir um cálculo personalizado dos filtros. A fórmula deve incluir todos os filtros da lista. Limitado a 255 símbolos.
Filters Os seguintes operadores de condição de filtro estão disponíveis: matches, does not match, exists, does not exist.
Os operadores matches e does not match esperam uma Expressão Regular Compatível com Perl (PCRE).
Você pode inserir uma expressão regular ou referenciar uma expressão regular global no campo Regular expression.

Os operadores exists e does not exist permitem filtrar entidades com base na presença ou ausência da macro LLD especificada na resposta.
Observe que, se uma macro do filtro estiver ausente na resposta, a entidade encontrada será ignorada, a menos que uma condição "does not exist" seja especificada para essa macro.

Um aviso será exibido se a ausência de uma macro afetar o resultado da expressão. Por exemplo, se {#B} estiver ausente em:
{#A} matches 1 and {#B} matches 2 - exibirá um aviso
{#A} matches 1 or {#B} matches 2 - sem aviso.

Por exemplo, se você estiver interessado apenas nos sistemas de arquivos C:, D: e E:, você pode colocar {#FSNAME} no campo Macro e ^C|^D|^E no campo Regular expression.
A filtragem também é possível por tipos de sistema de arquivos usando a macro {#FSTYPE} (por exemplo, ^ext|^reiserfs) e por tipos de unidade (suportado apenas pelo agent do Windows) usando a macro {#FSDRIVETYPE} (por exemplo, fixed).

Para testar uma expressão regular, você pode usar grep -E, por exemplo:

for f in ext2 nfs reiserfs smbfs; 
do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; 
done

Um erro ou um typo na expressão regular usada na regra LLD (por exemplo, uma expressão regular incorreta em "File systems for discovery") pode causar a exclusão de milhares de elementos de configuração, valores históricos e eventos para muitos hosts.

O banco de dados do Zabbix no MySQL deve ser criado com sensibilidade a maiúsculas e minúsculas se nomes de sistemas de arquivos que diferem apenas por caixa forem descobertos corretamente.

Override

A aba Overrides permite definir regras para modificar a lista de protótipos de item, trigger, gráfico e host, ou seus atributos, para objetos descobertos que atendam a determinados critérios.

Os overrides, se houver, são exibidos em uma lista reordenável por arrastar e soltar e são executados na ordem em que foram definidos. Para configurar os detalhes de um novo override, clique em no bloco Overrides. Para editar um override existente, clique no nome do override. Uma janela pop-up será aberta, permitindo editar os detalhes da regra de override.

Todos os parâmetros obrigatórios são marcados com asteriscos vermelhos.

Parameter Description
Name Um nome de override exclusivo (por regra de LLD).
If filter matches Define se os próximos overrides devem ser processados quando as condições do filtro forem atendidas:
Continue overrides - os overrides subsequentes serão processados.
Stop processing - as operações dos overrides anteriores (se houver) e deste override serão executadas, e os overrides subsequentes serão ignorados para as linhas de LLD correspondentes.
Filters Determina a quais entidades descobertas o override deve ser aplicado. Os filtros de override são processados após os filtros da regra de descoberta e têm a mesma funcionalidade.
Operations As operações de override são exibidas com estes detalhes:
Condition - um tipo de objeto e uma condição a ser atendida para o nome do objeto; por exemplo: o protótipo de trigger não é igual a Disk space is low (used > 50%).
Action - são exibidos links para editar e remover uma operação.

Configurando uma operação

Para configurar os detalhes de uma nova operação, clique em no bloco Operations. Para editar uma operação existente, clique em ao lado da operação. Uma janela pop-up será aberta para editar os detalhes da operação.

Parameter Description
Object Quatro tipos de objetos estão disponíveis:
Protótipo de item
Protótipo de trigger
Protótipo de gráfico
Protótipo de host
Condition Permite filtrar as entidades às quais a operação deve ser aplicada.
Operator Operadores suportados:
equals - aplicar a este protótipo
does not equal - aplicar a todos os protótipos, exceto este
contains - aplicar se o nome do protótipo contiver esta string
does not contain - aplicar se o nome do protótipo não contiver esta string
matches - aplicar se o nome do protótipo corresponder à expressão regular
does not match - aplicar se o nome do protótipo não corresponder à expressão regular
Pattern Uma expressão regular ou uma string a ser pesquisada.
Object: Item prototype
Create enabled Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de item:
Yes - o item será adicionado em estado habilitado.
No - o item será adicionado a uma entidade descoberta, mas em estado desabilitado.
Discover Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de item:
Yes - o item será adicionado.
No - o item não será adicionado.
Update interval Quando a caixa de seleção é marcada, duas opções aparecem, permitindo definir um intervalo diferente para o item:
Delay - intervalo de atualização do item. Macros de usuário, macros de LLD e sufixos de tempo (por exemplo, 30s, 1m, 2h, 1d) são suportados (o suporte a macros de LLD foi restaurado no Zabbix 7.0.27). Deve ser definido como 0 se Custom interval for usado.
Custom interval - clique em para especificar intervalos flexíveis/agendados. Para informações detalhadas, consulte Custom intervals.
History Quando a caixa de seleção é marcada, os botões aparecem, permitindo definir um período diferente de armazenamento de histórico para o item:
Do not store - se selecionado, o histórico não será armazenado.
Store up to - se selecionado, um campo de entrada para especificar o período de armazenamento aparecerá à direita. Macros de usuário e macros de LLD são suportadas (o suporte a macros de LLD foi restaurado no Zabbix 7.0.27).
Trends Quando a caixa de seleção é marcada, os botões aparecem, permitindo definir um período diferente de armazenamento de tendências para o item:
Do not store - se selecionado, as tendências não serão armazenadas.
Store up to - se selecionado, um campo de entrada para especificar o período de armazenamento aparecerá à direita. Macros de usuário e macros de LLD são suportadas (o suporte a macros de LLD foi restaurado no Zabbix 7.0.27).
Tags Quando a caixa de seleção é marcada, um novo bloco aparecerá, permitindo especificar pares de tag-valor. Macros de usuário e macros de LLD são suportadas.
Essas tags serão anexadas às tags especificadas no protótipo de item, mesmo que os nomes das tags coincidam.
Object: Trigger prototype
Create enabled Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de trigger:
Yes - o trigger será adicionado em estado habilitado.
No - o trigger será adicionado a uma entidade descoberta, mas em estado desabilitado.
Discover Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de trigger:
Yes - o trigger será adicionado.
No - o trigger não será adicionado.
Severity Quando a caixa de seleção é marcada, os botões de severidade do trigger aparecerão, permitindo modificar a severidade do trigger.
Tags Quando a caixa de seleção é marcada, um novo bloco aparecerá, permitindo especificar pares de tag-valor. Macros de usuário e macros de LLD são suportadas.
Essas tags serão anexadas às tags especificadas no protótipo de trigger, mesmo que os nomes das tags coincidam.
Object: Graph prototype
Discover Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de gráfico:
Yes - o gráfico será adicionado.
No - o gráfico não será adicionado.
Object: Host prototype
Create enabled Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de host:
Yes - o host será criado em estado habilitado.
No - o host será criado em estado desabilitado.
Discover Quando a caixa de seleção é marcada, os botões aparecem, permitindo substituir as configurações originais do protótipo de host:
Yes - o host será descoberto.
No - o host não será descoberto.
Link templates Quando a caixa de seleção é marcada, um campo de entrada para especificar templates aparecerá. Comece a digitar o nome do template ou clique em Select ao lado do campo e selecione templates na lista em uma janela pop-up.
Os templates deste override são adicionados a todos os templates já vinculados ao protótipo de host.
Tags Quando a caixa de seleção é marcada, um novo bloco aparecerá, permitindo especificar pares de tag-valor. Macros de usuário e macros de LLD são suportadas.
Essas tags serão anexadas às tags especificadas no protótipo de host, mesmo que os nomes das tags coincidam.
Host inventory Quando a caixa de seleção é marcada, os botões aparecerão, permitindo selecionar um modo diferente de inventário para o protótipo de host:
Disabled - não preencher o inventário do host
Manual - fornecer os detalhes manualmente
Automated - preencher automaticamente os dados do inventário do host com base nas métricas coletadas.

Botões do formulário

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

Adiciona uma regra de descoberta. Este botão está disponível apenas para novas regras de descoberta.
Atualiza as propriedades de uma regra de descoberta. Este botão está disponível apenas para regras de descoberta existentes.
Cria outra regra de descoberta com base nas propriedades da regra de descoberta atual.
Executa a descoberta com base na regra de descoberta imediatamente. A regra de descoberta já deve existir. Veja mais detalhes.
Nota que ao executar a descoberta imediatamente, o cache de configuração não é atualizado, portanto o resultado não refletirá alterações muito recentes na configuração da regra de descoberta.
Testa a configuração da regra de descoberta. Use este botão para verificar as configurações (como conectividade e correção dos parâmetros) sem aplicar permanentemente quaisquer alterações.
Exclui a regra de descoberta.
Cancela a edição das propriedades da regra de descoberta.

Entidades descobertas

As capturas de tela abaixo ilustram como os items, triggers e gráficos descobertos aparecem na configuração do host. As entidades descobertas são prefixadas com um link laranja para a regra de descoberta da qual elas se originam.

Observe que as entidades descobertas não serão criadas caso já existam entidades com os mesmos critérios de exclusividade, por exemplo, um item com a mesma chave ou um gráfico com o mesmo nome. Uma mensagem de erro é exibida neste caso no frontend informando que a regra de descoberta de baixo nível não pôde criar determinadas entidades. A própria regra de descoberta, no entanto, não ficará como não suportada porque alguma entidade não pôde ser criada e teve que ser ignorada. A regra de descoberta continuará criando/atualizando outras entidades.

Se uma entidade descoberta (host, sistema de arquivos, interface, etc) parar de ser descoberta (ou não passar mais no filtro), as entidades que foram criadas com base nela podem ser automaticamente desativadas e eventualmente excluídas.

Recursos perdidos podem ser automaticamente desativados com base no valor do parâmetro Desativar recursos perdidos. Isso afeta hosts, items e triggers perdidos.

Recursos perdidos podem ser automaticamente excluídos com base no valor do parâmetro Excluir recursos perdidos. Isso afeta hosts, grupos de hosts, items, triggers e gráficos perdidos.

Quando as entidades descobertas se tornam 'Não descobertas mais', um indicador de tempo de vida é exibido na lista de entidades. Mova o ponteiro do mouse sobre ele e uma mensagem será exibida indicando os detalhes do status.

Se as entidades foram marcadas para exclusão, mas não foram excluídas no momento esperado (regra de descoberta ou host do item desativado), elas serão excluídas na próxima vez que a regra de descoberta for processada.

Entidades que contêm outras entidades, que estão marcadas para exclusão, não serão atualizadas se forem alteradas no nível da regra de descoberta. Por exemplo, triggers baseados em LLD não serão atualizados se contiverem items que estão marcados para exclusão.

Outros tipos de descoberta

Mais detalhes e tutoriais sobre outros tipos de descoberta prontos para uso estão disponíveis nas seguintes seções:

Para mais detalhes sobre o formato JSON para items de descoberta e um exemplo de como implementar seu próprio descobridor de sistema de arquivos como um script Perl, veja criando regras LLD personalizadas.