All Products
Search
Document Center

Simple Log Service:Kumpulkan log pengembangan IoT atau tertanam

Last Updated:Jun 26, 2025

Pasar global untuk solusi Internet of Things (IoT) berkembang pesat. Semakin banyak perangkat IoT cerdas digunakan dalam kehidupan sehari-hari, seperti router pintar, TV dongle, Tmall Genie, dan robot penyedot debu. Namun, model pengembangan tertanam di industri perangkat lunak tradisional menimbulkan tantangan besar bagi industri IoT. Misalnya, solusi pencatatan perangkat tradisional tidak dapat memenuhi persyaratan karena banyaknya perangkat IoT yang tersebar luas di berbagai lokasi dan sulit untuk di-debug atau diskalakan.

Untuk mengatasi tantangan ini, Simple Log Service menyediakan C Producer Library berdasarkan pengalaman bertahun-tahun dalam mengembangkan Logtail. C Producer Library adalah solusi pengumpulan log yang disesuaikan untuk perangkat IoT.

Log collection solution

Persyaratan dalam pengembangan perangkat lunak tertanam

Pengembang perangkat lunak IoT atau tertanam harus memiliki pengetahuan mendalam dan pengalaman yang luas untuk mengelola, memantau, dan menyelesaikan masalah pada banyak perangkat IoT. Pengembangan perangkat lunak tertanam memiliki persyaratan berikut:

  • Pengumpulan data: Kumpulkan data dari jutaan atau puluhan juta perangkat yang tersebar di seluruh dunia secara real-time.

  • Debugging: Gunakan satu set solusi untuk mengumpulkan data secara online dan melakukan debugging perangkat lunak secara real-time.

  • Pemecahan masalah online: Identifikasi lokasi perangkat IoT online dan tentukan penyebab kesalahan jika terjadi masalah pada perangkat.

  • Pemantauan: Pantau jumlah, status, dan lokasi perangkat IoT online, serta konfigurasikan aturan peringatan untuk perangkat tersebut.

  • Analisis data real-time: Visualisasikan data yang dihasilkan oleh perangkat IoT untuk membuat profil pengguna dengan menghubungkan perangkat dengan platform komputasi real-time dan gudang data besar.

Requirements in embedded software development

Tantangan utama di bidang IoT

Solusi pengembangan perangkat lunak tradisional tidak dapat memenuhi persyaratan yang disebutkan di atas dalam industri IoT karena tantangan berikut:

  • Banyak perangkat IoT diterapkan. Dalam pemeliharaan tradisional, mengelola 10.000 server adalah tantangan besar. Namun, di industri IoT, mengelola 100.000 perangkat IoT online hanya merupakan persyaratan dasar.

  • Perangkat IoT tersebar luas di berbagai tempat di dalam suatu negara atau di seluruh dunia.

  • Perangkat IoT sering berada dalam status tidak diketahui dan sulit diakses serta di-debug.

  • Perangkat IoT dilengkapi dengan perangkat keras rendah untuk mengurangi biaya. Misalnya, perangkat IoT mungkin memiliki total ukuran memori sebesar 32 MB. Akibatnya, solusi pengumpulan log tradisional untuk PC tidak berlaku untuk perangkat IoT.

C Producer

Solusi pengumpulan data log yang disesuaikan oleh Simple Log Service.

Logtail adalah Agen dari Simple Log Service dan diterapkan pada jutaan server x86. . Selain itu, Simple Log Service menyediakan berbagai solusi pengumpulan:

  • Mobile SDK: Anda dapat menggunakan SDK untuk mengumpulkan data dari platform Android atau iOS dengan puluhan juta Pengguna aktif harian (DAU).

  • Pelacakan web (JavaScript): Pelacakan web adalah solusi ringan yang mirip dengan Baidu Tongji dan Google Analytics. Anda dapat menggunakan pelacakan web untuk mengumpulkan data tanpa tanda tangan.

Dalam solusi-solusi ini, C Producer Library adalah solusi yang disesuaikan berdasarkan Logtail untuk mengumpulkan data log dari perangkat IoT. Solusi ini kompatibel dengan CPU, memori, disk, jaringan, dan mode aplikasi perangkat IoT. Gambar berikut menunjukkan fitur-fitur dari solusi-solusi ini.

Log collection solutions

Fitur C Producer Library

