Production'daki bir full stack uygulamayı nasıl izlersiniz? Log, metrik, trace ve alarm stratejiniz nedir?

Cevap

Gözlemlenebilirliğin üç temel sinyali vardır: log (ne oldu), metrik (ne kadar/ne sıklıkta), trace (istek hangi servislerden geçti ve nerede yavaşladı). Bunlara frontend tarafında hata takibi ve gerçek kullanıcı ölçümü (RUM) eklenir.

Katmanlar

  • Frontend: Sentry gibi bir araçla JS hataları (source map yüklenmiş), Core Web Vitals ölçümü, kullanıcı oturum bağlamı.
  • Backend: yapılandırılmış (JSON) loglar, her istekte bir request_id / trace ID; RED metrikleri: Rate (istek sayısı), Errors (hata oranı), Duration (p50/p95/p99 latency).
  • Altyapı: CPU, bellek, DB bağlantı sayısı, yavaş sorgular, kuyruk uzunluğu.
  • Dağıtık trace: OpenTelemetry ile frontend'den backend'e ve DB'ye kadar tek bir trace; traceparent başlığı servisler arasında taşınır.
// Express: her log satırında istek kimliği
app.use((req, res, next) => {
  req.id = req.headers["x-request-id"] || crypto.randomUUID();
  res.setHeader("x-request-id", req.id);
  next();
});
logger.info({ reqId: req.id, userId, route: "/orders" }, "order created");

Alarm stratejisi

  • Belirtiye göre alarm: "CPU %80" yerine "son 5 dakikada hata oranı %2'yi geçti" veya "p95 latency 1 sn'yi aştı". Kullanıcıyı etkileyen şeye alarm kurun.
  • SLO tanımlayın: örneğin "aylık isteklerin %99,9'u başarılı". Error budget tükenirken alarm verin.
  • Uptime kontrolü dışarıdan yapılmalı (sağlık endpoint'i /healthz).
  • Alarm yorgunluğundan kaçının: her alarm aksiyon alınabilir olmalı ve bir runbook'a bağlanmalı.

Loglara parola, token veya kişisel veri yazılmamalıdır.

  1. Bulut faturası beklenenden çok yüksek geldi. Maliyeti nasıl analiz eder ve düşürürsünüz?OrtaBulut & DeployFull Stack
  2. Edge function ve edge rendering nedir? Kodu ne zaman edge'de, ne zaman tek bir bölgede (region) çalıştırırsınız?OrtaBulut & DeployFull Stack
  3. Veritabanı şema değişikliklerini (migration) kesintisiz (zero-downtime) nasıl deploy edersiniz? Expand-contract nedir?ZorBulut & DeployFull Stack
  4. Blue-green deployment ile canary deployment arasındaki fark nedir? Rollback nasıl yapılır?OrtaBulut & DeployFull Stack
  5. Serverless (ör. AWS Lambda, Vercel Functions) ile container tabanlı deploy (Cloud Run, ECS, Kubernetes) arasında nasıl seçim yaparsınız?OrtaBulut & DeployFull Stack
  6. Uygulamanıza özel bir alan adı bağlayıp HTTPS'i nasıl kurarsınız? A, CNAME kayıtları ve TTL ne işe yarar?KolayBulut & DeployFull Stack

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle