Dengan mengonfigurasi Log4j Appender di YAML beban kerja, Anda dapat menulis log dari aplikasi Java di kluster Anda ke proyek Alibaba Cloud Simple Log Service (SLS), mencapai pengumpulan log non-intrusif.
Log4j adalah kerangka kerja logging open source yang dikelola oleh Apache, dirancang khusus untuk aplikasi Java. Komponen inti Log4j meliputi Appenders (target output), Layouts (format output), dan Filters. Dengan mengonfigurasi Appenders, Anda dapat menentukan tujuan transmisi log, seperti konsol dan file.
Prasyarat
Sebuah kluster ACK telah dibuat.
Sebuah AccessKey telah dibuat untuk mengintegrasikan Log4j Appender dalam aplikasi.
Untuk memastikan keamanan akun, kami sarankan menggunakan pengguna RAM (bukan akun Alibaba Cloud) dan membuat AccessKey yang sesuai.
Langkah 1: Konfigurasikan Log4j Appender di SLS
Langkah ini membimbing Anda untuk membuat proyek SLS dan penyimpanan log. Setelah mengonfigurasi sumber data penyimpanan log sebagai Log4j Appender, Anda dapat mengirimkan log aplikasi Java langsung ke SLS.
Disarankan untuk membuat proyek SLS di wilayah yang sama dengan kluster Anda. Dengan cara ini, data log dapat ditransmisikan melalui jaringan internal, menghindari biaya bandwidth eksternal dan latensi jaringan yang disebabkan oleh transmisi lintas wilayah.
Untuk informasi lebih lanjut tentang penagihan proyek SLS, lihat Ikhtisar Penagihan.
Buat proyek SLS.
Berikut ini memperkenalkan parameter inti. Parameter lainnya dapat tetap menjadi default. Untuk informasi lebih lanjut, lihat Kelola proyek.
Region: Disarankan untuk memilih wilayah yang sama dengan kluster ACK Anda. Dalam contoh ini, China (Hangzhou) dipilih.
Project Name: Dalam contoh ini, k8s-log4j digunakan.
Buat penyimpanan log di proyek.
Dalam contoh ini, Logstore Name adalah k8s-logstore, dan parameter lainnya tetap menjadi default. Untuk informasi lebih lanjut, lihat Kelola penyimpanan log.
Setelah k8s-logstore dibuat, ikuti petunjuk halaman untuk mengakses data.

Cari dan temukan kartu akses Log4j, lalu ikuti petunjuk halaman untuk menyelesaikan akses.
Dalam contoh ini, konfigurasi default digunakan. Anda dapat mengonfigurasi berdasarkan skenario penggunaan data log spesifik Anda.

Langkah 2: Integrasikan Log4j di aplikasi Anda
Langkah ini menunjukkan cara mengintegrasikan plugin Log4j Appender ke aplikasi Java dengan menerapkan contoh aplikasi Spring Boot. Setelah integrasi, ketika kontainer dimulai, konfigurasi SLS dilewatkan melalui variabel lingkungan JAVA_OPTS, dan Log4j secara otomatis membaca parameter serta mengirimkan log ke SLS secara real-time.
Peroleh file demo-deployment.yaml dan konfigurasikan variabel lingkungan
JAVA_OPTS.Untuk informasi lebih lanjut tentang cara memperoleh file, lihat demo-deployment.
Deskripsi konfigurasi
JAVA_OPTS:-Dproject: Nama proyek SLS. Dalam contoh ini, k8s-log4j digunakan.-Dlogstore: Nama penyimpanan log SLS. Dalam contoh ini, k8s-logstore digunakan.-Dendpoint: Titik akhir layanan SLS. Konfigurasikan titik akhir layanan berdasarkan wilayah tempat proyek Anda berada. Untuk informasi lebih lanjut, lihat Titik akhir. Dalam contoh ini, cn-hangzhou.log.aliyuncs.com digunakan.-Daccess_key_id: Ganti dengan ID AccessKey Anda.-Daccess_key: Ganti dengan Rahasia AccessKey Anda.
Buat Deployment.
kubectl create -f demo-deployment.yamlPeroleh file demo-Service.yaml. Anda dapat mempertahankan konfigurasi default.
Untuk alamat file, lihat demo-Service.
Terapkan demo-Service.yaml untuk membuat Layanan.
kubectl create -f demo-service.yaml
Langkah 3: Uji fungsi pengumpulan log
Setelah Deployment dan Layanan berhasil diterapkan, Anda dapat melihat IP akses eksternal Layanan, yaitu EXTERNAL-IP, akses layanan untuk menghasilkan log, dan verifikasi apakah log berhasil ditulis ke SLS.
Lihat
EXTERNAL-IPdari Layanan.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 1hJalankan perintah
loginuntuk menguji apakah log kluster berhasil dihasilkan.Ganti
K8s_SERVICE_IPdenganEXTERNAL-IP.curl http://${K8S_SERVICE_IP}:8080/login?name=bruceAnda dapat melihat koleksi API lengkap di GitHub log4j-appender-demo.
Langkah 4: Lihat log di konsol SLS
Anda dapat masuk ke konsol SLS untuk menanyakan dan menganalisis log.
Masuk ke konsol Simple Log Service.
Di bagian Projects, klik proyek target untuk masuk ke halaman detail proyek.
Klik ikon
di sebelah kanan penyimpanan log dan pilih Search & Analysis untuk melihat log yang dihasilkan oleh kluster.