6 Tagging
Visão geral
As tags consistem em um nome de tag e um valor de tag.
Ao marcar entidades com tags, você pode usar apenas o nome ou combiná-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
- Itens e triggers de template
- Prototypes de host, item e trigger
Consulte as diretrizes oficiais do Zabbix para recomendações gerais sobre a definição de tags, além de orientações específicas para templates, items, triggers e regras de descoberta em baixo nível.
As tags têm várias finalidades, principalmente para marcar events. Quando entidades são marcadas com tags, 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:value (após a resolução de macros) 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 evento;
- condições de ação podem ser configuradas com base em tags de evento;
- problemas de item podem ser agrupados com base em tags de evento;
- tags de problema podem ser usadas para mapear problemas para serviços.
As entidades podem ser marcadas com o mesmo nome de tag, mas com 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 tagging são os seguintes:
-
Marcar eventos de trigger:
- Defina uma tag de trigger (por exemplo,
scope:performance). - Os problemas criados por esse trigger terão a tag de trigger.
- Defina uma tag de trigger (por exemplo,
-
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.
- Defina uma tag de template (por exemplo,
-
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.
- Defina uma tag de host (por exemplo,
-
Filtrar items relacionados:
- Defina uma tag de item (por exemplo,
component:cpu). - Em Monitoring → Latest data, os items podem ser filtrados pela tag
component:cpu.
- Defina uma tag de item (por exemplo,
-
Usar informações extraídas do valor do item como valor da tag:
- Defina uma tag com uma macro como valor da tag (por exemplo,
tag-name:{{ITEM.VALUE<N>}.regsub()}). - Em Monitoring → Problems, os problemas terão o valor da tag resolvido para os dados extraídos do valor do item.
- Defina uma tag com uma macro como valor da tag (por exemplo,
-
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 extrairá valores do valor do item usando uma 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 eventos PROBLEM event generation mode como "Multiple";
- defina OK event closes como "All problems if tag values match";
- 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.
- Defina uma tag de trigger para o trigger do item de monitoramento de log que extrairá valores do valor do item usando uma macro (por exemplo,
-
Filtrar notificações:
- Defina tags de trigger (por exemplo,
scope:securitypara trigger1 escope:availabilitypara trigger2). - Use filtragem por tag nas action conditions para receber notificações apenas nos eventos que correspondem aos dados da tag.
- Defina tags de trigger (por exemplo,
-
Identificar problemas nas notificações:
- Defina tags de trigger.
- Use a macro {EVENT.TAGS} na notificação de problema.
- A notificação de problema conterá as tags de trigger, facilitando identificar a qual aplicação/serviço a notificação pertence.
-
Simplificar tarefas de configuração usando tags de template:
- Defina uma tag de trigger de template.
- Os triggers criados a partir desse trigger de template terão sua tag.
-
Criar triggers com tags a partir de low-level discovery (LLD):
- Defina uma tag de protótipo de trigger com uma macro LLD no nome ou valor da tag (por exemplo,
scope:{#FSNAME}). - Os triggers criados a partir do protótipo de trigger terão sua tag.
- Defina uma tag de protótipo de trigger com uma macro LLD no nome ou valor da tag (por exemplo,
-
Correlacionar serviços usando tags de serviço:
- Defina service tags.
- Configure service actions para serviços com tags correspondentes.
- Além disso, use tags de serviço para vincular um serviço a um SLA para cálculos de SLA.
-
Vincular serviços a problemas usando tags de problema de serviço:
- Defina uma problem tag na configuração do serviço (por exemplo,
target:mysql). - Problemas com uma tag correspondente serão correlacionados automaticamente ao serviço, e o status do serviço mudará com base nas regras configuradas de cálculo do status do serviço.
- Defina uma problem tag na configuração do serviço (por exemplo,
-
Suprimir problemas quando um host estiver em modo de manutenção:
- Defina tags na configuração do período de manutenção.
- Os problemas com as tags definidas serão suprimidos.
-
Conceder acesso a grupos de usuários:
- Defina tags na configuração de grupo de usuários.
- Os usuários do grupo de usuários poderão visualizar apenas os problemas com as tags definidas.
Configuração
As tags podem ser definidas em uma guia dedicada, por exemplo, na configuração do trigger:

Suporte a macros
Macros integradas e macros de usuário em tags são resolvidas no momento do evento. Até que o evento tenha ocorrido, essas macros serão exibidas no Zabbix frontend como não resolvidas.
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:
- macros integradas {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} e {HOST.ID}
- macros integradas {INVENTORY.*} (para referenciar valores de inventário do host em uma ou várias 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 (somente em tags de protótipo de trigger)
As seguintes macros podem ser usadas em nomes e valores de tags de template, host e item/web scenario:
- macros integradas {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} e {HOST.ID}
- macros integradas {INVENTORY.*}
- Macros de usuário
- Macros de descoberta de baixo nível (somente em tags de protótipo de host e item)
As seguintes macros podem ser usadas em notificações baseadas em trigger:
- macros integradas {EVENT.TAGS} e {EVENT.RECOVERY.TAGS} (essas macros serão resolvidas para uma lista separada por vírgulas de tags de evento ou tags de evento de recuperação)
- macros integradas {EVENT.TAGSJSON} e {EVENT.RECOVERY.TAGSJSON} (essas macros serão resolvidas para uma matriz JSON contendo objetos de tag de evento objects 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 function. A função aplica uma expressão regular ao valor obtido pela macro supported. Por exemplo:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
Se o nome da tag ou o valor exceder 255 caracteres após a resolução da macro, ele será truncado para 255 caracteres.
Veja também: Uso de funções de macro em low-level discovery macros para marcação de eventos.
Visualizando tags de evento
As tags, se definidas, podem ser visualizadas com novos eventos em:
- Monitoring → Problems
- Monitoring → Problems → Event details
- Dashboards → Problems widget
A ordem e o número de tags exibidas são determinados pelas opções de filtragem Tag display priority e Show tags em Monitoring → Problems ou no widget Problems do dashboard. 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 mostradas em uma janela pop-up.
