Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

5 Macros de descoberta de baixo nível

Visão geral

Existe um tipo de macro usada dentro da função de descoberta de baixo nível (LLD):

{#MACRO} 

É uma macro que é usada em uma regra LLD e retorna valores reais do nome do sistema de arquivos, interface de rede, OID SNMP, etc.

Essas macros podem ser usadas para criar protótipos de item, trigger, gráfico e regra LLD. Então, ao descobrir sistemas de arquivos reais, interfaces de rede, etc., essas macros são substituídas por valores reais e são a base para a criação de entidades reais.

Essas macros também são usadas na criação de protótipos de host e grupo de hosts na descoberta de máquinas virtuais.

Algumas macros de descoberta de baixo nível vêm "pré-embaladas" com a função LLD no Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. No entanto, seguir esses nomes não é obrigatório ao criar uma regra de descoberta de baixo nível personalizada. Nesse caso, você pode usar qualquer outro nome de macro LLD e referenciar esse nome.

Tipos de dados suportados

Ao definir regras de descoberta personalizadas, os valores das propriedades retornados em objetos JSON para macros LLD devem ser de um dos seguintes tipos primitivos:

  • string;
  • number;
  • boolean.

Arrays, objetos e valores nulos não são suportados. Qualquer macro LLD que se refira a esse tipo de valor permanecerá não expandida e aparecerá literalmente (por exemplo, '{#MY_MACRO}') durante o pré-processamento e a criação do item.

Locais suportados

As macros LLD podem ser usadas:

  • no filtro da regra de descoberta de baixo nível
  • para protótipos de item e protótipos de descoberta em
    • nome
    • parâmetros da chave
    • unidade
    • intervalo de atualização1
    • tempo limite1
    • período de armazenamento do histórico1
    • período de armazenamento de tendências1
    • etapas de pré-processamento do valor do item
    • OID SNMP
    • campo do sensor IPMI
    • expressão de item calculado/agregado, em:
      • constantes de expressão e parâmetros de função
      • parâmetros da chave do item
    • condições de filtro de item agregado (nome do grupo de hosts e nome da tag)
    • script SSH e script Telnet
    • consulta SQL de monitoramento de banco de dados
    • campo endpoint do item JMX
    • descrição
    • campo URL do agente HTTP
    • campo de campos de consulta HTTP do agente HTTP
    • campo de corpo da requisição do agente HTTP
    • campo de códigos de status necessários do agente HTTP
    • chave e valor do campo de cabeçalhos do agente HTTP
    • campo de nome de usuário de autenticação HTTP do agente HTTP
    • campo de senha de autenticação HTTP do agente HTTP
    • campo de proxy HTTP do agente HTTP
    • campo de arquivo de certificado SSL HTTP do agente HTTP
    • campo de arquivo de chave SSL HTTP do agente HTTP
    • campo de senha da chave SSL HTTP do agente HTTP
    • tags
  • para protótipos de trigger em
    • nome
    • dados operacionais
    • expressão (apenas em constantes e parâmetros de função)
    • URL
    • descrição
    • tags
  • para protótipos de gráfico em
    • nome
  • para protótipos de host em
    • nome
    • nome visível
    • campos de interface personalizados: IP, DNS, porta, comunidade SNMP v1/v2, nome de contexto SNMP v3, nome de segurança SNMP v3, senha de autenticação SNMP v3, senha de privacidade SNMP v3
    • nome do protótipo de grupo de hosts
    • valor da tag do host
    • valor da macro do host
    • (veja a lista completa)

Em todos esses locais, exceto no filtro da regra de descoberta de baixo nível, as macros LLD podem ser usadas dentro do contexto de macro de usuário estático.

Usando funções de macro

Funções de macro são suportadas com macros de descoberta de baixo nível (exceto na regra de descoberta de baixo nível filtro), permitindo extrair uma determinada parte do valor da macro usando uma expressão regular.

Por exemplo, você pode querer extrair o nome do cliente e o número da interface da seguinte macro LLD para fins de marcação de eventos:

{#IFALIAS}=customername_1

Para isso, a função de macro regsub pode ser usada com a macro no campo de valor da tag de evento de um protótipo de trigger:

Observe que vírgulas não são permitidas em parâmetros de chave de item não citados, portanto, o parâmetro contendo uma função de macro deve ser citado. O caractere barra invertida (\) deve ser usado para escapar aspas duplas dentro do parâmetro. Exemplo:

net.if.in["{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}",bytes]

Para mais informações sobre a sintaxe de funções de macro, consulte: Funções de macro

Funções de macro são suportadas em macros de descoberta de baixo nível desde o Zabbix 4.0.

Notas de rodapé

1 Nos campos marcados com 1, um único macro deve preencher todo o campo. Vários macros em um campo ou macros misturados com texto não são suportados.