- LogHouse tumbuh dari memproses 19PiB menjadi lebih dari 100PB data log dalam 1 tahun, dan menskalakan hingga sekitar 500 triliun baris
- Karena keterbatasan pemrosesan data dan masalah inefisiensi pada OpenTelemetry(OTel), sistem ini beralih ke pipeline kustom (SysEx) yang disesuaikan dengan sistem inti
- Melalui perubahan ini, efisiensi tercapai dengan throughput pemrosesan event meningkat 20x sementara penggunaan CPU tetap di bawah 10%
- Dengan adopsi HyperDX dan ClickStack dari ClickHouse, dibangun integrasi UI dan data, fleksibilitas skema, serta lingkungan eksplorasi data yang kuat
- Dengan mengadopsi model wide events dan high-cardinality, kini semua event dapat disimpan dan dianalisis tanpa pra-agregasi
Latar belakang dan perubahan
- Platform logging internal LogHouse untuk ClickHouse Cloud telah berkembang dalam 1 tahun menjadi sistem berskala besar, dengan volume data meningkat dari 19PiB menjadi lebih dari 100PB, dan dari 37 triliun baris menjadi hampir 500 triliun baris
- Pada awalnya, semua telemetri dikumpulkan melalui OpenTelemetry(OTel), tetapi di lingkungan data berskala besar, masalah performa, keterbatasan sumber daya, serta pemborosan CPU dan kehilangan data dalam proses transformasi data menjadi sangat menonjol
Keterbatasan OTel dan alasan adopsi pipeline kustom
- Pipeline OTel sangat tidak efisien karena log diubah ke JSON, lalu dipetakan ulang ke format OTel, sehingga konversi dan marshaling berulang kali terjadi
- Dalam praktiknya, untuk memproses 20 juta baris per detik dengan basis OTel dibutuhkan sekitar 8.000 core CPU
- Saat lonjakan trafik terjadi, Collector mengalami overload dan menyebabkan log ter-drop, sehingga ada data yang gagal terkumpul
Adopsi SysEx dan arsitekturnya
- SysEx(System Tables Exporter) memindahkan data dari system tables ClickHouse langsung ke LogHouse dalam tipe aslinya tanpa transformasi
- Dengan scraping terdistribusi berbasis hash ring, buffer penundaan waktu dan metode sliding window, sistem ini mencegah kehilangan data dan memenuhi SLA internal
- Dengan Go dan fitur kustom pada klien ClickHouse, dimungkinkan transfer byte-to-byte tanpa data marshaling
- Untuk menangani skema yang dinamis, diterapkan hash skema dan manajemen skema dinamis, lalu beberapa versi skema disatukan ke dalam satu logical view melalui Merge table engine
- Mendukung pengumpulan memory table berbasis snapshot, serta pekerjaan diagnosis dan analisis yang lebih canggih
Peningkatan performa dan efisiensi
- Dengan adopsi SysEx, OTel Collector memproses 2 juta log per detik dengan 800 CPU, sedangkan SysEx dapat memproses 37 juta log dengan 70 CPU
- Peningkatan efisiensi ini secara drastis menurunkan penggunaan sumber daya, mencegah kehilangan event, dan memungkinkan lingkungan dukungan real-time
Peran OTel yang tetap berlanjut
- OTel tetap penting karena menyediakan platform standar yang vendor-netral, dan masih esensial saat terjadi gangguan layanan atau kondisi abnormal
- OTel tetap dapat menangkap log bahkan pada situasi crash atau abnormal yang tidak dapat ditangani SysEx
- Saat ini, hanya log di bawah trace level yang dihapus, dan hanya level info ke atas yang dikumpulkan untuk mengoptimalkan penggunaan sumber daya
Integrasi UI serta HyperDX dan ClickStack
- Dari UI Grafana kustom yang lama, sistem ini secara bertahap beralih ke UI ClickHouse-native berbasis HyperDX
- HyperDX menawarkan independen terhadap skema, dukungan kueri Lucene, dukungan SQL, dan kompatibilitas penuh dengan beragam tipe data ClickHouse
- Data dari berbagai struktur tabel dan sumber exporter kustom juga bisa diintegrasikan tanpa perubahan UI
- Grafana menangani metrik berbasis Prometheus dan dashboard tetap, sehingga kedua solusi digunakan secara saling melengkapi
Adopsi model Wide Events dan high-cardinality
- Wide events adalah pendekatan inovatif yang menyimpan semua data tanpa agregasi, dengan tiap baris memuat beragam konteks seperti query ID, nama Pod, dan informasi versi
- Berbeda dengan Prometheus dan sejenisnya, pendekatan ini memungkinkan analisis mendalam dan kueri fleksibel tanpa pra-agregasi, batas label, atau kekhawatiran ledakan cardinality
- Dengan melakukan agregasi yang diperlukan pada saat analisis data, sistem ini sekaligus menjaga performa dan biaya bahkan di lingkungan data skala besar
Visualisasi data dan fleksibilitas kueri
- ClickHouse terintegrasi dengan baik dengan Plotly, Jupyter notebook, dan lainnya, sehingga berbagai alat visualisasi dapat digunakan dengan bebas
- Selain eksplorasi cepat berbasis Lucene di HyperDX, analisis akar masalah tingkat lanjut melalui kueri relasi dan kondisi kompleks (SQL, JOIN, dan lain-lain) dapat langsung dilakukan di ClickHouse
Peningkatan berbagai sumber data berbasis Wide Event
- kubenetmon: open source pemantauan jaringan Kubernetes, analisis trafik L3/L4, koneksi, dan biaya
- Kubernetes Event Exporter: memanfaatkan fork dengan sink ClickHouse tambahan, melacak perubahan status klaster skala besar, dan sedang bereksperimen dengan snapshot objek penuh
- Control Plane Data, RUM(Real User Monitoring), Istio Access Log, dan data dari berbagai lapisan lain sangat memperkuat cakupan interpretasi dan kemampuan analisis korelasi
Pertimbangan operasional dan arah ke depan
- SysEx dapat terekspos ke log dan metrik selama kueri, tetapi dirancang dengan batas memori dan struktur yang meminimalkan dampak saat terjadi error
- Zero-impact scraping: sedang diteliti pendekatan yang secara fundamental menghilangkan dampak pada klaster melalui arsitektur yang sepenuhnya terlepas (misalnya memanfaatkan plain rewritable disk berbasis S3)
- OTel tetap menjadi elemen penting untuk mengamankan log pada tahap awal layanan dan kondisi abnormal, tetapi ketika pendekatan zero-impact stabil, ketergantungannya diperkirakan akan makin berkurang
Evolusi dan pemanfaatan tipe JSON di ClickHouse
- Tipe JSON kini resmi dirilis sebagai GA, memungkinkan pembuatan kolom dinamis per field, dukungan untuk berbagai tipe, dan penanganan fleksibel terhadap ledakan skema
- Karena optimasi untuk kueri JSON dengan sangat banyak kolom belum sepenuhnya matang, pendekatan seperti penyimpanan paralel berdasarkan bentuk data dan penegasan kembali kepraktisan tipe Map sedang terus disempurnakan
- Bersama HyperDX, field Map dan JSON dapat diekstrak dan dianalisis secara otomatis, dan ada rencana pemanfaatan JSON yang lebih luas ke depan
Kesimpulan dan perubahan budaya
- LogHouse kini telah menjadi platform observabilitas inti dalam operasi ClickHouse Cloud, mulai dari analisis performa hingga debugging real-time
- Penghematan biaya memang menjadi titik awal, tetapi melalui alat kustom seperti SysEx, harmoni dengan OTel, dan perluasan UI fleksibel berbasis HyperDX, tim ini sedang mengalami transformasi teknis dan kultural
- Model data berbasis Wide Event berskala besar dan berakurasi tinggi memberikan nilai dan efisiensi baru bagi engineering, support, dan analisis data
- Ke depan, berdasarkan pengalaman di skala 100PB dan 500 triliun baris, mereka berencana terus memimpin masa depan observabilitas
1 komentar
Opini Hacker News