CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Zabbix · Configuração

Hosts, templates, macros e tags

Modele identidade, grupos, templates, macros e tags para manter consistência e automação em escala.

zabbix://hosts-templates
$ branch: 7.4
$ topic: Hosts, templates, macros e tags
$ mode: production
$ method: evidence-first_
Host Identidade do alvo monitorado.
Host group Organização e escopo administrativo.
Template Configuração reutilizável e herdável.
Macro Parâmetro configurável da monitoração.
Tag Contexto semântico para dados e eventos.
01 · Modelo mental

Não use uma ferramenta para resolver cinco problemas

Uma configuração sustentável começa separando responsabilidades. O host representa o alvo; o grupo organiza e participa do controle administrativo; o template define comportamento reutilizável; a macro parametriza esse comportamento; e a tag acrescenta contexto que pode acompanhar métricas e eventos.

ALVO REAL
   │
   ▼
HOST ─────────────── identidade, interfaces, inventário
 │
 ├── HOST GROUP ─── organização / permissões / seleção
 │
 ├── TEMPLATE ───── itens, triggers, LLD, gráficos, dashboards...
 │       │
 │       └── MACROS ─ parâmetros e thresholds
 │
 └── TAGS ───────── contexto operacional e semântico
Princípio CircuitoCarioca Se uma informação muda frequentemente ou precisa ser usada para filtrar incidentes, provavelmente ela não deveria estar codificada no nome do host.
02 · Host

O host é identidade, não documentação inteira

Um host pode possuir interfaces de Agent, SNMP, JMX e IPMI, ser associado a templates, macros, tags, inventário e proxy. O nome técnico deve ser estável e previsível.

Bom
rtr-rj-centro-01
sw-rj-pop01-02
olt-rj-marica-01
Identidade curta, estável e pesquisável.
Evite
ROTEADOR-CLARO-1GB-CENTRO-CRITICO
SWITCH_CLIENTE_X_OPERADORA_Y...
Operadora, capacidade, criticidade e cliente podem mudar.
03 · Host groups

Grupo não deve virar banco de metadados

Use grupos para organização, seleção em massa e escopo administrativo. Não crie uma explosão combinatória de grupos para representar toda característica possível do ativo.

Network
├── Core
├── Distribution
├── Access
└── OLT

Servers
├── Linux
└── Windows

Sites
├── RJ
└── SP

Operadora, serviço, circuito, criticidade e função podem ser melhores como tags quando precisam participar de filtros, ações, correlação ou Services.

04 · Templates

Template é uma unidade de comportamento reutilizável

Templates podem entregar itens, triggers, gráficos, regras LLD, web scenarios e dashboards aos hosts. Templates também podem vincular outros templates, criando herança. Isso permite construir blocos menores e reutilizáveis em vez de duplicar configurações.

Perfil: Switch de acesso
│
├── ICMP ping
├── Interfaces by SNMP
└── Fabricante/modelo by SNMP
       ├── CPU
       ├── memória
       ├── temperatura
       ├── fontes
       └── sensores específicos

A própria guideline oficial recomenda modularidade: um template deve representar um recurso ou conjunto inseparável de recursos; quando vários módulos precisam andar juntos, um template de perfil/meta pode agregá-los.

05 · Naming de templates

O nome deve dizer o alvo e o método de coleta

Nas guidelines atuais, o Zabbix não exige o prefixo “Template” nos nomes modernos. Quando útil, o método principal de coleta aparece como sufixo.

Preferível Evite Motivo
Cisco IOS by SNMPTemplate SNMP Cisco IOSAlvo primeiro, método depois.
Linux by Zabbix agentTemplate OS Linux AgentPadrão legível e previsível.
Nginx by HTTPHTTP Template NGINXEvita prefixos redundantes.
06 · User macros

Transforme diferenças em parâmetros, não em cópias

User macros usam a sintaxe {$MACRO} e podem existir globalmente, em templates ou hosts. Elas são ideais para thresholds, portas, URLs, communities, tokens e outros parâmetros que variam sem mudar a lógica do template.

{$NET.IF.UTIL.MAX.WARN}=80
{$NET.IF.ERRORS.MAX.WARN}=10
{$SNMP.COMMUNITY}=valor-definido-no-host
{$API.URL}=https://exemplo.local/api

Precedência real

