A descoberta de baixo nível fornece uma maneira de criar automaticamente items, triggers e gráficos para diferentes entidades em um computador. Por exemplo, o Zabbix pode iniciar automaticamente o monitoramento de sistemas de arquivos ou interfaces de rede em sua máquina, sem a necessidade de criar items para cada sistema de arquivos ou interface de rede manualmente. Além disso, é possível configurar o Zabbix para remover entidades desnecessárias automaticamente com base nos resultados reais de descobertas realizadas periodicamente.
Um usuário pode definir seus próprios tipos de descoberta, desde que siga um protocolo JSON específico.
A arquitetura geral do processo de descoberta é a seguinte.
Primeiro, um usuário cria uma regra de descoberta em Coleta de dados → Templates, na coluna Descoberta. 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 items, 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 regular visto em outros lugares: o server solicita a um agent Zabbix (ou qualquer que seja o tipo do item definido) o valor desse item, o agent responde com um valor textual. A diferença é que o valor que o agent responde 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ótipos onde elas são então substituídas pelos valores recebidos para criar items, triggers, gráficos ou até hosts reais para cada entidade descoberta. Veja a lista completa de opções para usar macros LLD.
Quando o server recebe um valor para um item de descoberta, ele analisa os pares macro → valor e, para cada par, gera items, triggers e gráficos reais, com base em seus protótipos. No exemplo com "net.if.discovery" acima, o server geraria um conjunto de items, 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 é mais esperado que o JSON contenha o objeto "data". A descoberta de baixo nível agora aceitará um JSON normal contendo um array, para suportar 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 LLD na raiz do documento JSON. O Zabbix extrairá automaticamente uma macro e valor se um campo de 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 um valor de descoberta de baixo nível, primeiro a raiz é localizada (array em $.
ou $.data
).
Embora o elemento "data" tenha sido removido de todos os items nativos relacionados à descoberta, para compatibilidade retroativa o Zabbix ainda aceitará a notação JSON com um elemento "data", embora seu uso seja desencorajado. Se o JSON contiver um objeto com apenas um elemento de array "data", então ele extrairá automaticamente o conteúdo do elemento usando JSONPath $.data
. A descoberta de baixo nível agora aceita macros LLD opcionais definidas pelo usuário com um caminho personalizado especificado na sintaxe JSONPath.
Como resultado das alterações acima, agents mais recentes não serão mais capazes de trabalhar com um server Zabbix mais antigo.
Veja também: Entidades descobertas
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:
O formulário de regra de descoberta contém cinco abas, representando, da esquerda para a direita, o fluxo de dados durante a descoberta:
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 obrigatórios estão marcados com um asterisco vermelho.
Parâmetro | Descrição |
---|---|
Nome | Nome da regra de descoberta. |
Tipo | 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 regular. 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 'Item mestre'. O item mestre deve existir. |
Chave | Insira a chave do item de descoberta (até 2048 caracteres). Por exemplo, você pode usar a chave de item interna "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). |
Intervalo de atualização | 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, pode desejar definir um intervalo pequeno, mas, uma vez que saiba que está funcionando, pode definir para 30 minutos ou mais, pois os sistemas de arquivos geralmente não mudam com 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á coletado 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 Intervalo de atualização esteja definido como 0. Nota que para uma regra de descoberta existente, a descoberta pode ser realizada imediatamente pressionando o botão Executar agora. |
Intervalos personalizados | Você pode criar regras personalizadas para verificar o item: Flexível - cria uma exceção ao Intervalo de atualização (intervalo com frequência diferente) Agendamento - cria um agendamento de coleta personalizado. Para informações detalhadas, veja Intervalos personalizados. |
Timeout | Defina o timeout da verificação de descoberta. Selecione a opção de timeout: Global - o timeout do proxy/global é usado (exibido no campo Timeout desabilitado); Substituir - um timeout personalizado é usado (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 timeouts do proxy ou 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 Administração → Geral ou Administração → Proxies. |
Excluir recursos perdidos | Especifique em quanto tempo a entidade descoberta será excluída assim que seu status de descoberta se tornar "Não descoberto mais": Nunca - não será excluída; Imediatamente - será excluída imediatamente; Após - será excluída após o período de tempo especificado. O valor deve ser maior que o valor de Desabilitar recursos perdidos. Sufixos de tempo são suportados, por exemplo, 2h, 1d. Macros de usuário são suportadas. Nota: Usar "Imediatamente" não é recomendado, pois apenas editar o filtro incorretamente pode acabar excluindo a entidade com todos os dados históricos. Observe que recursos desabilitados manualmente não serão excluídos pela descoberta de baixo nível. |
Desabilitar recursos perdidos | Especifique em quanto tempo a entidade descoberta será desabilitada assim que seu status de descoberta se tornar "Não descoberto mais": Nunca - não será desabilitada; Imediatamente - será desabilitada imediatamente; Após - será desabilitada 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 desabilitados automaticamente serão habilitados novamente, se redescobertos pela descoberta de baixo nível. Recursos desabilitados manualmente não serão habilitados novamente se redescobertos. Este campo não é exibido se Excluir recursos perdidos estiver definido como "Imediatamente". Sufixos de tempo são suportados, por exemplo, 2h, 1d. Macros de usuário são suportadas. |
Descrição | Insira uma descrição. |
Habilitado | Se marcado, a regra será processada. |
O histórico da regra de descoberta não é preservado.
A aba Pré-processamento 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 pré-processamento é 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 de 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 Personalizar em caso de falha, é 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 nada). Todas as ocorrências da string de pesquisa serão substituídas. Parâmetros: string de pesquisa - a string a ser localizada e substituída, diferencia maiúsculas de minúsculas (obrigatório) substituição - a string para 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 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. |
|
Dados estruturados | ||
JSONPath | Extrai valor ou fragmento de dados JSON usando a funcionalidade JSONPath. Se você marcar a caixa Personalizar em caso de falha, é 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 Personalizar em caso de falha, é 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, veja: Pré-processamento CSV para JSON. |
|
XML para JSON | Converte dados no formato XML para JSON. Para mais informações, veja: Regras de serialização. Se você marcar a caixa Personalizar em caso de falha, é 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 SNMP walk | Extrai o valor pelo OID/nome MIB especificado e aplica opções de formatação: Sem alteração - retorna Hex-STRING como string hexadecimal não escapada (observe que dicas de exibição ainda são aplicadas); UTF-8 de Hex-STRING - converte Hex-STRING para string UTF-8; MAC de Hex-STRING - converte Hex-STRING para string de endereço MAC (que terá ' ' substituído por ':' );Inteiro de 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 Personalizar em caso de falha, é 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 pré-processamento para descoberta de OID SNMP. Opções de formatação de valor semelhantes às da etapa Valor SNMP walk estão disponíveis. Se você marcar a caixa Personalizar em caso de falha, é 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 SNMP get | Aplica opções de formatação ao valor SNMP get: UTF-8 de Hex-STRING - converte Hex-STRING para string UTF-8; MAC de Hex-STRING - converte Hex-STRING para string de endereço MAC (que terá ' ' substituído por ':' );Inteiro de 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 Personalizar em caso de falha, é 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 | Digite 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 comprimento do JavaScript disponível depende do banco de dados utilizado. Para mais informações, veja: Pré-processamento Javascript |
|
Validação | ||
Não corresponde à expressão regular | Especifique uma expressão regular à qual um valor não deve corresponder. Ex.: Error:(.*?)\. Se você marcar a caixa Personalizar em caso de falha, é 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 uma mensagem de erro em nível de aplicação localizada em JSONPath. Para 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 pré-processamento. Observe que esses erros de serviço externo são relatados ao usuário como estão, sem adicionar informações da etapa de pré-processamento. Ex.: $.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 Personalizar em caso de falha, é 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 uma mensagem de erro em nível de aplicação localizada em Xpath. Para 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 pré-processamento. Observe que esses erros de serviço externo são relatados ao usuário como estão, sem adicionar informações da etapa de pré-processamento. Nenhum erro será relatado em caso de falha ao analisar XML inválido. Se você marcar a caixa Personalizar em caso de falha, é 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 Personalizar em caso de falha, é 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 | ||
Descartar inalterado com heartbeat | Descarta 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 - 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. Ex.: 1m . Se um texto idêntico for passado para esta regra duas vezes em 60 segundos, ele será descartado.Nota: Alterar protótipos de item não redefine a limitação. A limitação é redefinida apenas quando as etapas de pré-processamento são alteradas. |
|
Prometheus | ||
Prometheus para JSON | Converte as métricas Prometheus necessárias para JSON. Veja Verificações Prometheus para mais detalhes. |
Observe que se a regra de descoberta foi aplicada ao host via template, o conteúdo desta aba é somente leitura.
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:
vfs.fs.discovery
para descoberta de sistemas de arquivos retorna um JSON com algumas macros LLD pré-definidas, 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;vfs.fs.get
também retorna um JSON com dados de sistema de arquivos, mas sem nenhuma macro LLD pré-definida. 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 itens, 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 de 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 retroativa com a implementação de descoberta de baixo nível nas versões do Zabbix anteriores à 4.2). |
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 atendidos; Ou - basta que um filtro seja atendido; 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.
A aba Substituição permite definir regras para modificar a lista de protótipos de item, trigger, gráfico, host e descoberta ou seus atributos para objetos descobertos que atendam a determinados critérios.
As substituições (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 substituição, clique em no bloco Substituições. Para editar uma substituição existente, clique no nome da substituição. Uma janela pop-up será aberta permitindo editar os detalhes da regra de substituição.
Todos os parâmetros obrigatórios são marcados com asteriscos vermelhos.
Parâmetro | Descrição |
---|---|
Nome | Um nome de substituição exclusivo (por regra LLD). |
Se o filtro corresponder | Define se as próximas substituições devem ser processadas quando as condições do filtro forem atendidas: Continuar substituições - as substituições subsequentes serão processadas. Parar processamento - as operações das substituições anteriores (se houver) e desta substituição serão executadas, as substituições subsequentes serão ignoradas para as linhas LLD correspondentes. |
Filtros | Determina a quais entidades descobertas a substituição deve ser aplicada. Os filtros de substituição são processados após os filtros da regra de descoberta e têm a mesma funcionalidade. |
Operações | As operações de substituição são exibidas com estes detalhes: Condição - um tipo de objeto (protótipo de item/protótipo de trigger/protótipo de gráfico/protótipo de host) e uma condição a ser atendida (igual/não igual/contém/não contém/corresponde/não corresponde) Ações - links para editar e remover uma operação são exibidos. |
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 será aberta onde você pode editar os detalhes da operação.
Parâmetro | Descrição | ||
---|---|---|---|
Objeto | 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 Protótipo de descoberta |
||
Condição | Permite filtrar as entidades às quais a operação deve ser aplicada. | ||
Operador | Operadores suportados: igual - aplica a este protótipo não igual - aplica a todos os protótipos, exceto este contém - aplica se o nome do protótipo contiver esta string não contém - aplica se o nome do protótipo não contiver esta string corresponde - aplica se o nome do protótipo corresponder à expressão regular não corresponde - aplica se o nome do protótipo não corresponder à expressão regular |
||
Padrão | Uma expressão regular ou uma string para pesquisar. | ||
Objeto: Protótipo de item | |||
Criar habilitado | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de item: Sim - o item será adicionado em estado habilitado. Não - o item será adicionado a uma entidade descoberta, mas em estado desabilitado. |
||
Descobrir | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de item: Sim - o item será adicionado. Não - o item não será adicionado. |
||
Intervalo de atualização | Quando a caixa de seleção estiver marcada, duas opções aparecerão, permitindo definir um intervalo diferente para o item: Atraso - 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 Intervalo personalizado for usado. Intervalo personalizado - clique em ![]() |
||
Histórico | 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: Não armazenar - se selecionado, o histórico não será armazenado. Armazenar até - 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. |
||
Tendências | 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: Não armazenar - se selecionado, as tendências não serão armazenadas. Armazenar até - 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 de tag-valor. Essas tags serão adicionadas às tags especificadas no protótipo de item, mesmo que os nomes das tags coincidam. |
||
Objeto: Protótipo de trigger | |||
Criar habilitado | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de trigger: Sim - o trigger será adicionado em estado habilitado. Não - o trigger será adicionado a uma entidade descoberta, mas em estado desabilitado. |
||
Descobrir | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de trigger: Sim - o trigger será adicionado. Não - o trigger não será adicionado. |
||
Severidade | 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 de tag-valor. Essas tags serão adicionadas às tags especificadas no protótipo de trigger, mesmo que os nomes das tags coincidam. |
||
Objeto: Protótipo de gráfico | |||
Descobrir | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de gráfico: Sim - o gráfico será adicionado. Não - o gráfico não será adicionado. |
||
Objeto: Protótipo de host | |||
Criar habilitado | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de host: Sim - o host será criado em estado habilitado. Não - o host será criado em estado desabilitado. |
||
Descobrir | Quando a caixa de seleção estiver marcada, os botões aparecerão, permitindo substituir as configurações originais do protótipo de host: Sim - o host será descoberto. Não - o host não será descoberto. |
||
Vincular 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 Selecionar ao lado do campo e selecione os templates da lista em uma janela pop-up. Os templates desta substituição 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 de tag-valor. Essas tags serão adicionadas às tags especificadas no protótipo de host, mesmo que os nomes das tags coincidam. |
||
Inventário do host | 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: Desabilitado - não preencher o inventário do host Manual - fornecer detalhes manualmente Automático - preencher automaticamente os dados do inventário do host com base nas métricas coletadas. |
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. |
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 desabilitadas e eventualmente excluídas.
Recursos perdidos podem ser automaticamente desabilitados com base no valor do parâmetro Desabilitar 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. Passe 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 desabilitados), 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.
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 itens de descoberta e um exemplo de como implementar seu próprio descobridor de sistema de arquivos como um script Perl, consulte criando regras LLD personalizadas.