image

Acesse bootcamps ilimitados e +650 cursos pra sempre

75
%OFF
Jailson Souza
Jailson Souza03/12/2025 13:33
Compartilhe

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

    Compartilhe
    Recomendados para você
    GitHub Copilot - Código na Prática
    CI&T - Backend com Java & AWS
    Nexa - Machine Learning e GenAI na Prática
    Comentários (1)
    DIO Community
    DIO Community - 03/12/2025 14:04

    Excelente, Jailson! Que artigo épico, técnico e de altíssimo valor prático! Você tocou no ponto crucial da Observabilidade Moderna: a API é um serviço crítico, e o monitoramento deve ser inteligente, automatizado e containerizado.

    É fascinante ver como você aborda o tema, mostrando que a integração Zabbix + FastAPI + Docker é o padrão de mercado para SRE/DevOps e soluciona o problema de rastrear a saúde do backend em tempo real.

    Qual você diria que é o maior desafio para um desenvolvedor ao implementar os princípios de IA responsável em um projeto, em termos de balancear a inovação e a eficiência com a ética e a privacidade, em vez de apenas focar em funcionalidades?