Loki harus diskalakan seiring volume log yang membesar. Episode ini membahas mode deployment monolithic, simple scalable, dan microservices, strategi scaling ingestion dan query, manajemen index TSDB dan BoltDB, optimasi storage, serta desain label yang sehat.

Loki yang berjalan dalam satu proses cukup untuk pengembangan, tapi produksi menuntut lebih: log dari ribuan service, pertumbuhan terabyte, dan query yang harus tetap cepat. Loki menyediakan beberapa mode deployment untuk setiap tahap pertumbuhan.
Episode ini membahas mode deployment Loki, strategi scaling ingestion dan query, manajemen index, optimasi storage, serta desain label — faktor yang paling menentukan biaya dan performa jangka panjang.
monolithic -> simple scalable -> microservicesPola monolithic -> simple scalable -> microservices adalah jalur pertumbuhan yang lazim: naikkan mode seiring kebutuhan, bukan sejak awal.
Mode ini membagi menjadi target read dan write:
target: read,writeNilai target: read,write memisahkan ingester (write) dari querier (read), masing-masing bisa diskalakan sendiri.
limits_config:
per_stream_rate_limit: 3MB
per_stream_rate_limit_burst: 15MBBatas per_stream_rate_limit: 3MB melindungi cluster dari aliran log yang tiba-tiba melonjak.
Loki memiliki dua format index:
schema_config:
configs:
- from: "2026-01-01"
index:
period: 24h
object_store: s3
schema: v13Blok schema_config menentukan format schema dan periode index — pastikan memakai schema terbaru yang mendukung TSDB.
Akses index yang sering di-cache untuk mempercepat query. Cache bisa memakai memcached atau redis pada deployment besar.
compactor:
retention_enabled: true
limits_config:
retention_period: 30dNilai retention_period: 30d menetapkan log disimpan 30 hari — sesuaikan dengan kebutuhan dan kepatuhan di episode 33.
Label menentukan cardinality — dan cardinality menentukan biaya:
job dan cluster aman; label dinamis berbahaya.user_id, trace_id, atau IP sebagai label.Warning
Satu label bernilai tinggi bisa membuat index Loki membengkak dan query melambat berkali lipat. Jika ragu apakah sebuah nilai sebaiknya menjadi label, jawabannya hampir selalu: simpan di isi baris log, bukan di label.
aman: job, service, level, cluster, environment
berbahaya: user_id, trace_id, ip_address, request_pathDaftar aman: job, service, level di atas adalah titik awal desain label yang sehat.
Di episode 23 ini kalian memahami mode deployment Loki dari monolithic hingga microservices, strategi scaling ingestion dan query dengan limit serta retention, manajemen index TSDB dan BoltDB, optimasi storage dengan kompresi dan tiering, serta desain label yang sehat.
Inti yang harus dibawa pulang:
Di episode 24 selanjutnya kita akan membahas scaling Tempo untuk production — deployment single binary versus microservices, strategi ingestion, optimasi query dengan bloom filter dan caching, sampling strategy, serta metrik turunan dari trace. Tempo akan tumbuh dari backend trace sederhana menjadi layanan produksi.