A descoberta de baixo n¨ªvel fornece uma maneira de criar itens automaticamente, gatilhos e gr¨¢ficos para diferentes entidades em um computador. Por exemplo, O Áú»¢¶Ä²© pode iniciar automaticamente o monitoramento de sistemas de arquivos ou rede interfaces em sua m¨¢quina, sem a necessidade de criar itens para cada sistema de arquivos ou interface de rede manualmente. Al¨¦m disso, ¨¦ poss¨ªvel configurar o Áú»¢¶Ä²© para remover entidades desnecess¨¢rias automaticamente com base em resultados reais da descoberta realizada periodicamente.
Um usu¨¢rio pode definir seus pr¨®prios tipos de descoberta, desde que siga um determinado protocolo JSON.
A arquitetura geral do processo de descoberta ¨¦ a seguinte.
Primeiro, um usu¨¢rio cria uma regra de descoberta em "Configura??o" ¡ú "Modelos" ¡ú Coluna "Descoberta". Uma regra de descoberta consiste em (1) um item que descobre as entidades necess¨¢rias (por exemplo, sistemas de arquivos ou rede interfaces) e (2) prot¨®tipos de itens, gatilhos e gr¨¢ficos que deve ser criado com base no valor desse item.
Um item que descobre as entidades necess¨¢rias ¨¦ como um item normal visto em outro lugar: o servidor pede a um agente Áú»¢¶Ä²© (ou qualquer que seja o tipo de o item est¨¢ definido como) para um valor desse item, o agente responde com um valor textual. A diferen?a ¨¦ que o valor com o qual o agente responde deve conter uma lista de entidades descobertas em um formato JSON. Enquanto o detalhes deste formato s?o importantes apenas para implementadores de verifica??es de descoberta, ¨¦ necess¨¢rio saber que o valor retornado cont¨¦m uma lista de macro ¡ú pares de valores. Por exemplo, artigo "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 eles s?o ent?o substitu¨ªdos pelos valores recebidos para criar itens, gatilhos, gr¨¢ficos ou mesmo hosts para cada entidade descoberta. Ver a lista completa de op??es para usar macros LLD.
Quando o servidor recebe um valor para um item de descoberta, ele verifica o macro ¡ú pares de valor e para cada par gera itens reais, gatilhos, e gr¨¢ficos, com base em seus prot¨®tipos. No exemplo com "net.if.discovery" acima, o servidor geraria um conjunto de itens, gatilhos e gr¨¢ficos para a interface de loopback "lo", e outro conjunto para a interface "eth0".
Observe que desde o Áú»¢¶Ä²© 4.2, o formato do JSON retornado por as regras de descoberta de baixo n¨ªvel foram alteradas. N?o ¨¦ mais esperado que o JSON conter¨¢ o objeto "data". A descoberta de baixo n¨ªvel agora aceite um JSON normal contendo um array, para dar suporte a novos recursos como o pr¨¦-processamento do valor do item e caminhos personalizados para valores de macro de descoberta de baixo n¨ªvel em um documento JSON.
As chaves de descoberta integradas foram atualizadas para retornar uma matriz de linhas LLD na raiz do documento JSON. Áú»¢¶Ä²© ir¨¢ extrair automaticamente uma macro e valor se um campo de matriz usar a sintaxe {#MACRO} como chave. Qualquer novo as verifica??es de descoberta nativa usar?o a nova sintaxe sem os "dados" elementos. Ao processar primeiro um valor de descoberta de baixo n¨ªvel, a raiz ¨¦ localizado (array em $.
ou $.data
).
Embora o elemento "data" tenha sido removido de todos os itens nativos relacionados para descoberta, para compatibilidade com vers?es anteriores, o Áú»¢¶Ä²© ainda aceitar¨¢ o Nota??o JSON com um elemento "data", embora seu uso seja desencorajado. Se o JSON cont¨¦m um objeto com apenas um elemento de matriz "data", ent?o ele ir¨¢ extrair automaticamente o conte¨²do do elemento usando JSONPath $.dados
. A descoberta de baixo n¨ªvel agora aceita LLD opcional definido pelo usu¨¢rio macros com um caminho personalizado especificado na sintaxe JSONPath.
Como resultado das mudan?as acima, os agentes mais novos n?o mais ser¨¢ capaz de trabalhar com um servidor Áú»¢¶Ä²© mais antigo.
Veja tamb¨¦m: Entidades descobertas
Ilustraremos a descoberta de baixo n¨ªvel com base em um exemplo de arquivo descoberta do sistema.
Para configurar a descoberta, fa?a o seguinte:
O formul¨¢rio de regra de descoberta cont¨¦m cinco guias, representando, da esquerda para certo, o fluxo de dados durante a descoberta:
A guia Regra de descoberta cont¨¦m a chave do item a ser usada para descoberta (assim como alguns atributos gerais da regra de descoberta):
Todos os campos de entrada obrigat¨®rios est?o marcados com um asterisco vermelho.
Par?metro | Descri??o |
---|---|
Nome | Nome da regra de descoberta. |
Type | O tipo de verifica??o para realizar a descoberta. Neste exemplo, estamos usando uma chave de item do agente Áú»¢¶Ä²©. A regra de descoberta tamb¨¦m pode ser um item dependente, dependendo de um item normal. 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. |
Key | Insira a chave do item de descoberta (at¨¦ 2.048 caracteres). Por exemplo, voc¨º pode usar a chave de item "vfs.fs.discovery" integrada para retornar um JSON com a lista de sistemas de arquivos presentes no computador e seus tipos. Observe que outra op??o para descoberta do sistema de arquivos ¨¦ usar os resultados da descoberta pela chave de agente "vfs.fs.get", suportada desde o Áú»¢¶Ä²© 4.4.5 (veja exemplo). |
Intervalo de atualiza??o | Este campo especifica com que frequ¨ºncia o Áú»¢¶Ä²© realiza a descoberta. No in¨ªcio, quando voc¨º est¨¢ apenas configurando a descoberta do sistema de arquivos, voc¨º pode querer configur¨¢-lo para um pequeno intervalo, mas quando souber que funciona, voc¨º pode configur¨¢-lo para 30 minutos ou mais, porque os sistemas de arquivos geralmente n?o mudam com muita frequ¨ºncia . Sufixos de tempo s?o suportados, por exemplo 30s, 1m, 2h, 1d, desde o Áú»¢¶Ä²© 3.4.0. Macros de usu¨¢rio s?o suportados, desde o Áú»¢¶Ä²© 3.4.0. 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 programado) com um valor diferente de zero, o item ser¨¢ pesquisado durante a dura??o do intervalo personalizado. Observe que, para uma regra de descoberta existente, a descoberta pode ser executado imediatamente pressionando o bot?o Check now (#form_buttons). |
Intervalos personalizados | Voc¨º pode criar regras personalizadas para verificar o item: ¹ó±ô±ð³æ¨ª±¹±ð±ô - cria uma exce??o para o Intervalo de atualiza??o (intervalo com frequ¨ºncia diferente) Agendamento - cria um agendamento de pesquisa personalizado. Para obter informa??es detalhadas, consulte Intervalos personalizados. O agendamento ¨¦ suportado desde o Áú»¢¶Ä²© 3.0.0. |
Per¨ªodo de manuten??o de recursos perdidos | Este campo permite especificar a dura??o por quanto tempo a entidade descoberta ser¨¢ retida (n?o ser¨¢ exclu¨ªda) quando seu status de descoberta se tornar "N?o mais descoberta" (entre 1 hora a 25 anos; ou "0"). Sufixos de tempo s?o suportados, por exemplo 2h, 1d, desde o Áú»¢¶Ä²© 3.4.0. Macros de usu¨¢rio s?o suportados, desde o Áú»¢¶Ä²© 3.4.0. Nota: Se definido como "0", entidades ser?o exclu¨ªdas imediatamente. O uso de "0" n?o ¨¦ recomendado, pois apenas editar erroneamente o filtro pode acabar na entidade que est¨¢ sendo exclu¨ªda com todos os dados hist¨®ricos. |
Descri??o | Digite uma descri??o. |
Ativado | Se marcado, a regra ser¨¢ processada. |
O hist¨®rico da regra de descoberta n?o ¨¦ preservado.
A guia ±Ê°ù¨¦-±è°ù´Ç³¦±ð²õ²õ²¹³¾±ð²Ô³Ù´Ç permite definir as 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 definidos. Todo o pr¨¦-processamento ¨¦ feito pelo servidor Áú»¢¶Ä²©.
Veja tamb¨¦m:
Tipo | Transforma??o | Descri??o |
---|---|---|
Texto | ||
Express?o regular | Fa?a corresponder o valor recebido ¨¤ express?o regular <pattern> e substitua o valor pela <²õ²¹¨ª»å²¹> extra¨ªda. A express?o regular oferece suporte ¨¤ extra??o de no m¨¢ximo 10 grupos capturados com a sequ¨ºncia \N. Par?metros: padr?o - express?o regular ²õ²¹¨ª»å²¹ - modelo de formata??o de ²õ²¹¨ª»å²¹. Uma sequ¨ºncia de escape \N (onde N=1¡9) ¨¦ substitu¨ªda pelo en¨¦simo grupo correspondente. Uma sequ¨ºncia de escape \0 ¨¦ substitu¨ªda pelo texto correspondente. Se voc¨º marcar a caixa de sele??o Personalizado em caso de falha, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir um mensagem de erro especificada. |
|
Substituir | Encontre a string de pesquisa e substitua-a por outra (ou nada). Todas as ocorr¨ºncias da string de pesquisa ser?o substitu¨ªdas. Par?metros: search string - a string para localizar e substituir, diferencia mai¨²sculas de min¨²sculas (obrigat¨®rio) replacement - a string para substitua a string de pesquisa por. A string de substitui??o tamb¨¦m pode estar vazia, permitindo excluir a string de pesquisa 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 seq¨¹¨ºncias de escape podem ser escapadas como "\\n". O escape de quebras de linha, retorno de carro, guias ¨¦ feito automaticamente durante a descoberta de baixo n¨ªvel. Suportado desde 5.0.0. |
|
Dados estruturados | ||
JSONPath | Extraia valor ou fragmento de dados JSON usando funcionalidade JSONPath. Se voc¨º marcar a caixa de sele??o Personalizado em caso de falha, o item n?o ser¨¢ tornam-se incompat¨ªveis em caso de falha na etapa de pr¨¦-processamento e ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
XML XPath | Extraia valor ou fragmento de dados XML usando a funcionalidade XPath. Para que esta op??o funcione, o servidor Áú»¢¶Ä²© deve ser compilado com suporte a libxml. Exemplos: number(/document /item/value) ±ð³æ³Ù°ù²¹¾±°ù¨¢ 10 de <document><item><value>10</value></item></document> number(/document/item/@attribute) ±ð³æ³Ù°ù²¹¾±°ù¨¢ 10 de <document><item attribute="10"></item></document> /document/item ±ð³æ³Ù°ù²¹¾±°ù¨¢ <item><value>10</value ></item> de <document><item><value>10</value></item></document> Observe que namespaces n?o s?o suportados. Suportado desde 4.4.0. Se voc¨º marcar a caixa de sele??o Personalizado em caso de falha, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
CSV para JSON | Converter dados do arquivo CSV para o formato JSON. Para obter mais informa??es, consulte: CSV para pr¨¦-processamento JSON. Suportado desde 4.4.0. |
|
XML para JSON | Converter dados em formato XML para JSON. Para obter mais informa??es, consulte: Regras de serializa??o. Se voc¨º marcar a caixa de sele??o Personalizado em caso de falha, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
Scripts personalizados | ||
JavaScript | Insira o c¨®digo JavaScript no bloco que aparece ao clicar no campo de par?metro ou em Abrir. Observe que o comprimento do JavaScript dispon¨ªvel depende do banco de dados usado. Para obter mais informa??es, consulte: ±Ê°ù¨¦-±è°ù´Ç³¦±ð²õ²õ²¹³¾±ð²Ô³Ù´Ç de Javascript |
|
Valida??o | ||
N?o corresponde a express?o regular | Especifique uma express?o regular que um valor n?o deve corresponder. Ex. Error:(.*?)\. Se voc¨º marcar a caixa de sele??o Custom on fail, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir um erro especificado mensagem. |
|
Verifique se h¨¢ erro no JSON | Verifique se h¨¢ uma mensagem de erro no n¨ªvel do aplicativo localizada em JSONpath. Interrompa o processamento se for bem-sucedido e a mensagem n?o estiver vazia; caso contr¨¢rio, continue o processamento com o valor que estava antes dessa 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. 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 Personalizado em caso de falha, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros : para descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
Verifique se h¨¢ erro no XML | Verifique se h¨¢ uma mensagem de erro no n¨ªvel do aplicativo localizada em xpath. Interrompa o processamento se for bem-sucedido e a mensagem n?o estiver vazia; caso contr¨¢rio, continue o processamento com o valor que estava antes dessa 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. Suportado desde a vers?o 4.4.0. Se voc¨º marque a caixa de sele??o Personalizado em caso de falha, ¨¦ poss¨ªvel especificar op??es personalizadas de tratamento de erros: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. |
|
Estrangulamento | ||
Descartar inalterado com pulsa??o | Descartar um valor se ele n?o foi alterado 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. Por exemplo, 1m . Se um texto id¨ºntico for passado para esta regra duas vezes em 60 segundos, ele ser¨¢ descartado.Observa??o: A altera??o de prot¨®tipos de itens n?o redefine a limita??o. A limita??o ¨¦ redefinida somente quando as etapas de pr¨¦-processamento s?o alteradas. |
|
Prometeu | ||
Prometheus para JSON | Converter as m¨¦tricas necess¨¢rias do Prometheus para JSON. Consulte verifica??es do Prometheus para obter mais detalhes. |
Observe que se a regra de descoberta foi aplicada ao host via template ent?o o conte¨²do desta guia ¨¦ somente leitura.
A guia macros LLD permite especificar a descoberta personalizada de baixo n¨ªvel macros.
As macros personalizadas s?o ¨²teis nos casos em que o JSON retornado n?o tem as macros necess¨¢rias j¨¢ definidas. Assim, por exemplo:
vfs.fs.discovery
para descoberta do sistema de arquivos retorna um JSON com algumas macros LLD predefinidas, como {#FSNAME}, {#FSTYPE}. Essas macros podem ser usadas no item, acionar prot¨®tipos (veja as se??es subsequentes da p¨¢gina) diretamente; definindo costume macros n?o s?o necess¨¢rias;vfs.fs.get
tamb¨¦m retorna um JSON com filesystem dados, mas sem nenhuma macro LLD predefinida. Neste caso voc¨º pode definir as macros voc¨º mesmo e mapeie-as para os valores no JSON usando Caminho JSON:Os valores extra¨ªdos podem ser usados em itens descobertos, gatilhos, etc. Observe que os valores ser?o extra¨ªdos do resultado da descoberta e qualquer etapas de pr¨¦-processamento at¨¦ agora.
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. Por exemplo, $.foo ±ð³æ³Ù°ù²¹¾±°ù¨¢ "bar" e "baz" deste JSON: [{ "foo":"bar"}, {"foo":"baz"}] Os valores extra¨ªdos do JSON retornado s?o usados para substituir as macros LLD nos campos de item, gatilho, etc. de prot¨®tipo. JSONPath pode ser especificado usando a nota??o de ponto ou a nota??o de colchetes. A nota??o de colchetes deve ser usada no caso de quaisquer caracteres especiais e Unicode, como $['unicode + caracteres especiais #1']['unicode + caracteres especiais #2'] . |
Um filtro pode ser usado apenas para gerar itens reais, gatilhos e gr¨¢ficos para entidades que atendem aos crit¨¦rios. A guia Filtros cont¨¦m Defini??es de filtro de regra de descoberta que permitem 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 passados; Ou - suficiente se um filtro for passado; And/Or - usa And com nomes de macro diferentes e Or 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 um (PCRE). Por exemplo, se voc¨º estiver interessado apenas em sistemas de arquivos C:, D: e E:, voc¨º pode colocar {#FSNAME} em "Macro" e "^C|^D|^E" regular express?o em campos 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 agente do Windows) usando a macro {#FSDRIVETYPE} (por exemplo, " fixed"). Voc¨º pode inserir uma express?o regular ou fazer refer¨ºncia a 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; fa?a eco $f \| grep -E '^ext\|^reiserfs' \|\| echo "SALTAR: $f"; done {#FSDRIVETYPE} macro no Windows ¨¦ suportada desde o Áú»¢¶Ä²© 3.0.0.Os operadores Exists e not exist permitem filtrar entidades com base na presen?a ou aus¨ºncia da macro LLD especificada na resposta (com suporte desde a vers?o 5.4.0). A defini??o de v¨¢rios filtros ¨¦ compat¨ªvel desde o Áú»¢¶Ä²© 2.4.0. 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 erro ou um erro de digita??o na express?o regular usada na regra LLD (por exemplo, um "sistemas de arquivos para descoberta" incorreto express?o regular) pode causar a exclus?o de milhares de configura??es elementos, valores hist¨®ricos e eventos para muitos anfitri?es.
::: n?o importante O banco de dados Áú»¢¶Ä²© no MySQL deve ser criado como diferencia mai¨²sculas de min¨²sculas se nomes de sistema de arquivos que diferem apenas por mai¨²sculas e min¨²sculas devem ser descoberto corretamente. :::
A guia Substituir permite definir regras para modificar a lista de itens, prot¨®tipos de gatilho, gr¨¢fico e host ou seus atributos para descobertas objetos que atendem a determinados crit¨¦rios.
As substitui??es (se houver) s?o exibidas em uma lista reorden¨¢vel de arrastar e soltar e executados na ordem em que s?o definidos. Para configurar detalhes de uma nova substitui??o, clique em nas Substitui??es bloquear. Para editar uma substitui??o existente, clique no nome da substitui??o. Um pop-up ser¨¢ aberta a janela permitindo editar os detalhes da regra de substitui??o.
Todos os par?metros obrigat¨®rios est?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 - opera??es de ( se houver) e essa substitui??o ser¨¢ executada, as substitui??es subsequentes ser?o ignoradas para 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 a regra de descoberta filtros 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 gatilho/prot¨®tipo de gr¨¢fico/prot¨®tipo de host) e uma condi??o a ser atendida (igual/diferente /cont¨¦m/n?o cont¨¦m/corresponde/n?o corresponde) A??o - s?o exibidos links para editar e remover uma opera??o. |
Configurando uma opera??o
Para configurar detalhes de uma nova opera??o, clique em em Opera??es bloquear. Para editar uma opera??o existente, clique em
ao lado do Opera??o. Uma janela pop-up onde voc¨º pode editar os detalhes da opera??o ser¨¢ abrir.
Par?metro | Descri??o | |||
---|---|---|---|---|
Objeto | Quatro tipos de objetos est?o dispon¨ªveis: Prot¨®tipo de item Prot¨®tipo de gatilho Prot¨®tipo de gr¨¢fico Prot¨®tipo de host |
|||
Condi??o | Permite filtrar entidades ¨¤s quais a opera??o deve ser aplicada. | |||
Operador | Operadores suportados: igual - aplica-se a este prot¨®tipo n?o ¨¦ igual - aplica-se a todos os prot¨®tipos, exceto este cont¨¦m* * - aplicar, se o nome do prot¨®tipo contiver esta string n?o cont¨¦m** - aplicar, se o nome do prot¨®tipo n?o contiver esta string corresponde - aplicar, se o nome do prot¨®tipo corresponder ¨¤ express?o regular<br >n?o corresponde - aplica-se, 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 do item: Sim - o item ser¨¢ adicionado em um estado habilitado. >N?o - o item ser¨¢ adicionado a uma entidade descoberta, mas em um 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 do 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 do 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 ![]() |
|||
Per¨ªodo de armazenamento do hist¨®rico | Quando a caixa de sele??o estiver marcada, os bot?es aparecer?o, permitindo definir diferentes per¨ªodos de armazenamento do hist¨®rico para o item: N?o manter hist¨®rico - se selecionado, o hist¨®rico n?o ser¨¢ armazenado. Per¨ªodo de armazenamento - se selecionado, um campo de entrada para especificar o per¨ªodo de armazenamento aparecer¨¢ ¨¤ direita. Macros de usu¨¢rio e macros LLD s?o suportados. |
|||
Per¨ªodo de armazenamento de tend¨ºncias | Quando a caixa de sele??o estiver marcada, os bot?es aparecer?o, permitindo definir diferentes per¨ªodos de armazenamento de tend¨ºncias para o item: N?o manter tend¨ºncias - se selecionado, as tend¨ºncias n?o ser¨¢ armazenado. Per¨ªodo de armazenamento - se selecionado, um campo de entrada para especificar o per¨ªodo de armazenamento aparecer¨¢ ¨¤ direita. Macros de usu¨¢rio e macros LLD s?o suportados. |
|||
Tags | Quando a caixa de sele??o estiver marcada, um novo bloco aparecer¨¢ |
Os bot?es na parte inferior do formul¨¢rio permitem realizar v¨¢rias opera??es.
![]() |
Adicione uma regra de descoberta. Este bot?o est¨¢ dispon¨ªvel apenas para novas regras de descoberta. |
![]() |
Atualize as propriedades de uma regra de descoberta. Este bot?o est¨¢ dispon¨ªvel apenas para regras de descoberta existentes. |
![]() |
Crie outra regra de descoberta com base nas propriedades da regra de descoberta atual. |
![]() |
Execute a descoberta com base na regra de descoberta imediatamente. A regra de descoberta j¨¢ deve existir. Consulte mais detalhes. Observe que ao realizar 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. |
![]() |
Excluir a regra de descoberta. |
![]() |
Cancelar a edi??o das propriedades da regra de descoberta. |
As capturas de tela abaixo ilustram como os itens descobertos, acionadores e gr¨¢ficos se parecem com a configura??o do host. As entidades descobertas s?o prefixado com um link laranja para uma regra de descoberta de onde eles v¨ºm.
Observe que as entidades descobertas n?o ser?o criadas caso haja entidades j¨¢ existentes com os mesmos crit¨¦rios de exclusividade, por exemplo, um item com a mesma chave ou gr¨¢fico com o mesmo nome. Um erro mensagem ¨¦ exibida neste caso no frontend que o n¨ªvel baixo regra de descoberta n?o p?de criar determinadas entidades. A regra de descoberta em si, no entanto, n?o ficar¨¢ sem suporte porque alguma entidade n?o p?de ser criado e teve que ser ignorado. A regra de descoberta continuar¨¢ criar/atualizar outras entidades.
Itens (da mesma forma, gatilhos e gr¨¢ficos) criados por uma descoberta de baixo n¨ªvel regra ser¨¢ exclu¨ªda automaticamente se uma entidade descoberta (sistema de arquivos, interface, etc) deixa de ser descoberto (ou n?o passa no filtro mais). Neste caso, os itens, gatilhos e gr¨¢ficos ser?o exclu¨ªdos ap¨®s os dias definidos no campo Manter o per¨ªodo de recursos perdidos.
Quando as entidades descobertas se tornam 'N?o mais descobertas', uma vida inteira indicador ¨¦ exibido na lista de itens. Mova o ponteiro do mouse sobre ele e uma mensagem ser¨¢ exibida indicando quantos dias faltam para o item ¨¦ exclu¨ªdo.
Se as entidades foram marcadas para exclus?o, mas n?o foram exclu¨ªdas no tempo esperado (regra de descoberta desabilitada ou host de item), eles ser?o exclu¨ªdo na pr¨®xima vez que a regra de descoberta for processada.
Entidades contendo outras entidades, marcadas para exclus?o, ser?o n?o atualizar se alterado no n¨ªvel da regra de descoberta. Por exemplo, Os acionadores baseados em LLD n?o ser?o atualizados se contiverem itens marcados para exclus?o.
Mais detalhes e instru??es sobre outros tipos de descoberta pronta para uso s?o dispon¨ªvel nas seguintes se??es:
Para obter 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 de LLD personalizadas.
Tamb¨¦m ¨¦ poss¨ªvel criar uma regra LLD totalmente personalizada, descobrindo qualquer tipo de entidade - por exemplo, bancos de dados em um servidor de banco de dados.
Para isso, deve ser criado um item personalizado que retorne JSON, especificando objetos encontrados e, opcionalmente - algumas propriedades deles. A quantidade de macros por entidade n?o ¨¦ limitada - enquanto as regras de descoberta integradas retornar uma ou duas macros (por exemplo, duas para sistema de arquivos descoberta), ¨¦ poss¨ªvel retornar mais.
O formato JSON necess¨¢rio ¨¦ melhor ilustrado com um exemplo. Suponha que n¨®s est?o executando um agente Áú»¢¶Ä²© 1.8 antigo (um que n?o suporta "vfs.fs.discovery"), mas ainda precisamos descobrir sistemas de arquivos. Aqui est¨¢ um script Perl simples para Linux que descobre sistemas de arquivos montados e gera JSON, que inclui o nome e o tipo do sistema de arquivos. Uma maneira de use-o como um UserParameter com a chave "vfs.fs.discovery_perl":
#!/usr/bin/perl
$primeiro = 1;
imprima "[\n";
for (`cat /proc/mounts`)
{
($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
imprima "\t,\n" se n?o for $primeiro;
$primeiro = 0;
imprima "\t{\n";
print "\t\t\"{#FSNAME}\":\"$fsname\",\n";
print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
imprima "\t}\n";
}
imprima "]\n";
::: n?o importante Os s¨ªmbolos permitidos para nomes de macro LLD s?o 0-9 , A-Z , _ , .
Letras min¨²sculas n?o s?o suportadas nos nomes. :::
Um exemplo de sua ²õ²¹¨ª»å²¹ (reformatado para maior clareza) ¨¦ mostrado abaixo. JSON para verifica??es de descoberta personalizadas deve seguir o mesmo formato.
[
{ "{#FSNAME}":"/", "{#FSTYPE}":"rootfs" },
{ "{#FSNAME}":"/sys", "{#FSTYPE}":"sysfs" },
{ "{#FSNAME}":"/proc", "{#FSTYPE}":"proc" },
{ "{#FSNAME}":"/dev", "{#FSTYPE}":"devtmpfs" },
{ "{#FSNAME}":"/dev/pts", "{#FSTYPE}":"devpts" },
{ "{#FSNAME}":"/lib/init/rw", "{#FSTYPE}":"tmpfs" },
{ "{#FSNAME}":"/dev/shm", "{#FSTYPE}":"tmpfs" },
{ "{#FSNAME}":"/home", "{#FSTYPE}":"ext3" },
{ "{#FSNAME}":"/tmp", "{#FSTYPE}":"ext3" },
{ "{#FSNAME}":"/usr", "{#FSTYPE}":"ext3" },
{ "{#FSNAME}":"/var", "{#FSTYPE}":"ext3" },
{ "{#FSNAME}":"/sys/fs/fuse/connections", "{#FSTYPE}":"fusectl" }
]
No exemplo anterior, ¨¦ necess¨¢rio que as chaves correspondam ¨¤ macro LLD nomes usados em prot¨®tipos, a alternativa ¨¦ extrair valores de macro LLD usando JSONPath {#FSNAME}
¡ú $.fsname
e {#FSTYPE}
¡ú $.fstype
, tornando poss¨ªvel tal script:
#!/usr/bin/perl
$primeiro = 1;
imprima "[\n";
for (`cat /proc/mounts`)
{
($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
imprima "\t,\n" se n?o for $primeiro;
$primeiro = 0;
imprima "\t{\n";
print "\t\t\"fsname\":\"$fsname\",\n";
print "\t\t\"fstype\":\"$fstype\"\n";
imprima "\t}\n";
}
imprima "]\n";
Um exemplo de sua ²õ²¹¨ª»å²¹ (reformatado para maior clareza) ¨¦ mostrado abaixo. JSON para verifica??es de descoberta personalizadas deve seguir o mesmo formato.
[
{ "fsname":"/", "fstype":"rootfs" },
{ "fsname":"/sys", "fstype":"sysfs" },
{ "fsname":"/proc", "fstype":"proc" },
{ "fsname":"/dev", "fstype":"devtmpfs" },
{ "fsname":"/dev/pts", "fstype":"devpts" },
{ "fsname":"/lib/init/rw", "fstype":"tmpfs" },
{ "fsname":"/dev/shm", "fstype":"tmpfs" },
{ "fsname":"/home", "fstype":"ext3" },
{ "fsname":"/tmp", "fstype":"ext3" },
{ "fsname":"/usr", "fstype":"ext3"},
{ "fsname":"/var", "fstype":"ext3"},
{ "fsname":"/sys/fs/fuse/connections", "fstype":"fusectl" }
]
Ent?o, no campo "Filtro" da regra de descoberta, podemos especificar "{#FSTYPE}" como macro e "rootfs|ext3" como express?o regular.
Voc¨º n?o precisa usar nomes de macros FSNAME/FSTYPE com LLD, voc¨º ¨¦ livre para usar os nomes que quiser. Caso JSONPath for usado, a linha LLD ser¨¢ um elemento de matriz que pode ser um objeto, mas pode ser tamb¨¦m outro array ou um valor.
Observe que, se estiver usando um par?metro do usu¨¢rio, o valor de retorno ¨¦ limitado a 512 KB. Para obter mais detalhes, consulte limites de dados para retorno de LLD valores.