Belajar Observability dengan LGTM Stack - Correlation - Unifying the Three Pillars
Episode 18 of 36

Belajar Observability dengan LGTM Stack - Correlation - Unifying the Three Pillars

Kekuatan observability sejati muncul saat metrik, log, dan trace saling terhubung. Episode ini membahas korelasi metrik ke trace lewat exemplar, log ke trace lewat TraceID, trace kembali ke log, serta alur debugging terpadu alert → metrik → trace → log.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Tiga pillars observability hanyalah tumpukan data terpisah jika tidak saling terhubung. Keunggulan utama LGTM Stack justru ada pada correlation — kemampuan berpindah mulus dari metrik ke trace ke log dalam satu alur penyelidikan.

Episode ini membahas korelasi antar pillars: dari metrik ke trace lewat exemplar, dari log ke trace lewat TraceID, dari trace kembali ke log, serta alur debugging terpadu yang menjadi kebiasaan utama di produksi.

Metrik ke Trace

Exemplar di Mimir

Exemplar adalah mekanisme yang menghubungkan metrik dengan trace nyata. Sebuah exemplar menyimpan TraceID dan durasi sebagai contoh di dalam metrik histogram:

Melihat exemplar di query
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))

Dari panel histogram di Grafana, kalian bisa mengklik sebuah titik dan memilih TraceID yang tercantum sebagai exemplar. Klik ini langsung membuka trace yang relevan — jembatan pertama antara metrik dan trace.

Dashboard Drill-Down dan Span Metrics

  • Trace ID injection: aplikasi memasukkan TraceID saat mencatat metrik duration.
  • Dashboard drill-down: panel metrik dilengkapi link ke panel trace.
  • Span metrics dari Tempo: metrics-generator menurunkan metrik RED dari trace — detail di episode 24.
Alur metrik ke trace
panel metrik -> klik titik -> exemplar TraceID -> trace waterfall

Pola panel metrik -> klik titik -> exemplar TraceID adalah interaksi paling bernilai di dashboard observability.

Log ke Trace

TraceID dalam Log

Setiap log terstruktur membawa TraceID (lihat episode 12). Di Grafana, TraceID yang muncul di panel log otomatis menjadi link yang bisa diklik menuju trace terkait.

Log dengan TraceID
{
  "level": "error",
  "service": "payment",
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
  "msg": "payment gateway timeout"
}

Field trace_id inilah yang dikenali Grafana untuk membuat korelasi otomatis log → trace tanpa konfigurasi manual.

Trace Logs Panel dan Automatic Correlation

Panel Trace logs di Grafana menampilkan log yang cocok dengan span aktif. Dengan pengaturan di Tempo data source — seperti derived fields — Grafana otomatis menautkan baris log ke trace dan sebaliknya.

Trace ke Log

Derived Fields dan Log Query dari Trace

Untuk membuka log dari sebuah trace, Grafana memakai derived fields: pola regex yang mengekstrak TraceID atau nilai lain dari atribut span, lalu memicu query LogQL ke Loki.

Derived field di data source Tempo
derivedFields:
  - name: TraceID
    matcher: traceid=(\\w+)
    datasourceUid: loki-uid
    url: $${__value.raw}

Konfigurasi derivedFields di atas membuat Grafana mengambil nilai TraceID dari atribut span dan langsung membuka query log ke Loki.

Contextual Log Viewing

Dengan derived field, dari waterfall trace kalian bisa satu klik menampilkan semua log untuk TraceID tersebut — tanpa menyalin TraceID secara manual.

Alur Kerja Terpadu

Alert → Metrik → Trace → Log

Inilah golden triangle yang diperkenalkan di episode 2, kini dalam bentuk kerja nyata:

Alur debugging observability
alert -> metrik -> trace -> log -> root cause

Pola alert -> metrik -> trace -> log diikuti saat insiden: terima alert, lihat metrik untuk memastikan, buka trace untuk menemukan span bermasalah, lalu telusuri log untuk detail error.

Desain Dashboard untuk Korelasi

  • Sediakan link drill-down antar panel.
  • Aktifkan exemplar di panel histogram.
  • Pastikan semua log membawa TraceID.
  • Gunakan derived fields di data source Tempo.

Info

Korelasi bukan fitur yang aktif sendirian — ia butuh persiapan: aplikasi harus membawa TraceID di log, exemplar harus diaktifkan, dan derived fields harus dikonfigurasi. Siapkan semuanya di episode 4 sampai sekarang sebelum butuh saat insiden.

Penutup

Di episode 18 ini kalian memahami korelasi metrik ke trace melalui exemplar, log ke trace melalui TraceID yang bisa diklik, trace kembali ke log melalui derived fields, serta alur debugging terpadu alert → metrik → trace → log yang menjadi pola kerja produksi.

Inti yang harus dibawa pulang:

  • Exemplar menghubungkan metrik dengan trace nyata.
  • TraceID di log membuka trace hanya dengan satu klik.
  • Derived fields mengekstrak TraceID dari atribut span.
  • Golden triangle: alert, metrik, trace, lalu log.
  • Korelasi butuh persiapan konfigurasi, bukan sihir otomatis.

Di episode 19 selanjutnya kita akan membahas alerting strategy dan AlertManager — prinsip alert yang actionable, Grafana Alerting, routing dan grouping, recording rules, serta best practices pemeliharaan alert. Metrik, log, dan trace yang terkorelasi akan mulai menjaga sistem kalian secara proaktif.