3 Descoberta de baixo nível
Visão geral
A descoberta de baixo nível (LLD) fornece uma forma de criar automaticamente itens, triggers e gráficos para diferentes entidades em um host. Por exemplo, o Zabbix pode começar automaticamente a monitorar sistemas de arquivos ou interfaces de rede na sua máquina, sem a necessidade de criar itens manualmente para cada sistema de arquivos ou interface de rede. A LLD também pode criar hosts, por exemplo, para preencher máquinas virtuais descobertas em um hypervisor. Além disso, é possível configurar o Zabbix para remover automaticamente entidades desnecessárias com base nos resultados reais da descoberta executada periodicamente.
Um usuário pode definir seus próprios tipos de descoberta, desde que sigam um protocolo JSON específico.
A arquitetura geral do processo de descoberta é a seguinte.
Primeiro, o usuário cria uma regra de descoberta em Coleta de dados > Templates, na coluna Discovery. Uma regra de descoberta consiste em (1) um item que descobre as entidades necessárias (por exemplo, sistemas de arquivos ou interfaces de rede) e (2) protótipos de itens, triggers e gráficos que devem ser criados com base no valor desse item.
Um item que descobre as entidades necessárias é como um item comum visto em outras partes: o server solicita a um agent do Zabbix (ou qualquer que seja o tipo definido para o item) um valor desse item, e o agent responde com um valor textual. A diferença é que o valor retornado pelo agent deve conter uma lista de entidades descobertas em formato JSON. Embora os detalhes desse formato sejam importantes apenas para implementadores de verificações de descoberta personalizadas, é necessário saber que o valor retornado contém uma lista de pares macro → valor. Por exemplo, o item "net.if.discovery" pode retornar dois pares: "{#IFNAME}" → "lo" e "{#IFNAME}" → "eth0".
Essas macros são usadas em nomes, chaves e outros campos de protótipo, onde são então substituídas pelos valores recebidos para criar itens, triggers, gráficos ou até mesmo hosts reais para cada entidade descoberta. Veja a lista completa de opções para usar macros de LLD.
Quando o server recebe um valor para um item de descoberta, ele examina os pares macro → valor e, para cada par, gera itens, triggers e gráficos reais com base em seus protótipos. No exemplo acima com "net.if.discovery", o server geraria um conjunto de itens, triggers e gráficos para a interface de loopback "lo" e outro conjunto para a interface "eth0".
Observe que, desde o Zabbix 4.2, o formato do JSON retornado pelas regras de descoberta de baixo nível foi alterado. Não se espera mais que o JSON contenha o objeto "data". A descoberta de baixo nível agora aceitará um JSON normal contendo um array, para oferecer suporte a novos recursos, como o pré-processamento do valor do item e caminhos personalizados para valores de macros de descoberta de baixo nível em um documento JSON.
As chaves de descoberta integradas foram atualizadas para retornar um array de linhas de LLD na raiz do documento JSON.
O Zabbix extrairá automaticamente uma macro e um valor se um campo do array usar a sintaxe {#MACRO} como chave.
Quaisquer novas verificações de descoberta nativas usarão a nova sintaxe sem os elementos "data".
Ao processar primeiro um valor de descoberta de baixo nível, a raiz é localizada (array em $. ou $.data).
Embora o elemento "data" tenha sido removido de todos os itens nativos relacionados à descoberta, por compatibilidade com versões anteriores o Zabbix ainda aceitará a notação JSON com um elemento "data", embora seu uso não seja recomendado.
Se o JSON contiver um objeto com apenas um elemento array "data", então ele extrairá automaticamente o conteúdo do elemento usando JSONPath $.data.
A descoberta de baixo nível agora aceita macros de LLD opcionais definidas pelo usuário com um caminho personalizado especificado na sintaxe JSONPath.
Como resultado das alterações acima, agents mais novos não poderão mais funcionar com um server Zabbix mais antigo.
Veja também: Entidades descobertas
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:
- Vá para: Coleta de dados > Templates ou Hosts.
- Clique em Descoberta na linha do template/host apropriado.

- Clique em Criar regra de descoberta no canto superior direito da tela.
- 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 obter os dados de descoberta.
- Pré-processamento - aplica algum pré-processamento aos dados descobertos.
- Macros LLD - permite extrair alguns valores de macro para usar em itens, triggers etc. descobertos.
- 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 para realizar a 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 comum. Ela não pode depender de outra regra de descoberta. Para um item dependente, selecione o respectivo tipo (Item dependente) e especifique o item mestre no campo 'Master item'. O item mestre deve existir. |
| Key | Insira 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" (consulte o exemplo). |
| Update interval | Este campo especifica com que frequência o Zabbix realiza a descoberta. No início, quando você está apenas configurando a descoberta de sistemas de arquivos, talvez queira definir um intervalo pequeno, mas, depois de confirmar que funciona, pode defini-lo como 30 minutos ou mais, porque 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. 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. Novas regras de descoberta serão verificadas em até 60 segundos após sua criação, a menos que tenham Agendamento ou Intervalo de atualização flexível e o Update interval esteja definido como 0. Observe que, para uma regra de descoberta existente, a descoberta pode ser executada imediatamente pressionando o botão Execute now. |
| 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 um agendamento de coleta personalizado. Para informações detalhadas, consulte Intervalos personalizados. |
| Timeout | Defina o tempo limite da verificação de descoberta. Selecione a opção de tempo limite: Global - é usado o tempo limite global/do proxy (exibido no campo Timeout esmaecido); Override - é usado um tempo limite 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 os tempos limite do proxy ou os tempos limite 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 do frontend Administration > General ou Administration > Proxies. |
| Delete lost resources | Especifique em quanto tempo a entidade descoberta será excluída quando 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 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. Observação: O uso de "Immediately" não é recomendado, pois uma edição incorreta do filtro pode fazer com que a entidade seja excluída junto com todos os dados históricos. Observe que recursos desabilitados manualmente não serão excluídos pela descoberta de baixo nível. |
| Disable lost resources | Especifique em quanto tempo a entidade descoberta será desabilitada quando seu status de descoberta se tornar "Not discovered anymore": Never - não será desabilitada; Immediately - será desabilitada imediatamente; After - será desabilitada após o período especificado. O valor deve ser maior que o intervalo de atualização da regra de descoberta. Observe que recursos desabilitados automaticamente serão habilitados novamente se forem redescobertos pela descoberta de baixo nível. Recursos desabilitados manualmente não serão habilitados novamente 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 | Insira uma descrição. |
| Enabled | Se marcado, a regra será processada. |
O histórico da regra de descoberta não é preservado.
Pré-processamento
A aba Pré-processamento permite definir regras de transformação a serem aplicadas ao resultado da descoberta. Uma ou várias transformações podem ser usadas nesta etapa. As transformações são executadas na ordem em que são definidas. Todo o pré-processamento é feito pelo Zabbix server.
Veja também:

| Type | ||
|---|---|---|
| Transformation | Descrição | |
| Text | ||
| Regular expression | Corresponde o valor recebido à expressão regular <pattern> e substitui o valor pela saída extraída em <output>. A expressão regular oferece suporte à 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, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Replace | Localize a string de busca e substitua-a por outra (ou por nada). Todas as ocorrências da string de busca serão substituídas. Parâmetros: search string - a string a ser localizada e substituída, sensível a maiúsculas e minúsculas (obrigatório) replacement - a string que substituirá a string de busca. A string de substituição também pode estar vazia, permitindo efetivamente excluir a string de busca quando encontrada. É possível usar sequências de escape para procurar 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 as 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 de baixo nível. |
|
| Structured data | ||
| JSONPath | Extraia um valor ou fragmento de dados JSON usando a funcionalidade JSONPath. Se você marcar a caixa de seleção Custom on fail, será 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 | Extraia um 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, será 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 to JSON | Converta dados de arquivo CSV para o formato JSON. Para mais informações, consulte: Pré-processamento de CSV para JSON. |
|
| XML to JSON | Converta dados em formato XML para JSON. Para mais informações, consulte: Regras de serialização. Se você marcar a caixa de seleção Custom on fail, será 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 | ||
| SNMP walk value | Extraia o valor pelo nome OID/MIB especificado e aplique opções de formatação: Unchanged - retorna Hex-STRING como string hexadecimal sem escape (note 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 com mais de 8 bytes, os bytes subsequentes serão ignorados. Se você marcar a caixa de seleção Custom on fail, será 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 to JSON | Converta valores SNMP para JSON. Especifique um nome de campo no JSON e o caminho OID SNMP correspondente. Os valores dos campos serão preenchidos com os valores no caminho OID SNMP especificado. Você pode usar esta etapa de pré-processamento para descoberta de OID SNMP. Estão disponíveis opções de formatação de valor semelhantes às da etapa SNMP walk value. Se você marcar a caixa de seleção Custom on fail, será 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 get value | Aplique opções de formatação ao valor obtido por 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 com mais de 8 bytes, os bytes subsequentes serão ignorados. Se você marcar a caixa de seleção Custom on fail, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Custom scripts | ||
| JavaScript | Insira 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 para JavaScript depende do banco de dados utilizado. Para mais informações, consulte: Pré-processamento com Javascript |
|
| Validation | ||
| Does not match regular expression | 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, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Check for error in JSON | Verifique se há uma mensagem de erro em nível de aplicação localizada em JSONPath. Interrompa o processamento se a verificação for bem-sucedida e a mensagem não estiver vazia; caso contrário, continue o processamento com o valor que existia antes desta etapa de pré-processamento. Observe que esses erros de serviço externo são reportados ao usuário como estão, sem adicionar informações da etapa de pré-processamento. Por exemplo, $.errors. Se um JSON como {"errors":"e1"} for recebido, a próxima etapa de pré-processamento não será executada.Se você marcar a caixa de seleção Custom on fail, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Check for error in XML | Verifique se há uma mensagem de erro em nível de aplicação localizada em XPath. Interrompa o processamento se a verificação for bem-sucedida e a mensagem não estiver vazia; caso contrário, continue o processamento com o valor que existia antes desta etapa de pré-processamento. Observe que esses erros de serviço externo são reportados ao usuário como estão, sem adicionar informações da etapa de pré-processamento. Nenhum erro será reportado em caso de falha ao analisar XML inválido. Se você marcar a caixa de seleção Custom on fail, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Matches regular expression | Especifique uma expressão regular à qual um valor deve corresponder. Se você marcar a caixa de seleção Custom on fail, será possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
| Throttling | ||
| Discard unchanged with heartbeat | Descarte um valor se ele não tiver mudado dentro do período de tempo definido (em segundos). Valores inteiros positivos são suportados para especificar os segundos (mínimo de 1 segundo). Sufixos de tempo podem ser usados neste campo (por exemplo, 30s, 1m, 2h, 1d). Macros de usuário e macros de descoberta de baixo nível podem ser usadas neste campo. Apenas uma opção de limitação pode ser especificada para um item de descoberta. Por exemplo, 1m. Se um texto idêntico for passado para esta regra duas vezes dentro de 60 segundos, ele será descartado.Note: Alterar protótipos de item não redefine a limitação. A limitação é redefinida somente quando as etapas de pré-processamento são alteradas. |
|
| Prometheus | ||
| Prometheus to JSON | Converta 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 um template, o conteúdo desta aba será somente leitura.
Macros personalizadas
A aba Macros LLD permite especificar macros de descoberta de baixo nível personalizadas.
Macros personalizadas são úteis em casos em que o JSON retornado não possui as macros necessárias já definidas. Então, por exemplo:
- A chave nativa
vfs.fs.discoverypara descoberta de sistemas de arquivos retorna um JSON com algumas macros LLD 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 personalizadas; - O item agent
vfs.fs.gettambém retorna um JSON com dados do sistema de arquivos, mas sem nenhuma macro LLD predefinida. Neste 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 items, triggers, etc. descobertos. Observe que os valores serão extraídos do resultado da descoberta e de quaisquer etapas de pré-processamento até o momento.
| Parâmetro | Descrição |
|---|---|
| Macro LLD | Nome da macro de descoberta de 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 dos protótipos de item, trigger, etc. O JSONPath pode ser especificado usando a notação de ponto ou a notação de colchetes. A notação de colchetes deve ser usada em caso de caracteres especiais e Unicode, como $['unicode + special chars #1']['unicode + special chars #2'].Por exemplo, $.foo irá extrair "bar" e "baz" deste JSON: [{"foo":"bar"}, {"foo":"baz"}]Observe que $.foo também irá extrair "bar" e "baz" deste JSON: {"data":[{"foo":"bar"}, {"foo":"baz"}]} porque um único objeto "data" é processado automaticamente (para compatibilidade com versões anteriores com a implementação de descoberta de 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 Filtros contém definições de filtro de regra de descoberta, permitindo filtrar valores de descoberta:

| Parâmetro | Descrição |
|---|---|
| Tipo de cálculo | As seguintes opções para calcular filtros estão disponíveis: E - todos os filtros devem ser aprovados; Ou - basta que um filtro seja aprovado; E/Ou - usa E com nomes de macro diferentes e Ou com o mesmo nome de macro; Expressão personalizada - oferece a possibilidade de definir um cálculo personalizado de filtros. A fórmula deve incluir todos os filtros da lista. Limitado a 255 símbolos. |
| Filtros | Os seguintes operadores de condição de filtro estão disponíveis: corresponde, não corresponde, existe, não existe. Os operadores corresponde e não corresponde esperam uma Expressão Regular Compatível com Perl (PCRE). Por exemplo, se você estiver interessado apenas nos sistemas de arquivos C:, D: e E:, você pode colocar {#FSNAME} em "Macro" e a expressão regular "\C|\D|\E" no campo de texto "Expressão regular". 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"). Você pode inserir uma expressão regular ou referenciar uma expressão regular global no campo "Expressão regular". 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```` Os operadores existe e não existe 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 "não existe" 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} corresponde a 1 e {#B} corresponde a 2 - exibirá um aviso {#A} corresponde a 1 ou {#B} corresponde a 2 - sem aviso |
Um erro ou um erro de digitação na expressão regular usada na regra LLD (por exemplo, uma expressão regular incorreta em "Sistemas de arquivos para descoberta") pode causar a exclusão de milhares de elementos de configuração, valores históricos e eventos para muitos hosts.
O banco de dados Zabbix no MySQL deve ser criado como case-sensitive se nomes de sistemas de arquivos que diferem apenas por maiúsculas/minúsculas precisarem ser descobertos corretamente.
Sobrescrita
A aba Sobrescritas 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 aos critérios especificados.

As sobrescritas (se houver) são exibidas em uma lista reordenável por arrastar e soltar e executadas na ordem em que são definidas. Para configurar os detalhes de uma nova sobrescrita, clique em
no bloco Sobrescritas.
Para editar uma sobrescrita existente, clique no nome da sobrescrita.
Uma janela pop-up será aberta, permitindo editar os detalhes da regra de sobrescrita.

Todos os parâmetros obrigatórios são marcados com asteriscos vermelhos.
| Parameter | Description |
|---|---|
| Name | Um nome de sobrescrita exclusivo (por regra de LLD). |
| If filter matches | Define se as próximas sobrescritas devem ser processadas quando as condições do filtro forem atendidas: Continue overrides - as sobrescritas subsequentes serão processadas. Stop processing - as operações das sobrescritas anteriores (se houver) e desta sobrescrita serão executadas; as sobrescritas subsequentes serão ignoradas para as linhas de LLD correspondentes. |
| Filters | Determina a quais entidades descobertas a sobrescrita deve ser aplicada. Os filtros de sobrescrita são processados após os filtros da regra de descoberta e têm a mesma funcionalidade. |
| Operations | As operações de sobrescrita 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: 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 Operações.
Para editar uma operação existente, clique em
ao lado da operação.
Uma janela pop-up na qual você pode editar os detalhes da operação será aberta.

| 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, duas opções aparecerão, permitindo definir um intervalo diferente para o item: Delay - intervalo de atualização do item. Macros de usuário e sufixos de tempo (por exemplo, 30s, 1m, 2h, 1d) são suportados. Deve ser definido como 0 se Custom interval for usado. Custom interval - clique em para especificar intervalos flexíveis/de agendamento. Para informações detalhadas, consulte Intervalos personalizados. |
||
| History | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo definir um período de armazenamento de histórico diferente 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 LLD são suportadas. |
||
| Trends | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo definir um período de armazenamento de tendências diferente 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 LLD são suportadas. |
||
| Tags | Quando a caixa de seleção estiver marcada, um novo bloco aparecerá, permitindo especificar pares tag-valor. 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, os botões de severidade do trigger aparecerão, permitindo modificar a severidade do trigger. | ||
| Tags | Quando a caixa de seleção estiver marcada, um novo bloco aparecerá, permitindo especificar pares tag-valor. 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver marcada, os botões aparecerão, permitindo sobrescrever 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 estiver 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 da lista em uma janela pop-up. Os templates desta sobrescrita são adicionados a todos os templates já vinculados ao protótipo de host. |
||
| Tags | Quando a caixa de seleção estiver marcada, um novo bloco aparecerá, permitindo especificar pares tag-valor. 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 estiver marcada, os botões aparecerão, permitindo selecionar um modo de inventário diferente para o protótipo de host: Disabled - não preencher o inventário do host Manual - fornecer 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 já 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. Observe 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 de parâmetros) sem aplicar permanentemente nenhuma alteração. |
![]() |
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 de onde vieram.

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 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:
- descoberta de interfaces de rede
- descoberta de CPUs e núcleos de CPU
- descoberta de OIDs SNMP
- descoberta de objetos JMX;
- descoberta usando consultas SQL ODBC
- descoberta de serviços do Windows
- descoberta de interfaces de host no Zabbix
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.