C Producer Library berfungsi sebagai Logtail ringan untuk menawarkan stabilitas tinggi, performa tinggi, dan konsumsi sumber daya rendah. Dibandingkan dengan Logtail, C Producer Library tidak mendukung manajemen konfigurasi real-time. Namun, C Producer Library mewarisi fitur-fitur berikut dari Logtail:

  • Multi-penyewa: C Producer Library dapat memproses berbagai jenis log seperti Metric, DebugLog, dan ErrorLog berdasarkan prioritas mereka. Anda dapat mengonfigurasi beberapa klien untuk C Producer Library. Anda juga dapat mengonfigurasi prioritas pengumpulan, Proyek tujuan, dan Logstore tujuan untuk setiap klien.

  • Pencarian kontekstual: Log yang dihasilkan oleh klien yang sama berada dalam konteks yang sama. Anda dapat melihat log relevan sebelum dan sesudah log tertentu.

  • Pengiriman bersamaan dan unggah yang dapat dilanjutkan: Anda dapat mengatur ukuran cache maksimum. Jika ukuran log yang di-cache mencapai batas atas, tidak ada lagi log yang dapat ditulis ke cache.

Selain itu, C Producer Library menyediakan fitur-fitur berikut yang spesifik untuk perangkat IoT:

  • Debugging lokal: Anda dapat mengekspor log ke perangkat lokal. Anda dapat mengonfigurasi rotasi log, jumlah log, dan ukuran rotasi.

  • Kontrol sumber daya granular: Anda dapat mengatur ukuran cache dan mode agregat untuk berbagai jenis data atau log.

  • Kompresi cache log: Jika data log gagal dikirim ke Logstores, data log dapat dikompresi untuk mengurangi penggunaan memori perangkat IoT.

Features of C Producer Library

Keuntungan C Producer Library

Sebagai solusi kustom untuk perangkat IoT, C Producer Library memiliki keuntungan berikut:

Advantages of C Producer Library

  • Lalu lintas tulis bersamaan tinggi: Anda dapat mengonfigurasi kolam thread klien untuk menulis ratusan ribu log per detik ke Simple Log Service. Untuk informasi lebih lanjut, lihat bagian "Uji performa" dalam topik ini.

  • Konsumsi sumber daya rendah: Hanya 70% dari sumber daya CPU yang diperlukan untuk menulis 200.000 log per detik. Untuk perangkat keras berperforma rendah seperti Raspberry Pi, sumber daya CPU tidak terpengaruh meskipun 100 log dihasilkan per detik.

  • Pengiriman log langsung: Setelah log dihasilkan, mereka langsung dikirim ke Simple Log Service.

  • Isolasi logis antara komputasi dan I/O: Log dihasilkan secara asinkron tanpa memblokir thread pekerja.

  • Banyak prioritas: Anda dapat mengonfigurasi prioritas berbeda untuk klien Anda untuk memastikan bahwa log dengan prioritas lebih tinggi dikirim terlebih dahulu.

  • Debugging lokal: Anda dapat mengonfigurasi debugging lokal untuk menguji aplikasi Anda jika koneksi jaringan tidak tersedia.

C Producer Library menyederhanakan pengembangan aplikasi. Anda tidak perlu mempertimbangkan implementasi pengumpulan log atau dampaknya pada bisnis Anda. Ini membuat pengumpulan data menjadi jauh lebih mudah.

Tabel berikut membandingkan C Producer Library dan solusi pengumpulan tertanam lainnya.

Jenis

C Producer

Solusi lainnya

Pemrograman

Platform

Berdasarkan mobile dan tertanam

Berdasarkan mobile

Konteks

Didukung

Tidak didukung

Banyak jenis log

Didukung

Tidak didukung

Format Kustom

Didukung

Tidak didukung (Beberapa bidang terbatas disediakan)

Prioritas

Didukung

Tidak didukung

Parameter lingkungan

Dapat dikonfigurasi

Dapat dikonfigurasi

Stabilitas

Konkurensi

Tinggi

Sedang

Algoritma kompresi

LZ4 (keseimbangan antara efisiensi dan performa) dan Gzip

Dioptimalkan

Konsumsi sumber daya rendah

Dioptimalkan

Sedang

Transmisi

Unggah yang dapat dilanjutkan

Didukung

Secara default, unggah yang dapat dilanjutkan tidak didukung. Pengembangan sekunder diperlukan untuk mendukung unggah yang dapat dilanjutkan.

Titik akhir

8 titik akhir di China dan 8 titik akhir di luar China

Hangzhou

Debugging

Log lokal

Didukung

Didukung dalam mode manual

Pengaturan parameter

Didukung

Tidak didukung

Pengumpulan real-time

Terlihat di sisi server

1 detik (99,9%) hingga 3 detik (maksimum)

1 hingga 2 jam

Pemrosesan kustom

Lebih dari 15 mode koneksi

Solusi real-time dan offline kustom

Solusi C Producer Library + Simple Log Service

