Dengan mengonfigurasi Log4j Appender dalam file YAML workload Anda, Anda dapat mengirim log dari aplikasi Java di kluster Anda langsung ke proyek Simple Log Service (SLS). Metode ini memungkinkan pengumpulan log tanpa agen.
Log4j adalah framework logging open-source yang dikelola oleh Apache dan dirancang untuk aplikasi Java. Komponen intinya mencakup Appender (target output), Layout (format output), dan Filter.
Prasyarat
-
Tersedia pasangan AccessKey untuk mengintegrasikan Log4j Appender ke dalam aplikasi Anda.
Untuk keamanan, gunakan RAM user alih-alih akun Alibaba Cloud Anda dan buat pasangan AccessKey untuk RAM user tersebut.
Langkah 1: Konfigurasikan Log4j Appender
Langkah ini menjelaskan cara membuat proyek SLS dan Logstore. Setelah Anda mengonfigurasi Log4j Appender sebagai sumber data untuk Logstore, aplikasi Java Anda dapat mengirim log langsung ke SLS.
Buat proyek SLS di wilayah yang sama dengan kluster Anda. Jika berada di wilayah yang sama, data log ditransmisikan melalui jaringan internal, sehingga menghindari biaya bandwidth publik dan mengurangi latensi jaringan.
Untuk informasi lebih lanjut tentang penagihan proyek SLS, lihat Ikhtisar penagihan.
-
Buat proyek SLS.
Bagian ini hanya menjelaskan parameter kunci. Anda dapat mempertahankan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Mengelola proyek.
-
Region: Pilih wilayah yang sama dengan kluster ACK Anda. Dalam contoh ini, China (Hangzhou) dipilih.
-
Project Name: Masukkan nama proyek. Contoh ini menggunakan k8s-log4j.
-
-
Buat Logstore dalam proyek tersebut.
Dalam contoh ini, Logstore Name adalah k8s-logstore. Anda dapat mempertahankan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat Logstore.
-
Setelah k8s-logstore dibuat, ikuti petunjuk di layar untuk mengingest data.
-
Cari kartu ingesti Log4j, lalu ikuti petunjuk di layar untuk menyelesaikan ingesti.
Contoh ini menggunakan konfigurasi default. Anda dapat menyesuaikan pengaturan sesuai kasus penggunaan spesifik Anda. Di wizard sumber data Log4j, lengkapi langkah-langkah berikut: Select a Logstore, Configure Data Source, dan Configure Search & Analysis. Di area instruksi, klik tautan View Help untuk panduan detail, lalu klik Next untuk menyelesaikan pengaturan.
Langkah 2: Integrasikan Log4j
Langkah ini menerapkan aplikasi Spring Boot contoh untuk menunjukkan cara mengintegrasikan plugin Log4j Appender ke dalam aplikasi Java. Setelah integrasi, kontainer meneruskan konfigurasi SLS melalui variabel lingkungan JAVA_OPTS saat startup. Log4j secara otomatis membaca parameter ini dan mengirim log ke SLS secara real time.
-
Unduh file demo-deployment.yaml dan konfigurasikan variabel lingkungan
JAVA_OPTS.File sumber tersedia di demo-deployment.
Parameter
JAVA_OPTS:-
-Dproject: Nama proyek SLS Anda. Dalam contoh ini, k8s-log4j. -
-Dlogstore: Nama Logstore SLS Anda. Dalam contoh ini, k8s-logstore. -
-Dendpoint: Titik akhir layanan wilayah tempat proyek Anda berada. Untuk informasi lebih lanjut, lihat Service Endpoints. Contoh ini menggunakan cn-hangzhou.log.aliyuncs.com. -
-Daccess_key_id: Ganti dengan ID AccessKey Anda. -
-Daccess_key: Ganti dengan Rahasia AccessKey Anda.
-
-
Buat Deployment.
kubectl create -f demo-deployment.yaml -
Unduh file demo-service.yaml. Anda dapat mempertahankan konfigurasi default.
File sumber tersedia di demo-Service.
-
Terapkan file demo-service.yaml untuk membuat Service.
kubectl create -f demo-service.yaml
Langkah 3: Uji pengumpulan log
Setelah Deployment dan Service diterapkan, Anda dapat memverifikasi bahwa log ditulis ke SLS dengan mengakses layanan melalui alamat IP eksternalnya (EXTERNAL-IP), yang akan menghasilkan entri log.
-
Lihat
EXTERNAL-IPdari Service.kubectl get svcOutput yang diharapkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE log4j-appender-demo-spring-boot-svc LoadBalancer 172.21.XX.XX 120.55.XXX.XXX 8080:30398/TCP 1h -
Akses titik akhir
/loginuntuk menghasilkan entri log uji.Ganti
K8s_SERVICE_IPdenganEXTERNAL-IP.curl http://${K8S_SERVICE_IP}:8080/login?name=bruceUntuk daftar lengkap API, lihat GitHub log4j-appender-demo.
Langkah 4: Lihat log
Anda dapat masuk ke konsol SLS untuk melakukan kueri dan analisis log yang telah dikumpulkan.
Masuk ke Konsol Simple Log Service.
-
Di bagian Projects, klik proyek target untuk membuka halaman detailnya.
-
Klik ikon
di sebelah kanan nama Logstore dan pilih Query and Analysis untuk melihat log yang dikumpulkan dari kluster Anda.Hasil kueri menampilkan entri log, di mana bidang
messageberisiUser login successfully, requestID=hIAgSGKGyA name=bruce. Hal ini mengonfirmasi bahwa log aplikasi telah berhasil dikumpulkan ke SLS.