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.

6 Tagging

Visão geral

As tags consistem em um nome de tag e um valor de tag. Ao marcar entidades, você pode usar apenas o nome ou emparelhá-lo com um valor (por exemplo, mysql, jira, target:mysql, service:jira, etc.).

As tags podem ser definidas para várias entidades:

  • Templates
  • Hosts
  • Items
  • Cenários web
  • Triggers
  • Serviços
  • Items e triggers de template
  • Protótipos de host, item e trigger

Consulte as diretrizes oficiais do Zabbix para recomendações gerais sobre a definição de tags, juntamente com orientações específicas para templates, items, triggers e regras de descoberta de baixo nível.

As tags têm vários propósitos, principalmente marcar eventos. Quando as entidades são marcadas, qualquer novo evento relacionado a uma entidade marcada herdará suas tags. Por exemplo:

  • com templates marcados - qualquer problema de host (criado por triggers do template) herdará as tags do template;
  • com hosts marcados - qualquer problema de host herdará as tags do host;
  • com items/cenários web marcados - qualquer problema de item/cenário web herdará as tags do item/cenário web;
  • com triggers marcados - qualquer problema criado pelo trigger herdará as tags do trigger.

Um evento de problema herda todas as tags de toda a cadeia de entidades - templates, hosts, items/cenários web, triggers. Combinações idênticas de tag:valor (após macros resolvidas) são mescladas em uma só, evitando assim duplicação.

Tags de evento personalizadas oferecem mais flexibilidade. Por exemplo:

  • correlação de eventos pode ser configurada com base em tags de eventos;
  • condições de ação podem ser configuradas com base em tags de eventos;
  • problemas de item podem ser agrupados com base em tags de eventos;
  • tags de problema podem ser usadas para mapear problemas para serviços.

As entidades podem ser marcadas com o mesmo nome de tag, mas valores de tag diferentes (por exemplo, component:memory e component:storage). Da mesma forma, uma entidade pode ter uma tag sem valor e a mesma tag com um valor (por exemplo, database e database:postgresql). Essas tags não são consideradas duplicadas.

Casos de uso

