Monitoramento Moderno de APIs com Zabbix + FastAPI + Docker (Projeto Completo)
Nos últimos dias desenvolvi um projeto que une observabilidade, Cloud, Python e monitoramento inteligente, simulando na prática o monitoramento de uma API em tempo real.
Este projeto foi criado do zero, usando FastAPI, Docker, PostgreSQL e o poderoso Zabbix, amplamente utilizado em empresas para monitorar infraestrutura, serviços críticos e APIs de alta disponibilidade.
Neste artigo, compartilho todo o processo, arquitetura, soluções encontradas e resultados.
Objetivo do Projeto
Criar uma API simples, gerar métricas dinâmicas e monitorá-las em tempo real usando o Zabbix, configurando:
✔ Coleta via HTTP
✔ Dashboard em tempo real
✔ Triggers inteligentes
✔ Alertas de falha
✔ Métricas automatizadas (CPU, latência, timestamp e versão)
✔ Simulação de API real em ambiente Docker
Esse tipo de projeto demonstra habilidades importantes para vagas como:
- Analista de Monitoramento
- Cloud Support
- DevOps Jr
- SRE Jr
- Analista de Observabilidade
- Infraestrutura
Arquitetura do Sistema
A arquitetura final ficou assim:
FastAPI → Zabbix Server → Dashboard e Alertas
↑
|
PostgreSQL (DB do Zabbix)
Tudo rodando via Docker, garantindo isolamento e facilidade para deploy.
1. Construção da API (FastAPI)
A API foi criada simulando uma aplicação real, retornando métricas aleatórias:
- latência
- uso de CPU
- versão do sistema
- timestamp
- status health
Endpoint /metrics retornando JSON:
{
"latency_ms": 67,
"cpu_usage": 8,
"version": "1.0.0",
"timestamp": 1764718910.9
}
E o endpoint /health validando se a API está UP ou DOWN.
2. Docker + Docker Compose
Todo o ambiente de monitoramento foi containerizado:
- PostgreSQL
- Zabbix Server
- Zabbix Frontend
- API FastAPI
Com apenas:
docker compose up -d
O ambiente inteiro sobe pronto para uso.
Para o Zabbix Frontend, usei acesso via porta 8080.
3. Configuração do Zabbix
Criei um Host dedicado:
Nome: API Cloud Jailson
Interface: HTTP Agent
URL: /metrics
Itens monitorados:
MétricaTipoOrigemHealthHTTP/healthLatênciaDependent itemfrom metricsCPUDependent itemfrom metricsTimestampDependent itemfrom metricsVersãoDependent itemfrom metrics
Utilizei Preprocessing → JSONPath para extrair os valores da API.
4. Triggers (Alertas Inteligentes)
Configurei triggers reais que simulam falhas de uma API em produção.
⚠ Latência Alta
last(/servidor/api.latency) > 500
🔥 CPU Alta
last(/servidor/api.cpu) > 80
❌ API Offline
last(/servidor/api.health) = 0
🧊 Timestamp congelado (API travada)
now() - last(/servidor/api.timestamp) > 120
🧩 Versão incorreta
last(/servidor/api.version) <> 1
Essas triggers acionam alertas no painel de problemas do Zabbix.
5. Dashboard Moderno
O Dashboard final mostra:
- Status da API (UP/DOWN)
- Latência por segundo
- CPU em tempo real
- Timestamp atualizado
- Relógio do sistema
Além disso, gráfico histórico mostrando tendências.
O resultado ficou visualmente limpo, profissional e excelente para análise.
6. Testes e Simulação de Falhas
Para validar alertas, simulei falhas alterando a API manualmente:
- latência exagerada
- CPU forçada em 100%
- timestamp congelado
- versão errada
- API derrubada
Todos os alertas foram automaticamente detectados pelo Zabbix, confirmando que a configuração estava correta e funcional.
Conclusão
Este projeto entrega:
✔ Um ambiente completo de monitoramento
✔ API real simulada
✔ Dashboards profissionais
✔ Alertas avançados
✔ Dockerização total
✔ MAPEAMENTO COMPLETO de problemas
É um projeto ideal para demonstrar conhecimento em:
- Monitoramento inteligente
- Cloud e containers
- Observabilidade
- DevOps
- Integração de APIs com Zabbix
Se você trabalha com Cloud, Monitoramento ou quer entrar na área de SRE/DevOps, vale muito a pena replicar este projeto!
Github : https://github.com/JailsonsouzaStarCityCorp/Monitoramento-de-API-em-Tempo-Real-Zabbix-FastAPI-Docker



