Mengubah Plugin Log untuk Meningkatkan Observability

Yong Qian

February 24, 2023

Technology

Saat ini, log sangat penting dalam API gateway, terutama untuk deteksi kesalahan dan pemecahan masalah, menghemat biaya operasi dan pemeliharaan. Log API gateway juga memiliki nilai besar dalam mendukung pengumpulan data. Untuk meningkatkan observabilitas dan stabilitas sistem, API gateway open-source Apache APISIX mendukung banyak plugin log, seperti elasticsearch-logger, kafka-logger, loggly, dan error-log-logger.

Nilai log gateway

Seiring pertumbuhan bisnis yang cepat di era digital, arsitektur perangkat lunak menjadi semakin kompleks, membuat deteksi dan diagnosis kesalahan menjadi jauh lebih menantang. Sekali lagi, ini menegaskan pentingnya observabilitas perangkat lunak.

Log adalah salah satu dari tiga pilar observabilitas. Mereka memberikan administrator sistem dan pengembang wawasan tentang status operasional sistem, yang memfasilitasi identifikasi dan penyelesaian masalah secara tepat waktu.

Selain itu, log dapat melayani tujuan tambahan, seperti penambangan data, audit, dan pemantauan keamanan, membantu menjaga kepatuhan dan keamanan sistem.

API gateway menghubungkan aplikasi dan dunia luar, memungkinkan organisasi untuk lebih baik mengelola dan memantau panggilan API, termasuk fungsi penting dari pencatatan log panggilan API.

API Gateway Log

Kami akan menganalisis nilai log API gateway dari dua perspektif dalam bagian berikut.

Nilai O&M

Baik itu O&M (operasi dan pemeliharaan) sistem tradisional atau modern SRE (Site Reliability Engineering), menemukan dan memperbaiki kesalahan selalu menjadi prioritas utama dalam memastikan stabilitas sistem. Hal ini karena setiap detik downtime dapat menyebabkan kerugian bisnis yang signifikan dan merusak pengalaman pengguna untuk bisnis online besar apa pun.

API gateway berada di garis depan seluruh sistem dan dapat berperan sebagai "penjaga". Kita dapat mengekstrak banyak data penting dari log aksesnya yang sangat penting untuk sistem O&M:

  • Menganalisis kode status upstream dan downstream untuk memantau ketersediaan situs web dan ketersediaan layanan upstream tertentu.
  • Menggunakan log akses untuk memantau lalu lintas situs web dan segera mendeteksi serangan seperti DDoS.
  • Menganalisis tren lalu lintas untuk memberikan referensi dalam menaikkan atau menurunkan skala sistem bisnis.
  • Melacak waktu pemrosesan permintaan untuk menghasilkan laporan kinerja tingkat antarmuka sebagai referensi data untuk mengoptimalkan kinerja sistem bisnis.

Di atas adalah beberapa praktik terbaik untuk log API gateway yang banyak diadopsi di industri dan diimplementasikan dalam sistem operasi dan pemeliharaan banyak perusahaan.

Nilai bisnis

Dibandingkan dengan nilai operasional yang diakui secara luas, nilai bisnis dari log gateway sering diabaikan.

Misalnya, dalam analisis perilaku pengguna, pengkodean adalah cara paling umum untuk mengumpulkan data melalui pelacakan peristiwa dalam program. Namun, untuk API yang dirancang dengan baik, log gateway secara alami dapat memenuhi persyaratan tersebut. Akibatnya, kita dapat melakukan banyak hal seperti:

  • Menganalisis IP klien untuk menentukan distribusi geografis lalu lintas.
  • Menganalisis HTTP Referer untuk memahami sumber akses pengguna ke setiap halaman.
  • Kita dapat langsung mendapatkan indikator bisnis kritis untuk statistik agregat dari API kunci. Misalnya, dengan menghitung panggilan API yang berhasil untuk pendaftaran pengguna dan penempatan pesanan, kita dapat memperoleh jumlah pengguna baru dan pesanan dalam periode tertentu.

Tentu saja, log gateway kurang fleksibel dibandingkan pelacakan peristiwa dan tidak dapat memenuhi kebutuhan pengumpulan data khusus; namun, mereka memiliki nilai bisnis yang cukup untuk memenuhi kebutuhan dasar penambangan data.

Apache APISIX adalah API gateway cloud-native yang dinamis, real-time, dan berkinerja tinggi yang menyediakan fungsi manajemen lalu lintas yang kaya seperti load balancing, upstream dinamis, canary release, circuit breaking, autentikasi, dan observabilitas.

Banyak kemampuannya disediakan melalui plugin, termasuk puluhan plugin logging. Berikut ini akan menggunakan plugin logging khas di APISIX sebagai contoh untuk menjelaskan bagaimana mengintegrasikan log gateway dengan sistem analisis log untuk membuka lebih banyak nilai.

Pengenalan plugin logging khas APISIX

elasticsearch-logger

