Bu servis, mikroservis mimarisindeki tüm logları merkezi bir noktada toplamak, saklamak ve sorgulamak için tasarlanmış ASP.NET Core 8 tabanlı bir çözümdür.
-
kurma:
docker-compose up -d --build
-
silme:
docker-compose down
docker volume rm xxxx ismi neyse artik docker volume ls le gorunuyo:)
Sistem ayağa kalktıktan sonra şu adreslerden erişebilirsiniz:
- Merkezi Hub (Ana Giriş): http://localhost:5010
- Grafana (Analiz): http://localhost:5010/grafana
- Swagger (API Docs): http://localhost:5010/swagger
- Health Check: http://localhost:5010/health
- Asenkron Loglama:
Channel<T>kullanılarak non-blocking log ingestion sağlanır. - Hassas Veri Maskeleme: GDPR uyumluluğu için PII (Username, MAC, Şifreler) otomatik maskelenir.
- Akıllı Retention: Log seviyesine göre (Info: 90 gün, Error: 365 gün vb.) otomatik temizlik.
- Kritik Alert Mekanizması:
Criticalseviyesindeki loglar için Slack/Webhook entegrasyonu. - Batch Desteği: Yüksek trafikte tek istekte 100 log'a kadar toplu gönderim.
- Güvenlik: API Key korumalı ingestion endpoint'leri.
POST /api/log: Tekil log gönderimi.POST /api/log/batch: Toplu log gönderimi.GET /api/logs: Filtreli log sorgulama.GET /health: Servis sağlık durumu.
{
"timestamp": "2026-03-10T17:00:00Z",
"service": "AuthService",
"correlation_id": "uuid",
"level": "info",
"event_type": "login_success",
"status": "success",
"details": "Açıklama...",
"device": {
"ip": "192.168.1.1",
"device_type": "Web"
}
}Sistemin doğru çalıştığını teyit etmek için:
dotnet test- Yedek Alma (Backup):
./scripts/backup.sh(Sıkıştırılmış SQL yedeği oluşturur) - Logları İzleme:
docker logs -f log_service
http://log_service:8080