|
|
||
|---|---|---|
| .gemini | ||
| deploy_package | ||
| templates_gold | ||
| .gitignore | ||
| README.md | ||
| build_windows_gold.py | ||
| clean_hosts_export.py | ||
| debug_macros.py | ||
| export_hosts_zabbix.py | ||
| export_templates.py | ||
| extract_nginx_config.py | ||
| find_regexp.py | ||
| fix_ad_uuids.py | ||
| fix_broken_yaml.py | ||
| fix_uuids.py | ||
| generate_template_docs.py | ||
| get_group_uuid.py | ||
| merge_exchange.py | ||
| merge_nginx_templates.py | ||
| regen_all.py | ||
| regen_uuids.py | ||
| repair_yaml_indentation.py | ||
| simple_fix_yaml.py | ||
| sync_zabbix_uuids.py | ||
| template_nginx_custom_extracted.yaml | ||
| translate_windows_template.py | ||
| validate_zabbix_template.py | ||
| zabbix-itguys.code-workspace | ||
| zbx_export_hosts.yaml | ||
README.md
🛡️ Zabbix ITGuys - Gold Collection
Repositório Oficial de Ferramentas e Templates de Monitoramento de Alta Performance.
"Um alerta sem contexto é apenas ruído. Um alerta com solução é uma ferramenta." — Arthur "O Farol" Mendes
Este repositório contém a suíte de ferramentas e templates "Gold Standard" desenvolvida pela ITGuys para elevar o nível da observabilidade Zabbix. Aqui focamos em inteligência acionável, não apenas em coleta de dados.
🏆 O Padrão Arthur (Gold Standard)
Todo recurso neste repositório segue rigorosos critérios de qualidade:
- 🇧🇷 Localização Total: Tudo o que o operador vê (Items, Triggers, Graphs) está em Português do Brasil (PT-BR), claro e profissional.
- 🧠 Inteligência Acionável: Alertas explicam o motivo, o impacto e a solução.
- 🔮 Preditividade: Uso de funções como
timeleft()e detecção de anomalias para prevenir incidentes antes que ocorram. - ✅ Integridade Técnica: UUIDs v4 válidos, sem dependências quebradas e sintaxe YAML impecável.
🧰 Ferramentas (Toolchain)
Scripts em Python desenvolvidos para garantir a integridade e qualidade dos templates.
1. validate_zabbix_template.py (The Gatekeeper)
O validador definitivo para templates Zabbix (YAML).
- Verifica: Sintaxe YAML, Duplicidade de UUIDs, Referências quebradas (Gráficos -> Itens, Dashboards -> Gráficos).
- Garante: Conformidade estrita com o padrão UUIDv4.
- Audita: Descrições em inglês (aviso) para garantir a tradução.
Uso:
python validate_zabbix_template.py templates_gold/template_app_pfsense_snmp.yaml
2. fix_uuids.py
Utilitário para correção em massa e higienização de templates.
- Remove metadados sujos de versões instáveis (Zabbix 8.0).
- Regenera UUIDs inválidos mantendo a consistência.
3. merge_exchange.py
Ferramenta para fundir o melhor de dois mundos: templates oficiais da Zabbix com customizações "Gold" da comunidade.
📂 Estrutura do Repositório
/templates_gold: Templates prontos para produção, validados e traduzidos.- Exemplo:
template_app_pfsense_snmp.yaml(Monitoramento completo de pfSense via SNMP com análises de segurança e preditivas).
- Exemplo:
/community-templates: Fonte upstream de templates diversos./deploy_package: Scripts e arquivos para deploy automatizado de agentes e proxies.
📢 Criação e Definição de Salas (Telegram)
Para evitar a fadiga de alertas e garantir que problemas críticos sejam tratados imediatamente, utilizamos uma estrutura de grupos segmentada por Severidade e Função.
A Regra de Ouro do MSP (Multi-Cliente)
Como atendemos múltiplos clientes, não criamos um grupo por cliente. Centralizamos por função e usamos Tags no início da mensagem.
Exemplo:
🔥 [Coca-Cola] Oracle Downou🐘 [Pepsi] Deadlock detectado
📋 Tabela de Grupos e Mídias
| Canal (Grupo Telegram) | Chat ID | Nível de Severidade / Uso | Objetivo | Retenção Sugerida |
|---|---|---|---|---|
| 🌐 iT Guys - Alertas Queda de Link | -1002788825367 |
🚨 Disaster (Network only) | EXCLUSIVO para quedas de link do Datacenter (Redundância). | Eterna |
| 🔥 iT Guys - Alertas Criticos | -1002109756180 |
🚨 Disaster (Action Required) | Focado em "VOCÊ TEM QUE FAZER ALGUMA COISA AGORA". Incidentes que exigem intervenção humana imediata. Zero ruído. | Eterna |
| 🔒 iT Guys - Alertas de Segurança | Pendente | 🚨 High, 🔥 Warning (SecOps) | Tentativas de invasão, Brute-force RDP/SSH, falhas de login excessivas, portas suspeitas. | Eterna |
| 🐘 iT Guys - Alertas Banco de Dados | Pendente | ⚠️ Warning, 🔥 High (DBA) | Deadlocks, Queries Lentas, Conexões. Centraliza problemas de DB de todos os clientes. | 90 Dias |
| 💾 iT Guys - Alertas Storage | Pendente | ⚠️ Warning, 🔥 High (Storage) | Tudo sobre Storage e Discos. Pode conter avisos preventivos, mas é o único lugar para assuntos de armazenamento. | 90 Dias |
| ♻️ iT Guys - Alertas Backups | -1002390490763 |
ℹ️ Info, ⚠️ Warning (Backup Jobs) | Exclusivo para jobs e processos de backup (Sucesso/Falha). Ignora status do host (UP/DOWN). | 90 Dias |
| 👾 iT Guys - Gitea Gerencial | -4557333759 |
⚠️ Warning (KPIs/Management) | Focado em Gestão e Prazos. Projetos atrasados, ausência de commits por 7+ dias. (Nada de "push" logs). | 30 Dias |
| 🔨 iT Guys - Gitea Operacional | -4561812933 |
ℹ️ Info (DevOps) | Logs técnicos, Commits, Pushes e Merges do dia a dia. | 30 Dias |
| 🃏 iT Guys - Ronald Santoro (Eventos) | -1002285824936 |
ℹ️ Info, ⚠️ Warning (Default) | Curinga (Wildcard). Se o alerta não se enquadra nas categorias acima, ele cai aqui. | 30 Dias |
🎣 Configuração de Webhooks (Gitea)
Para garantir a eficiência dos canais acima, configure os webhooks do Gitea da seguinte forma:
1. 👾 iT Guys - Gitea Gerencial
Foco: Gestão de Projetos, Prazos e Entregas (Releases/PRs).
- Repositório (Criado/Excluído)
- Versão (Publicada/Atualizada)
- Pull Request (Apenas Abertura/Fechamento/Merge)
- Issues (Abertura/Fechamento - Sem comentários)
- Pacote (Publicado)
2. 🔨 iT Guys - Gitea Operacional
Foco: Atividade de Código, Logs de Desenvolvimento e Code Review.
- Push (Commits)
- Criar (Branch/Tag)
- Excluir (Branch/Tag)
- Fork
- Comentário da issue (Discussões técnicas)
- Comentário no Pull Request (Code Review)
- Pull Request Review Requested
- Pull Request Sincronizado
- Wiki (Edições)
🔑 Credenciais de Bots (API Keys)
⚠️ CUIDADO: Estas chaves dão acesso de escrita aos grupos.
- Bot Queda de Link (Uso exclusivo):
7720380254:AAFwcs3g5S3q3tAQwAkYGQ2_kM582IAnt8A - Bot Críticos (Action Required):
7186495928:AAHb4H_p02tjXpcNZlkq0KGXCUnoejBTuck - Bot Backups (Jobs e Rotinas):
7302893904:AAG5Bk2h76X6Yshb-mlOv568qBMMNw8cQvM - Bot Gitea (Gerencial):
7491383156:AAHaDxmhRlpElljs48R0Wvliy2qtUVB9ZIk - Bot Ronald Santoro (Curinga):
6964501334:AAHjQ4q5CcohGvyhvg5aEscc8XcCWyxIeqA
💡 Dica: Para descobrir o
Chat IDde um grupo, adicione o bot@RawDataBotao grupo, copie o ID negativo (ex:-100123456789) e depois remova o bot.
⚙️ Configuração Zabbix 7.0 (The Gold Way)
Utilizamos a estratégia de Roteamento via Ações (Action-Based Routing). Neste modelo, o Media Type é apenas o "cano" e a Action é o "cérebro" que escolhe qual cano usar.
1. Media Types (Canais)
Como cada bot tem um Token único, precisamos de um Media Type para cada um.
- Vá em Alertas > Tipos de Mídias.
- Clone o tipo
Telegrampadrão. - Renomeie para:
Telegram_[Nome_Do_Canal](ex:Telegram_Criticos). - Token: Insira o Token do bot específico na variável
api_token.
2. Usuário de Serviço (itguys)
Não crie um usuário para cada bot. Use um usuário central (ex: itguys).
- Vá em Alertas > Mídia do usuário
itguys. - Adicione TODOS os Media Types criados no passo anterior.
- Não use filtros de severidade aqui. Deixe
1-7,00:00-24:00; N I A M A D(tudo habilitado).
3. Actions (O Cérebro)
Aqui definimos quem recebe o quê. Para cada canal, crie uma Action separada.
Passo a Passo na Interface:
- Ação: Dê um nome claro (ex:
📢 Dispatch: Críticos). - Condições: Defina as regras (Tag ou Severidade).
- Operações: Adicione uma operação de envio.
- Enviar para usuários: Selecione
itguys(ouZabbix administrators). - Send to media type: Selecione APENAS o Media Type específico daquele canal (ex:
Telegram_Criticos).
- Enviar para usuários: Selecione
Matriz de Ações Recomendada:
| Nome da Action | Aba: Condições (A) | Aba: Operações (B) -> Send directly to media type |
|---|---|---|
| 📢 Dispatch: Link | Tag target igual a network_wan |
Telegram_Link |
| 📢 Dispatch: Segurança | Tag class igual a security |
Telegram_Sec |
| 📢 Dispatch: Banco/Dados | Tag class igual a database |
Telegram_Dados |
| 📢 Dispatch: Storage | Tag class igual a storage |
Telegram_Storage |
| 📢 Dispatch: Backups | Tag class igual a backup |
Telegram_Backup |
| 📢 Dispatch: Críticos | Severidade maior ou igual a Média |
Telegram_Criticos |
| 📢 Dispatch: Geral | (Sem condições específicas) | Telegram (Padrão/Ronald) |
✨ Como Contribuir
- Valide sempre: Antes de commitar qualquer template, execute o
validate_zabbix_template.py. - Traduza: Não deixe termos como "Incoming Traffic" ou "Discarded packets". Use "Tráfego de Entrada" e "Pacotes Descartados".
- Contextualize: Na descrição da trigger, explique o que fazer se o alerta disparar.
Mantido pela equipe de SRE da ITGuys.