Skip to content

Plataforma modular de observabilidade para aplicações .NET, com suporte a OpenTelemetry, integração plugável com Datadog, Elastic, Prometheus, Azure Monitor e arquitetura extensível voltada para rastreabilidade, métricas e logs distribuídos.

License

Notifications You must be signed in to change notification settings

daniloopinheiro/dopGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dopGuard

dopGuard Net - CI

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.


📚 Índice

  1. Visão Geral
  2. Instalação
  3. Como Usar
  4. Configuração
  5. Contribuições
  6. Licença
  7. Contato

🔭 Visão Geral

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

⚙️ Instalação

Pré-requisitos

Clonando o projeto

git clone https://github.com/daniloopinheiro/dopGuard.git
cd dopGuard

Subindo infraestrutura de observabilidade (opcional)

docker-compose up -d

🚀 Como Usar

Executando localmente

cd dopGuard.Api
dotnet run

A API estará disponível em: https://localhost:5001 Documentação via Swagger: https://localhost:5001/swagger

Rodando testes

dotnet test

⚙️ Configuração

OpenTelemetry com múltiplos backends

No appsettings.json:

"Otel": {
  "Endpoint": "http://localhost:4318/v1/traces",
  "EnableDatadog": true,
  "EnableElastic": true,
  "EnablePrometheus": true,
  "EnableAzureMonitor": false
}

Variáveis de ambiente

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=...

Docker Compose

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"

🧱 Estrutura do Projeto

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.md

🤝 Contribuições

Contribuições são bem-vindas!

Como contribuir

  1. Faça um fork do projeto
  2. Crie uma branch: git checkout -b feature/nova-funcionalidade
  3. Commit: git commit -m 'feat: nova funcionalidade'
  4. Push: git push origin feature/nova-funcionalidade
  5. Abra um Pull Request 🚀

📄 Licença

Este projeto está licenciado sob a Licença MIT.


👋 Contato

Tem dúvidas ou sugestões? Fale comigo:


Feito com ❤️ por Danilo O. Pinheiro
DevsFreedopme.io

About

Plataforma modular de observabilidade para aplicações .NET, com suporte a OpenTelemetry, integração plugável com Datadog, Elastic, Prometheus, Azure Monitor e arquitetura extensível voltada para rastreabilidade, métricas e logs distribuídos.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published