Pitch: Estou desenvolvendo há 3 anos uma ferramenta open-source para monitorar regras de negócio e gostaria de compartilhar com vocês
Olá, pessoal!
Gostaria de compartilhar com vocês um projeto pessoal em que venho trabalhando há mais de três anos: o Sentinela.
A ideia é resolver um tipo de problema que muita gente que trabalha com aplicações já encontrou: tudo parece estar funcionando normalmente, mas algo está errado do ponto de vista do negócio.
Alguns exemplos:
- Uma transação fica presa em um estado intermediário e nunca termina.
- Um pedido foi pago, mas não foi enviado.
- Uma assinatura foi renovada, mas a fatura não foi gerada.
- Uma inconsistência entre duas bases de dados passa despercebida.
- Um processo termina aparentemente bem, mas deixa registros pendentes pelo caminho.
Nesses casos, nem sempre existe um log, um pico de latência ou outro indicador de infraestrutura que denuncie o problema. A aplicação continua respondendo, mas algo que deveria acontecer simplesmente não acontece.
É aí que entra o Sentinela.
A proposta é monitorar regras de negócio e inconsistências de dados, identificando cada problema e acompanhando‑o até que seja resolvido.
O funcionamento se baseia em monitores escritos em Python. Você define como encontrar o problema, atualizar as informações e identificar quando a situação voltou ao normal. Essas verificações podem consultar bancos de dados, APIs ou outras fontes acessíveis via código.
Quando encontra um problema, o Sentinela cria uma ocorrência para a entidade afetada, acompanha a evolução e gera notificações personalizadas conforme configurado para cada monitor. Os alertas podem ter prioridades diferentes, gerar notificações e são resolvidos automaticamente quando a condição deixa de existir.
Uma distinção importante: a ideia não é substituir ferramentas como Prometheus, Grafana ou Datadog. Essas são excelentes ferramentas para observar métricas, infraestrutura e desempenho. O Sentinela responde outra pergunta: a aplicação está respeitando as regras de negócio? Essas duas abordagens se complementam.
E qual foi a minha motivação do projeto?
Em 2017 eu desenvolvi uma solução parecida em uma empresa onde trabalhei e ela ainda está em uso por lá. As regras de negócio são validadas o tempo todo para garantir que o produto funciona como deveria e para alertar os times responsáveis a corrigir qualquer problema antes que o cliente perceba.
O Sentinela é um projeto pessoal, independente e open‑source, com uma arquitetura totalmente revisitada dessa iniciativa anterior. Eu venho trabalhando e amadurecendo essa ideia ao longo desses três anos e acredito que mais pessoas e empresas possam se beneficiar desta solução.
Se quiserem conhecer melhor, deixo os links:
- Projeto e documentação: https://gabrielsalla.github.io/sentinela/
- Código‑fonte: https://github.com/GabrielSalla/sentinela
- Casos de uso: https://gabrielsalla.github.io/sentinela/real_use_cases/
Estou compartilhando o projeto aqui para apresentá‑lo à comunidade, este é o primeiro lugar onde realmente estou divulgando. Estou aberto a dúvidas e feedbacks.
Obrigado por lerem!