Ugrás a tartalomhoz
← Blog'a dön

Tek yığında Pino + OpenTelemetry + Sentry — Nortinia gözlemlenebilirlik tarifi

Bu üç araç ya birlikte çalışır ya da çakışıp mükerrer loglar üretir. Onları doğru şekilde nasıl bağlayacağınızı anlatıyoruz.

Gözlemlenebilirlik üç ayrı araç değildir. Tek bir soruyu yanıtlayan tek bir yığındır: “14:32'deki isteğe ne oldu?”

Her Nortinia ürünü aynı gözlemlenebilirlik yığınını çalıştırır: yapılandırılmış loglama için Pino, dağıtık izleme için OpenTelemetry, hata takibi için Sentry. Yapılandırmazsanız bu üç araç çakışır — mükerrer loglar, mükerrer uyarılar ve kafa karıştırıcı incelemelerle karşılaşırsınız.

Pino — “ne oldu” sorusunun yanıtı

Pino yapılandırılmış JSON loglar yazar. Her satırda requestId, userId, tenantId, route, httpMethod, statusCode bulunur. Bu altı alan, hata ayıklamanın %90'ını karşılar. Log seviyesi çalışma zamanında ayarlanabilir (Netorigo yığınında ortam değişkenlerinden): prod'da info, staging'de debug, dev'de trace. Pino'nun günlük sınırı veya aylık ücreti yoktur — yalnızca log toplayıcınız (Loki veya CloudWatch) para tutar.

OpenTelemetry — “nerede oldu” sorusunun yanıtı

OpenTelemetry her HTTP isteği için trace üretir. Bir trace = bir istek = bir trace ID; birden fazla span içerir (adımlar: DB sorgusu, Redis get, harici API çağrısı). Nortinia yığınında bunları Jaeger'a gönderip Grafana Tempo'da görselleştiriyoruz. En önemli püf noktası: Pino logları trace_id alanını taşır, böylece logdan trace'e geçiş tek tıktır.

Sentry — “neden oldu” sorusunun yanıtı

  • Yalnızca exception'ları alır — her log satırını değil
  • CI'da source map yüklemesi, böylece stack trace'ler kaynak koda işaret eder
  • Etiketler: tenantId, release (git SHA), environment
  • Kullanıcı bağlamı: userId + e-posta (kişisel veri yok, şifreli)
  • Örnekleme oranı: dev'de %100, staging'de %25, prod'da %1 — aksi halde fatura çılgına döner

Üçü bir arada

Akış: bir hata oluşur → Sentry uyarı gönderir → bir mühendis açar → event, requestId + trace_id taşır. requestId ile tek tıkla Grafana Loki'ye (Pino logu) geçer — kullanıcı akışını görür. trace_id ile tek tıkla Tempo'ya (trace) geçer — hangi span'in yavaşladığını, hangi harici çağrının başarısız olduğunu görür. İlk tıktan tam bağlama altmış saniye. “Tek ekrandan görünürlük” budur — ve her Nortinia müşterisi ikinci ayda buna bağımlı hale gelir.

Bir konuyu ele almamızı ister misiniz?

Bize yazın — bu konuda gerçek deneyimimiz varsa yayımlarız.