1. Host
2. Templates diretamente vinculados ao host
3. Templates do próximo nível de herança
4. Próximos níveis...
5. Macro global
Armadilha pouco óbvia Se templates do mesmo nível definirem a mesma macro, a escolha é feita pela ordem de ID do template. Isso cria uma dependência difícil de enxergar. Evite colisões usando namespaces específicos.
07 · Macro context

Um threshold diferente sem duplicar a trigger

Context macros permitem que a mesma macro tenha valores diferentes conforme uma entidade descoberta. Isso é especialmente poderoso com LLD.

{$IF.UTIL.MAX.WARN}=80
{$IF.UTIL.MAX.WARN:"ether1"}=95
{$IF.UTIL.MAX.WARN:"uplink-core"}=70

# Também pode existir contexto por expressão regular:
{$IF.UTIL.MAX.WARN:regex:"^uplink-.*"}=70

Evite criar contextos simples e regex que possam corresponder simultaneamente ao mesmo valor: a documentação alerta para comportamento indefinido quando múltiplos contextos regex casam com a mesma string.

08 · Segredos

Secret text não é sinônimo de segredo inalcançável

Macros aceitam Text, Secret text e Vault secret. Secret text mascara o valor na interface; Vault secret referencia um gerenciador externo suportado. Porém, o Server precisa resolver o valor para usá-lo: um segredo mal empregado pode ser exposto por um item/script que o devolva como dado.

Text Parâmetros não sensíveis e thresholds.
Secret text Valor mascarado após salvar; não pode ser simplesmente visualizado novamente.
Vault secret Referência a segredo externo, como HashiCorp ou CyberArk.
09 · Tags

Tags são parte do modelo de dados operacional

Tags podem existir em templates, hosts, itens, web scenarios, triggers, Services e protótipos. Eventos podem receber tags ao longo dessa cadeia. Por isso, uma taxonomia bem desenhada afeta filtragem, Actions, correlação, Services e análise de incidentes.

Tag Exemplo Pergunta respondida
classnetworkQue classe de alvo é esta?
targetciscoQual produto/fabricante o template representa?
siterj-centroOnde está o host?
serviceinternetQual serviço depende dele?
carrieroperadora-aQual operadora está associada?
scopeavailabilityQue natureza de problema a trigger representa?
componentnetworkQue componente a métrica representa?
10 · Taxonomia autoral

Um modelo de tags para infraestrutura heterogênea

Abaixo está uma proposta operacional — não uma exigência do Zabbix. Ela separa características do ativo, localização, serviço e incidente para evitar tags sem semântica consistente.

# Identidade técnica
class=network
vendor=cisco
role=edge-router

# Localização
region=rj
site=centro
pop=pop-01

# Negócio/serviço
service=internet
carrier=operadora-a
criticality=high

# Contexto de evento/trigger
scope=availability
component=network

Escolha uma grafia e mantenha-a. carrier, operadora e isp usados simultaneamente para a mesma dimensão criam três taxonomias diferentes.

11 · Padrão oficial x padrão local

Não confunda guideline de template público com CMDB interna

As guidelines oficiais sugerem tags como class e target para templates, component para itens e scope para triggers. Uma empresa pode adicionar tags operacionais próprias — site, carrier, tenant, owner, service — desde que a taxonomia seja documentada e consistente. O objetivo não é copiar cegamente um padrão; é manter interoperabilidade sem perder o contexto necessário à operação.

12 · Arquitetura recomendada

Base → recurso → fabricante → perfil

ICMP ping
      │
Interfaces by SNMP
      │
      ├──────────── Cisco IOS by SNMP
      │
      ├──────────── Huawei switch by SNMP
      │
      └──────────── Datacom switch by SNMP

Perfil / Meta template (quando fizer sentido)
      │
      ├── ICMP ping
      ├── Interfaces by SNMP
      └── recurso específico

O perfil/meta template é útil quando um conjunto de módulos deve ser aplicado repetidamente como uma unidade. Evite criar dependências artificiais entre tecnologias que podem evoluir separadamente.

13 · Anti-patterns

Configurações que funcionam hoje e cobram a conta depois

Template por host Copiar um template para cada equipamento destrói reutilização e torna correções repetitivas.
Macro global para tudo Global parece conveniente, mas aumenta acoplamento e pode provocar atualização incremental para todos os hosts quando alterada.
Mesma macro em templates irmãos A resolução por ID transforma a configuração em dependência implícita.
Senha em macro Text Credencial operacional não deve ficar exposta como texto comum.
Grupo para cada atributo Grupos combinatórios ficam difíceis de administrar; use tags para dimensões semânticas.
Template gigante Misturar ICMP, SO, banco, aplicação, hardware e regras locais reduz portabilidade e aumenta efeito colateral.
Unlink and clear sem entender Essa opção remove entidades herdadas; não é equivalente a simplesmente desvincular.
Customizar oficial diretamente Atualizações futuras ficam difíceis de comparar; prefira extensão/override bem documentado quando possível.
14 · Escala

O que muda de 10 para 1.000 hosts?

Dimensão 10 hosts 100 hosts 1.000+ hosts
NamingConvenção útilObrigatóriaAutomatizável/validável
TemplatesReusoModularidadeGovernança/versionamento
MacrosConveniênciaPadronizaçãoNamespace e automação
TagsFiltroCorrelação/ActionsModelo operacional
CadastroManual possívelImport/API útilAutomação praticamente necessária
MudançasPontuaisImpacto coletivoTeste + versionamento + rollout
15 · Exportação e versionamento

Template próprio deve ser tratado como código

O frontend permite exportar templates em YAML, XML ou JSON; YAML é uma escolha prática para versionamento. Guarde o template junto de um README que documente dependências, macros, versão do Zabbix testada, alterações e procedimento de implantação.

templates/
└── network/
    └── meu-switch-by-snmp/
        ├── README.md
        ├── CHANGELOG.md
        └── template_meu_switch_by_snmp.yaml
Importante Secret macro values não devem ser tratados como conteúdo exportável/versionável. O repositório deve conter a estrutura e documentação, não credenciais reais.
16 · Laboratório

Criando um modelo reutilizável de rede

O objetivo é monitorar vários switches sem copiar configuração por equipamento.

1. Base Crie ou reutilize um template de ICMP para disponibilidade básica.
2. SNMP Vincule um módulo/template de interfaces SNMP compatível.
3. Vendor Adicione o template específico do fabricante/modelo.
4. Macros Defina defaults no template e sobrescreva apenas exceções no host.
5. Tags Aplique class/target no template e site/service/carrier no host conforme a taxonomia local.
6. Validação Confirme Latest data, entidades herdadas, macros resolvidas e problemas gerados.

Resultado esperado

Host: sw-rj-pop01-01

Templates:
  ICMP ping
  Interfaces by SNMP
  Vendor/modelo by SNMP

Host tags:
  region=rj
  site=pop-01
  role=access-switch
  service=network-access

Host macros:
  somente valores que diferem do default do template
17 · Tabela de decisão

Onde colocar cada informação?

Informação Local preferencial Exemplo
Identidade estávelHost namesw-rj-pop01-01
Organização administrativaHost groupNetwork/Access
Lógica reutilizávelTemplateInterfaces by SNMP
Threshold configurávelMacro{$IF.UTIL.MAX.WARN}
Localização/operadora/serviçoHost tagsite=pop-01
Natureza do incidenteTrigger tagscope=availability
Tipo da métricaItem tagcomponent=network
Número de patrimônio/serialInventorySerial number
Senha/tokenSecret/Vault macro{$API.TOKEN}
18 · Checklist de produção

Antes de liberar um novo padrão

✓ Naming documentado e consistente
✓ Template representa um recurso coerente
✓ Macros possuem namespace e descrição
✓ Defaults funcionam sem tuning excessivo
✓ Secrets não estão em texto comum
✓ Tags possuem taxonomia definida
✓ Não há colisão de macros entre templates irmãos
✓ Herança foi validada no frontend
✓ Unlink/clear foi compreendido antes de alterações
✓ Template exportado e versionado
✓ README informa dependências e requisitos
✓ Teste realizado em poucos hosts antes de rollout
19 · Referências técnicas

Base factual desta página

Conteúdo desenvolvido a partir da documentação e das guidelines oficiais do Zabbix 7.4 sobre hosts, templates, linking/unlinking, user macros, macro context, secret macros, tagging e template guidelines. A arquitetura, taxonomia operacional, exemplos e recomendações de organização desta página são uma síntese editorial própria para aplicação prática.

PRÓXIMA PÁGINA

Itens e pré-processamento

Com a arquitetura de configuração definida, o próximo passo é entender como o dado entra, é transformado, validado, descartado e armazenado.

Continuar →
Atualização editorial 2026

Linha Zabbix 7.4

O Host Wizard do 7.4 simplifica onboarding e depende de templates atualizados. Preserve templates como código/versionados quando a operação exigir rastreabilidade.

Recursos e limites sensíveis à versão devem ser confirmados contra o patch exato instalado antes de mudanças em produção.