Alguns casos de uso comuns para a utilização de tags são os seguintes:

  1. Marcar eventos de trigger:
    • Defina uma tag de trigger (por exemplo, scope:performance).
    • Os problemas criados por essa trigger terão a tag de trigger.
  2. Marcar problemas herdados de template:
    • Defina uma tag de template (por exemplo, target:mysql).
    • Os problemas criados por triggers desse template terão a tag de template.
  3. Marcar problemas de host:
    • Defina uma tag de host (por exemplo, service:jira).
    • Os problemas criados por triggers desse host terão a tag de host.
  4. Filtrar items relacionados:
    • Defina uma tag de item (por exemplo, component:cpu).
    • Em MonitoramentoÚltimos dados, os items podem ser filtrados pela tag component:cpu.
  5. Usar informações extraídas do valor do item como valor da tag:
    • Defina uma tag com um macro como valor da tag (por exemplo, tag-name:{{ITEM.VALUE<N>}.regsub()} ).
    • Em MonitoramentoProblemas, os problemas terão o valor da tag resolvido para os dados extraídos do valor do item.
  6. Identificar problemas em um arquivo de log e fechá-los separadamente:
    • Defina uma tag de trigger para o trigger do item de monitoramento de log que irá extrair valores do valor do item usando um macro (por exemplo, service:{{ITEM.VALUE<N>}.regsub()} ).
    • Na configuração do trigger, configure a correlação de eventos:
      • defina o Modo de geração de evento PROBLEM como "Múltiplos";
      • defina Evento OK fecha como "Todos os problemas se os valores das tags coincidirem";
      • defina a tag para correspondência.
    • Os problemas criados pelo trigger do item de log terão a tag de trigger e serão fechados individualmente.
  7. Filtrar notificações:
    • Defina tags de trigger (por exemplo, scope:security para trigger1 e scope:availability para trigger2).
    • Use o filtro de tags nas condições de ação para receber notificações apenas nos eventos que coincidirem com os dados da tag.
  8. Identificar problemas nas notificações:
    • Defina tags de trigger.
    • Use o macro {EVENT.TAGS} na notificação de problema.
    • A notificação de problema conterá as tags de trigger, facilitando a identificação de qual aplicação/serviço a notificação pertence.
  9. Simplificar tarefas de configuração usando tags de template:
    • Defina uma tag de trigger de template.
    • Triggers criadas a partir desse trigger de template terão sua tag.
  10. Criar triggers com tags a partir de low-level discovery (LLD):
    • Defina uma tag de protótipo de trigger com um macro LLD no nome ou valor da tag (por exemplo, scope:{#FSNAME}).
    • Triggers criadas a partir do protótipo de trigger terão sua tag.
  11. Corresponder serviços usando tags de serviço:
  12. Vincular serviços a problemas usando tags de problema de serviço:
    • Defina uma tag de problema na configuração do serviço (por exemplo, target:mysql).
    • Problemas com uma tag correspondente serão automaticamente correlacionados ao serviço, e o status do serviço mudará com base nas regras de cálculo de status do serviço configuradas.
  13. Suprimir problemas quando um host estiver em modo de manutenção:
  14. Conceder acesso a grupos de usuários:

Configuração

As tags podem ser definidas em uma guia dedicada, por exemplo, na configuração do trigger:

Suporte a macros

Macros internas e macros de usuário em tags são resolvidas no momento do evento. Até que o evento ocorra, essas macros serão exibidas não resolvidas no frontend do Zabbix.

Macros de descoberta de baixo nível são resolvidas durante o processo de descoberta.

As seguintes macros podem ser usadas em nomes e valores de tags de trigger:

  • {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} e {HOST.ID} macros internas
  • {INVENTORY.*} macros internas (para referenciar valores de inventário de host de um ou vários hosts em uma expressão de trigger)
  • Macros de usuário e macros de usuário com contexto (o contexto pode incluir macros de descoberta de baixo nível)
  • Macros de descoberta de baixo nível (apenas em tags de protótipo de trigger)

As seguintes macros podem ser usadas em nomes e valores de tags de template, host e item/cenário web:

  • {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} e {HOST.ID} macros internas
  • {INVENTORY.*} macros internas
  • Macros de usuário
  • Macros de descoberta de baixo nível (apenas em tags de protótipo de host e item)

As seguintes macros podem ser usadas em notificações baseadas em trigger:

  • {EVENT.TAGS} e {EVENT.RECOVERY.TAGS} macros internas (essas macros serão resolvidas para uma lista separada por vírgulas de tags de evento ou tags de evento de recuperação)
  • {EVENT.TAGSJSON} e {EVENT.RECOVERY.TAGSJSON} macros internas (essas macros serão resolvidas para um array JSON contendo objetos de tag de evento ou objetos de tag de evento de recuperação)
Extração de substring em tags de trigger

A extração de substring é suportada para preencher o nome da tag ou o valor da tag, usando uma macro função. A função aplica uma expressão regular ao valor obtido pela macro suportada. Por exemplo:

{{ITEM.VALUE}.regsub(padrão, saída)}
       {{ITEM.VALUE}.iregsub(padrão, saída)}
       
       {{#LLDMACRO}.regsub(padrão, saída)}
       {{#LLDMACRO}.iregsub(padrão, saída)}

Se o nome ou valor da tag exceder 255 caracteres após a resolução da macro, ele será truncado para 255 caracteres.

Veja também: Usando funções de macro em macros de descoberta de baixo nível para marcação de eventos.

Visualizando tags de eventos

As tags, se definidas, podem ser visualizadas com novos eventos em:

A ordem e o número de tags exibidas são determinados pelas opções de filtragem Prioridade de exibição da tag e Exibir tags em MonitoramentoProblemas ou no widget de dashboard Problemas. Observe que no máximo três tags podem ser exibidas; se houver mais tags, ao passar o mouse sobre os três pontos, todas as tags serão exibidas em uma janela pop-up.