Guide 11 / Request ID Logs

Daginik API loglarini request ID ile ayni trace'e topla.

Bir hatayi cozen sey bazen daha fazla log degil, ayni request'in izini tek timeline'a indirebilmektir. Bu guide, response header'daki request ID'yi alip ingress, app ve worker loglarindaki satirlari ayni akis icinde baglamaya yardim eder.

ID
Trace
ayni istegin farkli katmanlardaki tek ortak izi
Log
JSON
structured log alanlarini duzgun okuyunca korelasyon hizlanir
Time
UTC
daginik satirlari ayni zaman eksenine tasir
Workflow

4 adimli log korelasyon akisi

  1. 1. Request ID degerini sabitle

    Response header, gateway logu veya hata raporundaki `x-request-id`, `request_id` ya da `trace_id` degerini alin. UUID araci, formatin beklenen yapiya uyup uymadigini hizla gormenize yardim eder.

  2. 2. Ayni degeri farkli log katmanlarinda ara

    Ingress, app, worker ve queue log'larinda alan adi farkli olabilir ama deger aynidir. Bu nedenle isimden cok benzersiz ID'nin izi takip edilir.

  3. 3. Structured log satirlarini formatla

    Log satiri JSON ise JSON Formatter ile okunur hale getirin. request id, path, status, error ve duration alanlarini ayni ciktida gormek triage'i hizlandirir.

  4. 4. Zamanlari UTC eksenine getir

    Ayni request farkli servislerde farkli timezone veya epoch formatinda loglanabilir. Timestamp araci ile hepsini ayni UTC/ISO cizgisine tasimak, olayin siralamasini netlestirir.

Common Checks

En sik 3 korelasyon hatasi

1. Ayni ID'nin farkli alan adlariyla gelmesi

Gateway `x-request-id`, app `request_id`, queue ise `correlation_id` diyebilir. Alan adina degil degerin kendisine odaklanin.

2. Saat kaymasi yuzunden yanlis siralama

Yerel saat, UTC ve epoch farklari ayni request'i farkli saniyelerdeymis gibi gosterebilir. Timeline okunmadan root cause yanlis cikabilir.

3. Tum log yiginini paylasmak

Sorunu cozen sey butun log dosyasi degil, ayni request'e ait kisa ve maskelemis bir trace ozetidir.

Example

Request ID korelasyonu icin mini checklist

Elinizdeki satirlar
x-request-id=4d9c... status=502
{"request_id":"4d9c...","path":"/v1/payments","status":500}
ts=1716207000 correlation_id=4d9c...
Sorulacak 4 soru
  • Ayni deger farkli log katmanlarinda gorunuyor mu?
  • Structured log icindeki path ve status ayni request'i anlatiyor mu?
  • Zamanlar UTC'ye cevrildiginde siralama tutarli mi?
  • Paylasilacak trace hassas alanlardan arindirildi mi?
Tool Stack

Bu use-case'te hangi araci ne zaman acarsin?

FAQ

Sik sorulanlar

Request ID UUID degilse bu guide yine calisir mi?

Evet. Guiding principle benzersiz degerin farkli log katmanlarinda ayni izi birakmasidir; format sadece tanimlamayi kolaylastirir.

Gateway ile app log'unda ayni ID neden farkli isimle gorunuyor?

Servisler farkli logging convention kullanabilir. Korelasyonda alan adlarinin haritasini bir kez cikarip ayni degeri izlemek daha guvenilir olur.

Paylasirken en iyi ozet formati nedir?

Request id, UTC zaman, katman adi, path/status ve maskelenmis error alanlarini iceren kisa bir timeline en kullanisli formattir.

CTA

Log trace'i simdi tek cizgide topla

Daginik satirlar yerine ayni request'in korele edilmis mini trace'ini cikarmak triage suresini kisaltir. Once request id'yi sabitleyin, sonra JSON ve zaman formatlarini ayri temizleyin.