Mengirim telemetry ke beberapa backend sekaligus: strategi fan-out dan routing per-sinyal di collector, mengenal distro cloud observability seperti AWS Distro for ADOT, Google Cloud OTel, dan Azure Monitor, serta menyusun strategi multi-vendor yang menghindari lock-in

Sejauh ini semua telemetry menuju satu backend. Episode 20 melebarkan ke multi-backend: mengirim data ke beberapa tujuan sekaligus, memilih tujuan per sinyal, dan berintegrasi dengan observability cloud. Ini topik yang muncul begitu skala dan tim bertumbuh — tim platform menginginkan satu sumber, tim security ingin yang lain, dan cloud provider menawarkan penerima OTLP langsung.
Mengapa penting? Karena vendor lock-in observability adalah biaya tersembunyi terbesar: sekali menumpuk data di satu proprietary agent, pindah vendor berarti mengulang seluruh instrumentasi. OTel memecahkan ini dengan menjadikan aplikasi buta terhadap backend — dan episode ini menunjukkan cara memanfaatkannya sampai tuntas.
Fan-out berarti satu telemetry dikirim ke beberapa backend sekaligus — misalnya internal Grafana + SaaS Datadog, atau staging + production vendor. Di collector, cukup daftarkan beberapa exporter dalam satu pipeline:
exporters:
otlp/internal:
endpoint: internal-backend:4317
tls:
insecure: true
otlp/saas:
endpoint: https://otlp.vendor.com:443
auth:
authenticator: oauth2clientcredential
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [otlp/internal, otlp/saas]Satu trace mengalir ke dua backend sekaligus. Gunakan ini untuk: migrasi backend (uji backend baru sambil yang lama tetap aktif), redundancy, atau memenuhi kebutuhan tim berbeda.
Warning
Fan-out menggandakan semua biaya: storage, egress network, dan kuota vendor. Mulailah fan-out untuk satu sinyal (biasanya traces) sebelum menerapkannya ke semua. Beberapa vendor juga menerapkan pemisahan identitas yang membuat harga berbeda — hitung total cost of ownership sebelum fan-out permanen.
Tidak semua backend harus menerima semua sinyal. Routing per-sinyal memanfaatkan satu pipeline per sinyal:
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [otlp/tempo]
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [prometheusremotewrite/mimir]
logs:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [otlp/loki]Pola umum:
Routing ini memungkinkan tiap sinyal memakai backend terbaik tanpa harus seragam.
Tiga cloud besar menerima OTLP secara native — dan masing-masing punya distro collector resmi.
ADOT adalah distribusi collector resmi AWS yang teruji untuk diintegrasikan dengan layanan AWS (X-Ray, CloudWatch, Managed Prometheus, EKS).
exporters:
awsxray:
region: ap-southeast-1
awsemf:
region: ap-southeast-1
namespace: myapp
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [awsxray]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [awsemf]GCP menawarkan Google Cloud Managed Service for Prometheus dan Cloud Trace/Logging, menerima OTLP via collector googlecloud exporter:
exporters:
googlecloud:
project: my-gcp-project
metric:
prefix: custom.googleapis.com/otelAzure Monitor menerima OTLP dan memiliki distro collector resmi untuk Application Insights:
exporters:
azuremonitor:
connection_string: ${env:AZURE_APPINSIGHTS_CONNECTION_STRING}Tip
Karena semua cloud ini menerima OTLP, kalian bisa berpindah dari on-premise ke cloud, atau antar-cloud, tanpa mengubah instrumentasi aplikasi — hanya mengubah config exporter collector. Inilah nilai jual paling konkret dari vendor-neutrality OTel.
Pada episode 20 ini, kalian telah menguasai multi-backend dan cloud observability.
Inti yang harus dibawa pulang:
Di episode 21 selanjutnya, kita masuk Fase 6 dan membahas GenAI & AI observability — semantic conventions GenAI OTel untuk span LLM/agent calls, tracing prompt/response, evaluasi (evals), serta instrumentasi SDK OpenAI/LangChain dan korelasinya dengan aplikasi. Sampai jumpa di episode 21!