C Producer Library dapat diintegrasikan dengan Simple Log Service untuk menyediakan solusi pengumpulan log penuh untuk perangkat IoT.

  • Skala besar

    • Menulis ratusan juta log dari klien ke Simple Log Service secara real-time.

    • Menulis petabyte data per hari.

  • Kecepatan tinggi

    • Pengumpulan cepat: Log dapat langsung dikonsumsi setelah ditulis ke Simple Log Service.

    • Pencarian cepat: Miliaran catatan data dapat diproses dan dicari dalam 1 detik dengan menjalankan pernyataan query kompleks di mana Anda menentukan lima kondisi.

    • Analisis cepat: Ratusan juta catatan data dapat di-agregasi dan dianalisis dalam 1 detik dengan menjalankan pernyataan analisis kompleks yang mencakup lima fungsi agregat dan klausa GROUP BY.

  • Kompatibilitas tinggi

    • Terintegrasi mulus dengan berbagai layanan Alibaba Cloud.

    • Kompatibel dengan berbagai sistem penyimpanan, komputasi, dan visualisasi open source.

C Producer Library solution

Unduh dan gunakan C Producer Library

URL Unduhan: GitHub

Anda dapat membuat beberapa produser untuk setiap aplikasi dan membuat beberapa klien untuk setiap produser. Anda dapat mengonfigurasi alamat IP tujuan, level log, debugging lokal, ukuran cache, pengenal kustom, dan topik untuk setiap klien.

Untuk informasi lebih lanjut tentang cara menginstal C Producer Library, lihat README.

Download and use C Producer Library

Uji performa

Konfigurasi Lingkungan

  • Skenario performa tinggi: server x86 tradisional.

  • Skenario performa rendah: Raspberry Pi (lingkungan dengan konsumsi daya rendah).

Gambar berikut menunjukkan detail konfigurasi.

Environment configuration

Konfigurasi C Producer Library

  • ARM (Raspberry Pi)

    • Ukuran cache: 10 MB

    • Waktu agregasi: 3 detik. Jika waktu agregasi, ukuran paket teragregasi, atau jumlah log teragregasi mencapai ambang batas yang ditentukan, data akan dikemas dan dikirim ke Simple Log Service.

    • Ukuran paket teragregasi: 1 MB

    • Jumlah log teragregasi: 1.000

    • Jumlah thread pengiriman: 1

    • Jumlah tag kustom: 5

  • X86

    • Ukuran cache: 10 MB

    • Waktu agregasi: 3 detik. Jika waktu agregasi, ukuran paket teragregasi, atau jumlah log teragregasi mencapai ambang batas yang ditentukan, data akan dikemas dan dikirim ke Simple Log Service.

    • Ukuran paket teragregasi: 3 MB

    • Jumlah log teragregasi: 4.096

    • Jumlah thread pengiriman: 4

    • Jumlah tag kustom: 5

Contoh log berikut berisi sembilan pasangan nilai-kunci:

__source__: 192.0.2.1
__tag__:1: 2
__tag__:5: 6
__tag__:a: b
__tag__:c: d
__tag__:tag_key: tag_value
__topic__: topic_test
_file_: /disk1/workspace/tools/aliyun-log-c-sdk/sample/log_producer_sample.c
_function_: log_producer_post_logs
_level_: LOG_PRODUCER_LEVEL_WARN
_line_: 248
_thread_: 40978304
LogHub: Pengumpulan dan konsumsi log real-time
Search/Analytics: Query dan analisis real-time
Interconnection: Grafana dan JDBC/SQL92
Visualized: Fungsi dashboard dan laporan

Hasil Uji

  • Hasil uji pada server x86

    • C Producer Library dapat mengirim hingga 90 MB data per detik. C Producer Library juga dapat mengunggah 200.000 log per detik, dan hanya menggunakan 70% sumber daya CPU dan 140 MB memori.

    • Ketika C Producer Library mengirim 200 log per detik, ia menggunakan kurang dari 0,01% sumber daya CPU.

    • Setiap thread pengiriman mengonsumsi rata-rata 1,2 μs untuk mengirim sebuah log.

    Test results on the x86 servers

  • Hasil uji pada Raspberry Pi

    • CPU Raspberry Pi mencapai kecepatan hanya 600 MHz. Oleh karena itu, performa Raspberry Pi sekitar 10% dari performa server X-86. Dalam hal ini, C Producer Library dapat mengirim maksimal 20.000 log per detik.

    • Ketika Raspberry Pi mengirim 20 log per detik, ia menggunakan kurang dari 0,01% sumber daya CPU.

    • Ketika Raspberry Pi terhubung ke jaringan bersama PC menggunakan port USB, setiap thread pengiriman mengonsumsi rata-rata 12 μs untuk mengirim sebuah log.

    Test results on Raspberry Pi