Jika metrik memberi tahu kita kapan sistem lambat dan komponen apa yang bermasalah, maka Log adalah satu-satunya instrumen yang memberi tahu kita alasan persis (root-cause) di balik error tersebut.
Namun, membuka SSH ke puluhan server satu per satu hanya untuk mengetikkan tail -f /var/log/nginx/error.log adalah cara kuno yang membuang waktu. Kita membutuhkan Centralized Logging System (Sistem Log Terpusat).
Perbandingan Arsitektur: Grafana Loki vs ELK Stack
Dua raksasa sistem logging di industri saat ini adalah Grafana Loki dan ELK Stack (Elasticsearch, Logstash, Kibana):
Arsitektur Stack Grafana Loki
Ekosistem logging Loki terdiri dari 3 pilar:
- Promtail: Agen pengumpul log ringan yang dipasang di server/kontainer untuk membaca file log lokal (seperti
/var/log/*), menempelkan label, dan mengirimkannya ke Loki.
- Loki Server: Mesin penyimpan dan pengindeks log yang sangat efisien.
- Grafana: Antarmuka web untuk mencari, memfilter, dan membaca log secara interaktif menggunakan bahasa kueri LogQL.
Hands-On: Setup Logging Terpusat (Loki + Promtail + Grafana)
Kita akan menyalakan sistem log terpusat menggunakan Docker Compose yang secara otomatis membaca dan mengumpulkan log kontainer Docker.
1. Buat Berkas Konfigurasi loki-config.yaml:
2. Buat Berkas Konfigurasi promtail-config.yaml:
Promtail dikonfigurasi untuk membaca file log sistem Linux dan log container:
3. Buat Berkas docker-compose.yml:
4. Menjalankan Layanan:
4. Membaca & Menganalisis Log dengan LogQL di Grafana
- Buka Grafana di
http://ip-server:3000.
- Tambahkan Data Source: Connections → Data sources → pilih Loki.
- Isi URL Loki:
http://loki:3100 → klik Save & test.
- Buka menu Explore (ikon kompas) di sidebar Grafana:
- Pilih data source: Loki.
- Masukkan kueri LogQL untuk mencari pesan error:
Dengan fitur kueri di atas, kamu dapat melihat grafik lonjakan error secara real-time dan langsung mengklik grafik tersebut untuk membaca baris pesan log penyebabnya di detik yang sama! Last modified on October 26, 2026