Alibaba Cloud Logstash memiliki penggunaan dan penyetelan yang serupa dengan Logstash open source. Pemrosesan data menggunakan pipeline Logstash mencakup tahap-tahap berikut: input, filter, dan output. Di setiap tahap, data diproses oleh thread pekerja independen. Pada tahap input, peristiwa ditulis ke antrian pusat memori atau disk. Secara default, peristiwa ditulis ke antrian pusat memori. Setiap thread pekerja pipeline mengekstrak sekelompok peristiwa dari antrian pusat. Pada tahap filter, peristiwa tersebut diproses. Pada tahap output, peristiwa yang telah diproses dikirim ke tujuan. Topik ini menjelaskan cara memecahkan masalah kinerja Logstash. Instruksi dalam topik ini hanya untuk referensi.
Aktifkan Pemantauan
- Konfigurasikan kebijakan peringatan kustom untuk kluster Logstash di Alibaba Cloud CloudMonitor. Setelah dikonfigurasi, Anda dapat memperoleh data pemantauan metrik sistem terkait kluster Logstash. Untuk informasi lebih lanjut, lihat Konfigurasikan kebijakan peringatan kustom.
- Aktifkan fitur X-Pack Monitoring. Jika Anda mengaktifkan fitur ini untuk kluster Logstash, pastikan kluster Elasticsearch Alibaba Cloud yang terkait berada di virtual private cloud (VPC) yang sama dengan kluster Logstash. Anda dapat memperoleh data pemantauan metrik seperti pemanfaatan CPU, penggunaan memori kluster Logstash, laju penerimaan peristiwa, dan laju transfer peristiwa yang telah diproses. Untuk informasi lebih lanjut, lihat Aktifkan fitur X-Pack Monitoring.
Rekomendasi untuk Debugging
- Selama debugging, kami sarankan men-debug satu parameter pada satu waktu dan secara bertahap meningkatkan atau mengurangi nilainya. Selama proses ini, amati perubahan dalam penulisan data serta konsumsi data sumber dan tujuan.
- Jika sumber daya sistem untuk kluster Logstash mencukupi, kami sarankan memulai dengan men-debug nilai parameter Pipeline Batch Size. Ketika jumlah data yang dapat ditulis ke tujuan mencapai batas atas, Anda dapat men-debug nilai parameter Pipeline Workers. Jika Anda ingin menulis data ke kluster Elasticsearch, atur jumlah data yang ditulis sekaligus dalam permintaan penulisan massal menjadi sekitar 5 MB. Untuk informasi lebih lanjut, lihat Periksa konfigurasi parameter pipeline.
- Selama debugging, perhatikan beban pada sumber, kluster Logstash, dan tujuan, serta pastikan memori heap yang cukup tersedia untuk menangani lonjakan pengecualian. Untuk informasi lebih lanjut, lihat Periksa kinerja kluster Logstash. Catatan Logstash memproses peristiwa menggunakan pipeline. Kecepatan pemrosesan bergantung pada kemampuan konsumsi sumber dan tujuan.
- Anda dapat menginstal plugin logstash-output-file_extend untuk kluster Logstash. Dengan cara ini, setelah pipeline Logstash dimulai, Anda dapat menganalisis detail pemrosesan data bisnis berdasarkan log debug. Untuk informasi lebih lanjut, lihat Gunakan fitur debugging konfigurasi pipeline.
Periksa Kinerja Kluster Logstash
CPU
Anda dapat melihat pemanfaatan CPU berdasarkan data pemantauan. Jika pemanfaatan CPU kluster Logstash terlalu tinggi, perhatikan penggunaan memori heap kluster Logstash.
Memori Heap
- Dalam kebanyakan kasus, konfigurasikan ukuran memori heap antara 4 GB hingga 8 GB untuk kluster Logstash. Jika Anda memerlukan ukuran memori heap yang lebih besar karena alasan seperti sumber daya yang tidak mencukupi, lakukan penskalaan keluar kluster Logstash. Sebelum menggunakan kluster di lingkungan produksi, uji kluster Logstash Anda dan konfigurasikan ukuran memori heap sesuai kebutuhan bisnis.
- Penggunaan memori heap yang terlalu tinggi atau rendah memicu pengumpulan sampah (GC) yang sering, meningkatkan pemanfaatan CPU. Kami sarankan mengonfigurasi ukuran memori dua kali lipat dari ukuran memori asli kluster Logstash dan memeriksa apakah kinerja meningkat.
- Kami sarankan mengonfigurasi ukuran memori heap dan memori off-heap yang sama berdasarkan praktik terbaik Logstash open source.
Periksa Konfigurasi Parameter Pipeline
- Pipeline Workers: Parameter ini menentukan jumlah thread pekerja yang digunakan untuk menyaring peristiwa dan mentransfer hasil output setelah peristiwa diproses. Secara default, parameter ini diatur ke jumlah vCPU node di kluster Logstash. Jika pemanfaatan CPU kluster Logstash tidak tinggi, tingkatkan nilai parameter ini untuk meningkatkan kinerja pemrosesan peristiwa.
- Pipeline Batch Size: Parameter ini menentukan jumlah peristiwa yang diproses oleh setiap thread pekerja di tahap filter dan output. Tingkatkan nilai parameter ini untuk meningkatkan efisiensi pemrosesan peristiwa. Parameter ini sesuai dengan pengaturan bulk Elasticsearch.
Skenario Umum
Kafka
Bagaimana cara meningkatkan kemampuan konsumsi pesan Kafka ketika akumulasi pesan terjadi di Kafka?
- Dalam skenario dengan sejumlah besar data, tentukan jumlah partisi dalam topik Kafka dengan mengalikan jumlah node dalam kluster Logstash dengan jumlah thread konsumen untuk setiap node. Catatan Lebih banyak partisi memerlukan overhead yang lebih besar. Kami sarankan mengonfigurasi partisi berdasarkan kebutuhan bisnis Anda.
- Gunakan ID grup yang sama dalam konfigurasi beberapa pipeline di kluster Logstash untuk mendistribusikan beban ke beberapa server fisik. Pesan dalam topik dikirim ke konsumen dalam grup yang sama, meningkatkan kemampuan konsumsi pesan.
- Tingkatkan nilai parameter Pipeline Workers dan Pipeline Batch Size.