Plataforma modular de observabilidade para aplicações .NET com integração plugável a ferramentas como Datadog, Elastic Stack, Grafana/Prometheus, Azure Monitor, entre outras.
O dopGuard fornece uma base sólida para observabilidade distribuída, com arquitetura robusta, extensível e pronta para ambientes empresariais modernos.
O dopGuard implementa uma arquitetura de referência para observabilidade de aplicações .NET, aplicando conceitos como:
- 🔌 OpenTelemetry como padrão universal
- 🧩 Integração com múltiplos backends: Datadog, Elastic APM, Grafana + Prometheus, Azure Application Insights
- 📈 Métricas, Logs, Traces e Health Checks com rastreabilidade distribuída
- 🔁 Suporte a múltiplos protocolos: OTLP HTTP/gRPC, Logstash, Prometheus PushGateway
- ♻️ Modular e extensível para uso com Clean Architecture e DDD
git clone https://github.com/daniloopinheiro/dopGuard.git
cd dopGuarddocker-compose up -dcd dopGuard.Api
dotnet runA API estará disponível em: https://localhost:5001
Documentação via Swagger: https://localhost:5001/swagger
dotnet testNo appsettings.json:
"Otel": {
"Endpoint": "http://localhost:4318/v1/traces",
"EnableDatadog": true,
"EnableElastic": true,
"EnablePrometheus": true,
"EnableAzureMonitor": false
}Configure no .env ou docker-compose.override.yml:
DATADOG_API_KEY=your-datadog-api-key
ELASTIC_APM_SERVER_URL=http://localhost:8200
PROMETHEUS_PUSHGATEWAY=http://localhost:9091
APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=...datadog:
image: gcr.io/datadoghq/agent:latest
environment:
- DD_API_KEY=${DATADOG_API_KEY}
- DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENABLED=true
- DD_LOGS_ENABLED=true
ports:
- "4318:4318"
- "8126:8126"dopGuard/
│
├── dopGuard.Api/ # API com rastreabilidade e logs
├── dopGuard.Application/ # Casos de uso
├── dopGuard.Domain/ # Regras de negócio
├── dopGuard.Infrastructure/ # Persistência e mensageria
├── dopGuard.Observability/ # Integrações com Datadog, ELK, Prometheus, etc
├── dopGuard.BuildingBlocks/ # Extensions de OpenTelemetry, Logging e Metrics
├── dopGuard.Tests/ # Testes automatizados
├── docker-compose.yml
└── README.mdContribuições são bem-vindas!
- Faça um fork do projeto
- Crie uma branch:
git checkout -b feature/nova-funcionalidade - Commit:
git commit -m 'feat: nova funcionalidade' - Push:
git push origin feature/nova-funcionalidade - Abra um Pull Request 🚀
Este projeto está licenciado sob a Licença MIT.
Tem dúvidas ou sugestões? Fale comigo:
- Email Pessoal: daniloopro@gmail.com
- Empresarial: devsfree@devsfree.com.br
- Consultoria: contato@dopme.io
- LinkedIn: Danilo O. Pinheiro