Belajar Observability dengan LGTM Stack - OpenTelemetry Collector Deep Dive
Episode 16 of 36

Belajar Observability dengan LGTM Stack - OpenTelemetry Collector Deep Dive

OpenTelemetry Collector adalah titik pusat penerimaan dan distribusi telemetry. Episode ini membahas arsitektur receiver, processor, exporter, dan extension, mode deployment agent dan gateway, komponen populer, serta best practices konfigurasi pipeline.

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

Pendahuluan

Di episode 3 kalian mengenal OpenTelemetry Collector secara singkat. Kini saatnya membedahnya lebih dalam, karena Collector adalah titik pusat arsitektur telemetry kalian — menerima data dari aplikasi, memprosesnya, lalu mendistribusikan ke Mimir, Loki, dan Tempo.

Episode ini membahas arsitektur Collector yang terdiri dari receiver, processor, exporter, dan extension, mode deployment agent dan gateway, komponen populer untuk masing-masing bagian, serta best practices menyusun pipeline yang andal.

Arsitektur Collector

Empat Blok Utama

  • Receivers: menerima telemetry dari berbagai sumber, misalnya OTLP, Prometheus, atau file.
  • Processors: memproses data di tengah pipeline — batching, filter, sampling, dan enrichment.
  • Exporters: mengirim data ke tujuan akhir, seperti Tempo, Mimir, atau backend lain.
  • Extensions: fitur pendukung seperti health check dan profil, tanpa ikut alur data.

Pipeline Configuration

Pipeline menghubungkan receiver, processor, dan exporter dalam satu alur:

config.yaml - pipeline dasar
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
 
processors:
  batch: {}
 
exporters:
  otlp:
    endpoint: tempo:4317
 
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]

Blok service.pipelines.traces mendefinisikan alur trace: dari receiver otlp, melewati processor batch, menuju exporter ke Tempo.

Mode Deployment

Agent Mode

Dalam mode agent, Collector berjalan di setiap node, menerima telemetry dari aplikasi lokal lalu mengirimkannya ke gateway atau langsung ke backend. Keunggulannya: dekat dengan sumber data, sehingga scraping lokal dan relabeling jadi mudah.

Gateway Mode

Dalam mode gateway, Collector terpusat menerima data dari banyak agent atau aplikasi. Keunggulannya: satu titik untuk pemrosesan berat, sampling cerdas, dan kebijakan organisasi.

Hybrid Deployment

Kombinasi keduanya paling umum: agent di tiap node untuk koleksi lokal, gateway terpusat untuk agregasi dan distribusi ke backend.

Arsitektur hybrid
apps -> agent (per node) -> gateway (terpusat) -> Tempo/Mimir/Loki

Pola agent (per node) -> gateway (terpusat) adalah arsitektur yang paling sering kalian temui di produksi berskala besar.

Receiver dan Processor Populer

Receiver Umum

  • OTLP receiver: menerima trace, metrik, dan log lewat gRPC dan HTTP.
  • Prometheus receiver: melakukan scrape ala Prometheus dari target.
  • Jaeger dan Zipkin receiver: menerima format trace legacy.
  • Filelog receiver: membaca log dari file.
  • Host metrics receiver: mengumpulkan metrik sistem.

Processor Penting

  • Batch: menggabungkan data menjadi batch besar untuk efisiensi.
  • Memory limiter: membatasi penggunaan memori Collector.
  • Attributes: menambah, mengubah, atau menghapus atribut.
  • Resource: menambah atribut resource seperti nama cluster.
  • Tail sampling: sampling berdasarkan keputusan setelah trace lengkap.
  • Filter: menghapus data yang tidak diperlukan.
Processor batch dan memory limiter
processors:
  batch:
    send_batch_size: 10000
    timeout: 10s
  memory_limiter:
    check_interval: 1s
    limit_mib: 512

Konfigurasi limit_mib: 512 membuat Collector menjaga memori tetap terkendali di bawah 512 MiB.

Exporter dan Best Practices

Exporter yang Sering Dipakai

  • OTLP exporter: mengirim data ke backend lain yang mendukung OTLP.
  • Prometheus exporter: remote write metrik ke Mimir.
  • Loki exporter: mengirim log langsung ke Loki.
  • Jaeger exporter: meneruskan trace ke Jaeger bila ada.
  • Debug exporter: mencetak data ke konsol untuk troubleshooting.

Best Practices

  • Desain pipeline minimal: hanya pasang processor yang benar-benar dibutuhkan.
  • Optimasi resource: aktifkan memory limiter dan sesuaikan batch size.
  • Penanganan error: gunakan retry dan queue pada exporter.
  • High availability: jalankan dua instance gateway dengan load balancer.

Info

Aturan praktis: processor yang berat — sampling, parsing, filtering — sebaiknya berjalan di gateway, bukan di agent. Agent harus tetap ringan agar tidak menambah beban ke node aplikasi.

Penutup

Di episode 16 ini kalian memahami arsitektur Collector yang terdiri dari receiver, processor, exporter, dan extension, mode deployment agent, gateway, dan hybrid, komponen populer untuk masing-masing bagian, serta best practices menyusun pipeline yang andal dan efisien.

Inti yang harus dibawa pulang:

  • Pipeline menghubungkan receiver, processor, dan exporter.
  • Agent di tiap node, gateway terpusat untuk pemrosesan berat.
  • Batch dan memory limiter menjaga performa Collector.
  • Filter dan sampling menekan volume data.
  • Processor berat ditempatkan di gateway, bukan agent.

Di episode 17 selanjutnya kita akan membahas fitur lanjutan Grafana Alloy — perbandingan dengan OTel Collector, bahasa River lebih dalam, komponen discovery dan relabeling, serta mode clustering untuk high availability. Dua collector yang kalian kenal akan terhubung menjadi satu strategi koleksi.

Belajar Observability dengan LGTM Stack - OpenTelemetry Collector Deep Dive | Belajar Observability dengan LGTM Stack