All Products
Search
Document Center

Container Service for Kubernetes:Kumpulkan log Log4j dari aplikasi Java ke SLS

Last Updated:Jun 21, 2026

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

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.
  1. 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.

  2. 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.

  3. Setelah k8s-logstore dibuat, ikuti petunjuk di layar untuk mengingest data.

  4. 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.

  1. Unduh file demo-deployment.yaml dan konfigurasikan variabel lingkungan JAVA_OPTS.

    File sumber tersedia di demo-deployment.

    Lihat file contoh

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: log4j-appender-demo-spring-boot
      labels:
        app: log4j-appender
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: log4j-appender
      template:
        metadata:
          labels:
            app: log4j-appender
        spec:
          containers:
          - name: log4j-appender-demo-spring-boot
            image: registry.cn-hangzhou.aliyuncs.com/jaegertracing/log4j-appender-demo-spring-boot:0.0.2
            env:
              - name: JAVA_OPTS            #  Atur variabel lingkungan JAVA_OPTS.
                value: "-Dproject={your_project} -Dlogstore={your_logstore} -Dendpoint={your_endpoint} -Daccess_key_id={your_access_key_id} -Daccess_key={your_access_key_secret}"
            ports:
            - containerPort: 8080

    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.

  2. Buat Deployment.

    kubectl create -f demo-deployment.yaml
  3. Unduh file demo-service.yaml. Anda dapat mempertahankan konfigurasi default.

    File sumber tersedia di demo-Service.

    Lihat file contoh

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: log4j-appender
      name: log4j-appender-demo-spring-boot-svc
      namespace: default
    spec:
      ports:
      - port: 8080
        protocol: TCP
        targetPort: 8080
      selector:
        app: log4j-appender
      type: LoadBalancer
  4. 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.

  1. Lihat EXTERNAL-IP dari Service.

    kubectl get svc

    Output 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
  2. Akses titik akhir /login untuk menghasilkan entri log uji.

    Ganti K8s_SERVICE_IP dengan EXTERNAL-IP.

    curl http://${K8S_SERVICE_IP}:8080/login?name=bruce
    Untuk 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.

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Projects, klik proyek target untuk membuka halaman detailnya.

  3. 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 message berisi User login successfully, requestID=hIAgSGKGyA name=bruce. Hal ini mengonfirmasi bahwa log aplikasi telah berhasil dikumpulkan ke SLS.

Dokumentasi terkait