Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Seq ile Structured Log'ları Okumak: Docker Kurulumu, Sorgular, Signal'lar ve Alert'ler
Seq'i Docker'da parola ve ayrı ingestion portuyla kuruyor, yalnız Ingest yetkili API key ile Serilog ve OTLP üzerinden log gönderiyoruz. Filtreler, group by ve percentile sorguları, aynı TraceId'deki log ve span'ler, signal, alert ve signal'a bağlı retention gerçek sonuçlarla; 8 hatanın neden 16 event olduğu ve OTLP'deki ERROR seviyesi tuzağı dahil.
Serilog Sink'leri: Console, File, Seq ve OpenTelemetry — Async, Batching ve Kayıp Log
Container'da log stdout'a compact JSON olarak yazılır; dosya gerekiyorsa rolling ve retention açıkça ayarlanır. Serilog 4'ün core batching'i ve async wrapper, yavaş bir sink karşısında ya event atar ya uygulamayı bekletir: 2.000 event'ten 101'i ulaştı ya da döngü 2,4 saniye sürdü. SelfLog, OTLP'ye çıkış ve sink bazında seviye ayırmak.
Production'da Microservice: Distributed Tracing, Resilience ve Independent Deployment
Production'da microservice işletmek üç şey ister: bir isteği service'ler boyunca izleyen distributed tracing (W3C traceparent ile), service seviyesinde düşünülmüş timeout, retry ve circuit breaker, ve her service'in kendi pipeline'ıyla, backward compatibility ve contract test'lerle bağımsız deploy edilmesi. .NET'in Activity'siyle gerçek bir trace çıktısı, katman başına retry'ın 64 isteğe dönüşmesi, readiness'ı downstream'e bağlama tuzağı ve can-i-deploy'un CI'daki yeri.