Elastic Search And Apache APISIX

Elastic Search adalah mesin pencari dan analisis open-source terdistribusi yang digunakan untuk memproses data dalam jumlah besar dan sangat terkenal dalam analisis log. Dasbor data pelengkapnya, Kibana, dapat dengan mudah menyesuaikan berbagai bagan statistik untuk memenuhi kebutuhan organisasi untuk analisis kueri visual.

Dalam aplikasi praktis, karena sebagian besar log perangkat lunak tradisional disimpan ke file lokal, sebuah proyek dalam ekosistem Elastic Search yang disebut Filebeat digunakan untuk memantau file log pada mesin lokal dan mengirim log inkremental ke server Elastic Search.

Namun, plugin elasticsearch-logger yang disediakan oleh APISIX dapat langsung mengirim log akses APISIX ke server Elastic Search, yang dapat memberikan beberapa manfaat:

  • Penyebaran komponen Filebeat tidak diperlukan, menghasilkan rantai pemrosesan yang lebih pendek dan mengurangi sumber daya komputasi.
  • Log tidak disimpan di disk, sehingga tidak perlu khawatir tentang penggunaan ruang disk. Namun, log akses bisa sangat besar volumenya, dan jika rotasi file tidak ditangani dengan benar, dapat dengan cepat memenuhi disk mesin dan menyebabkan kegagalan. Selain itu, interaksi dengan disk juga dapat mengurangi kinerja gateway.

kafka-logger

Log akses gateway memiliki karakteristik yang menonjol: volume data log sebanding dengan volume permintaan bisnis: semakin banyak permintaan, semakin banyak log.

Bisnis online biasanya menunjukkan pola periodik dalam volume permintaan. Misalnya, platform pengiriman makanan cenderung mengalami lalu lintas tinggi selama waktu makan, sementara situs video mengalami puncak setelah jam kerja.

Ini menimbulkan tantangan besar untuk sistem penyimpanan log, dan memastikan bahwa sistem dapat berfungsi dengan baik selama puncak lalu lintas adalah keterampilan penting bagi setiap administrator ElasticSearch.

Apache APISIX And Kafka

Antrian pesan adalah alat terbaik untuk menyeimbangkan lalu lintas. Memperkenalkan antrian pesan antara gateway dan sistem penyimpanan untuk menyediakan buffer log akan secara signifikan mengurangi tekanan pada sistem penyimpanan selama periode lalu lintas puncak.

Untuk tujuan ini, APISIX menyediakan kafka-logger, yang mengirimkan log akses ke server Kafka, menghindari dampak langsung pada penyimpanan log.

loggly

Dalam beberapa tahun terakhir, konsep [SaaS (Software as a service)] (https://en.wikipedia.org/wiki/Software_as_a_service) secara bertahap menjadi populer, disukai oleh banyak usaha kecil dan menengah karena ambang masuk yang rendah dan model harga pay-as-you-go. Dalam bidang analisis log, banyak produk SaaS telah muncul, dan loggly telah menjadi pemimpin dengan sumber log yang kaya dan kemampuan analisisnya.

Dalam konteks ini, komunitas APISIX yang aktif telah mengembangkan plugin Loggly siap pakai, yang hanya memerlukan konfigurasi informasi kredensial untuk langsung mengirim log akses APISIX ke layanan Loggly, membuatnya sangat nyaman digunakan.

Seperti plugin Loggly, APISIX juga menyediakan google-cloud-logging, sls-logger, dan tencent-cloud-cls plugin, yang dapat dengan mudah diintegrasikan dengan layanan log vendor cloud utama.

Apache APISIX Log SaaS

error-log-logger

Plugin yang diperkenalkan di atas semuanya digunakan untuk mengumpulkan log akses. Namun, ada jenis log lain di APISIX, yaitu log kesalahan (error.log), yang sangat penting untuk mendiagnosis malfungsi gateway.

Oleh karena itu, APISIX menyediakan error-log-logger untuk mengirim log kesalahan ke server jarak jauh untuk penyimpanan dan analisis. Dalam praktiknya, konfigurasi tingkat logging APISIX dapat digunakan untuk mencetak lebih banyak log tingkat debug atau info, yang berisi log status operasional gateway yang lebih rinci. Dengan menggunakan log ini, kita dapat menemukan sebagian besar masalah.

Ringkasan

Log gateway mengandung nilai yang sangat besar, dan kita dapat melihat dari banyaknya plugin log dalam proyek Apache APISIX bahwa pengguna perusahaan dalam komunitas mengakui nilai log gateway. Selain itu, plugin ini lebih lanjut mengurangi biaya penyiapan sistem log untuk pengguna baru.

Selain itu, APISIX memiliki dua jenis plugin observabilitas lainnya: metrics dan tracing. Digabungkan dengan plugin log, mereka akan lebih meningkatkan observabilitas gateway dan membantu membangun stabilitas sistem.

Tags: