---
title: "Mengumpulkan Log Banyak Server dengan Grafana Loki"
description: "Cara memusatkan log dari banyak server ke Grafana Loki dengan Grafana Alloy, contoh konfigurasi, query LogQL dasar, dan perbandingannya dengan ELK."
url: "https://nivelva.com/insight/mengumpulkan-log-banyak-server-grafana-loki"
category: "Server \u0026 Infrastruktur"
tags: ["grafana loki","log","monitoring","grafana alloy","observability"]
author: "Lucas Tan"
published: "2026-11-11T13:29:00+07:00"
updated: "2026-11-11T13:29:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Mengumpulkan Log Banyak Server dengan Grafana Loki

> **Jawaban singkat:** Grafana Loki menyimpan log dari banyak server di satu tempat dan hanya mengindeks label, sehingga lebih hemat sumber daya dibanding ELK. Log dikirim dengan Grafana Alloy, karena Promtail sudah mencapai akhir masa pakai pada 2 Maret 2026, lalu dibaca lewat Grafana dengan LogQL.

Grafana Loki adalah sistem penyimpanan log yang dirancang mirip Prometheus: log dari banyak server dikirim ke satu tempat, diberi label seperti nama host dan aplikasi, lalu dicari lewat Grafana. Bedanya dengan banyak sistem log lain, Loki tidak mengindeks isi teks log, hanya labelnya. Itulah yang membuatnya ringan.

Kenapa pilihan ini penting? Kalau log masih tersebar di lima server, setiap insiden berarti membuka lima sesi SSH dan menebak jam kejadian di setiap mesin. Sebaliknya, kalau memilih sistem log yang terlalu berat, servernya sendiri bisa menghabiskan biaya lebih besar dari aplikasi yang dipantau.

## Bagaimana arsitektur Loki untuk tim kecil?

Untuk tim kecil sampai menengah, susunannya cukup tiga bagian.

### Loki sebagai penyimpan

Loki bisa berjalan dalam mode monolitik, yaitu satu proses yang menjalankan semua komponen. Mode ini cocok untuk satu VPS khusus log. Penyimpanannya bisa disk lokal atau object storage yang kompatibel S3 bila volumenya besar.

### Grafana Alloy sebagai pengirim

Di setiap server sumber, sebuah agen membaca file log atau journal systemd lalu mengirimkannya ke Loki. Dulu tugas ini dipegang Promtail. Menurut dokumentasi resmi Grafana, Promtail sudah deprecated sejak Loki 3.4, masa dukungan jangka panjangnya berakhir 28 Februari 2026, dan statusnya end-of-life sejak 2 Maret 2026. Penggantinya adalah Grafana Alloy.

Kalau kamu masih punya konfigurasi Promtail, Alloy menyediakan perintah konversi `alloy convert --source-format=promtail`. Perlu dicatat, nama metrik Alloy berbeda dari Promtail, jadi dashboard dan alert yang membaca metrik agen harus disesuaikan.

### Grafana sebagai layar

Grafana menambahkan Loki sebagai data source, lalu kamu bisa menjelajah log di menu Explore, membuat panel, atau memasang alert. Kalau Grafana sudah dipakai untuk metrik, misalnya dari [Prometheus dan Node Exporter](https://nivelva.com/insight/cara-pasang-node-exporter-prometheus-vps), log dan grafik bisa ditampilkan berdampingan.

## Loki atau ELK, mana yang cocok?

| Aspek | Grafana Loki | ELK / OpenSearch |
|:--|:--|:--|
| Yang diindeks | Label saja (host, job, aplikasi) | Isi teks log secara penuh |
| Kebutuhan RAM dan disk | Relatif ringan | Lebih berat karena indeks penuh |
| Pencarian teks bebas di data besar | Lebih lambat, memindai isi log | Cepat berkat indeks |
| Bahasa query | LogQL, mirip PromQL | Query DSL, KQL, atau Lucene |
| Antarmuka | Grafana | Kibana atau OpenSearch Dashboards |
| Cocok untuk | Log operasional server dan aplikasi | Analitik log, keamanan, pencarian intensif |

### Kapan memilih Loki, kapan ELK

Pilih Loki kalau kebutuhan utamamu melacak masalah: "apa yang terjadi di server web jam 14.05?" atau "berapa banyak error 500 dari aplikasi ini sejam terakhir?". Pertanyaan seperti ini selalu dimulai dari label host atau aplikasi, dan di situ Loki unggul.

Pilih ELK atau OpenSearch kalau tim sering mencari kata acak di seluruh log tanpa tahu sumbernya, membangun analitik kompleks, atau menjalankan analisis keamanan yang berat. Biayanya lebih tinggi, tapi pencarian teks bebasnya memang lebih kuat.

Untuk satu atau dua server, kadang keduanya berlebihan. [Membaca log dengan journalctl](https://nivelva.com/insight/cara-membaca-log-aplikasi-journalctl) dan logrotate yang rapi masih cukup.

## Langkah memasang Loki dan Alloy

Di server pusat log, cara tercepat adalah Docker. Dokumentasi Loki per November 2026 memakai image `grafana/loki:3.7.0` dengan file konfigurasi contoh:

```bash
wget https://raw.githubusercontent.com/grafana/loki/v3.7.0/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -d -v $(pwd):/mnt/config -p 127.0.0.1:3100:3100 \
  grafana/loki:3.7.0 -config.file=/mnt/config/loki-config.yaml
```

Contoh resmi memakai `-p 3100:3100`. Di atas sengaja dibatasi ke localhost. Buka port 3100 hanya untuk IP server sumber lewat jaringan privat atau firewall, karena konfigurasi contoh tidak memakai autentikasi.

Di setiap server sumber, pasang Alloy dari repository resmi Grafana, lalu isi `/etc/alloy/config.alloy`:

```alloy
local.file_match "aplikasi" {
  path_targets = [{"__path__" = "/var/log/nginx/*.log", "job" = "nginx", "host" = "web01"}]
}

loki.source.file "aplikasi" {
  targets    = local.file_match.aplikasi.targets
  forward_to = [loki.write.pusat.receiver]
}

loki.source.journal "systemd" {
  forward_to = [loki.write.pusat.receiver]
  labels     = {"job" = "journal", "host" = "web01"}
}

loki.write "pusat" {
  endpoint {
    url = "http://10.0.0.5:3100/loki/api/v1/push"
  }
}
```

Restart Alloy dengan `sudo systemctl restart alloy`. Pastikan user `alloy` punya izin membaca file log yang dituju, misalnya dengan menambahkannya ke grup yang memiliki file itu.

## Bagaimana mencari log dengan LogQL?

```logql
{job="nginx", host="web01"} |= "error"
sum by (host) (count_over_time({job="nginx"} |= " 500 " [5m]))
```

Baris pertama menampilkan log Nginx dari web01 yang mengandung kata error. Baris kedua menghitung jumlah baris berisi " 500 " per host dalam jendela lima menit, yang bisa dijadikan grafik atau dasar alert.

> **Hati-hati dengan label:**
>
> Jangan jadikan nilai yang selalu berubah sebagai label, misalnya ID pengguna, alamat IP pengunjung, atau ID request. Setiap kombinasi label membentuk stream baru, dan terlalu banyak stream membuat Loki lambat serta boros memori. Simpan nilai seperti itu di isi log, lalu saring dengan filter atau parser LogQL.

## Berapa lama log disimpan?

Secara bawaan Loki tidak menghapus log lama. Retensi diaktifkan lewat compactor:

```yaml
compactor:
  working_directory: /tmp/loki/retention
  retention_enabled: true
  delete_request_store: filesystem

limits_config:
  retention_period: 720h
```

Konfigurasi contoh sudah punya blok `limits_config`, jadi tambahkan `retention_period` ke blok itu, jangan membuat blok kedua. Sesuaikan `working_directory` dengan `path_prefix` di konfigurasimu. Konfigurasi contoh menyimpan data di `/tmp/loki` di dalam container, jadi untuk pemakaian sungguhan petakan folder itu ke volume agar log tidak hilang saat container dibuat ulang. Dokumentasi Loki menyebut `delete_request_store` wajib diisi saat retensi aktif, dan retensi membutuhkan periode indeks 24 jam di `schema_config`. Nilai `720h` berarti 30 hari. Sesuaikan dengan kebutuhan audit dan kapasitas disk.

## Pertanyaan yang sering diajukan

### Apakah Promtail masih bisa dipakai?

Programnya masih bisa berjalan, tapi sejak 2 Maret 2026 Promtail berstatus end-of-life dan tidak menerima pembaruan lagi, termasuk perbaikan keamanan. Sebaiknya pindah ke Grafana Alloy.

### Butuh server khusus untuk Loki?

Untuk beberapa server sumber dengan volume log sedang, satu VPS khusus sudah cukup. Memisahkannya dari server aplikasi mencegah log ikut hilang saat server aplikasi bermasalah.

### Bisakah Loki menerima log dari container Docker?

Bisa. Alloy punya komponen untuk membaca log container Docker, atau kamu bisa membaca file log container dari host.

### Apakah log di Loki bisa dipakai sebagai bukti audit?

Bisa sebagai bagian dari jejak audit, asalkan akses ke Loki dibatasi, retensi sesuai kebijakan, dan jam semua server tersinkron agar urutan kejadian akurat.

## Sumber

- <https://grafana.com/docs/loki/latest/setup/install/docker/>
- <https://grafana.com/docs/loki/latest/send-data/promtail/>
- <https://grafana.com/docs/alloy/latest/set-up/migrate/from-promtail/>
- <https://grafana.com/docs/loki/latest/operations/storage/retention/>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/mengumpulkan-log-banyak-server-grafana-loki
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
