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.
4 adimli log korelasyon akisi
-
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. 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. 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. 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.
En sik 3 korelasyon hatasi
Gateway `x-request-id`, app `request_id`, queue ise `correlation_id` diyebilir. Alan adina degil degerin kendisine odaklanin.
Yerel saat, UTC ve epoch farklari ayni request'i farkli saniyelerdeymis gibi gosterebilir. Timeline okunmadan root cause yanlis cikabilir.
Sorunu cozen sey butun log dosyasi degil, ayni request'e ait kisa ve maskelemis bir trace ozetidir.
Request ID korelasyonu icin mini checklist
x-request-id=4d9c... status=502
{"request_id":"4d9c...","path":"/v1/payments","status":500}
ts=1716207000 correlation_id=4d9c...
- 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?
Bu use-case'te hangi araci ne zaman acarsin?
Sirali UUID uretmek, zaman damgasini okumak ve request korelasyonunu daha net izlemek icin kullanilir.
Epoch veya tarih loglarini ayni UTC eksenine tasir.
Structured log satirlarindaki request_id, path ve error alanlarini okunur hale getirir.
Zaman kaynakli log kaymalarini daha sistematik okumak icin yan guide olarak kullanilir.
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.
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.