全部产品
Search
文档中心

Serverless App Engine:Konfigurasikan pengumpulan log ke ApsaraMQ for Kafka

更新时间:Jul 18, 2025

Serverless App Engine (SAE) memungkinkan Anda mengumpulkan output standar (stdout) dari instans aplikasi dan log dari direktori yang ditentukan ke ApsaraMQ for Kafka. Data dari ApsaraMQ for Kafka dapat dimigrasikan ke database lain, seperti Elasticsearch. Topik ini menjelaskan skenario, prosedur, dan format untuk mengumpulkan log ke ApsaraMQ for Kafka di Konsol SAE.

Sebelum Anda mulai

  • Untuk SAE:

    Pastikan setiap instans aplikasi menyediakan setidaknya 0,25 Core CPU dan 250 MB sumber daya yang tersedia.

  • Untuk Kafka:

    • ApsaraMQ for Kafka telah diaktifkan dan sebuah topik telah dibuat. SAE mendukung instans ApsaraMQ for Kafka versi 2.X atau lebih baru.

    • Jika instans ApsaraMQ for Kafka Anda dibuat dalam jaringan pribadi virtual (VPC) dan tidak dapat mengakses Internet, pastikan berada di VPC yang sama dengan instans SAE.

    • Daftar putih alamat IP dari instans ApsaraMQ for Kafka telah dikonfigurasi:

      • Jika instans ApsaraMQ for Kafka dan instans SAE berada di VPC yang sama tetapi terkait dengan vSwitch yang berbeda, tambahkan blok CIDR vSwitch dari instans SAE ke daftar putih alamat IP dari instans ApsaraMQ for Kafka.

      • Untuk mengaktifkan semua akses dalam VPC yang sama dari instans Kafka, tambahkan 0.0.0.0/0 ke daftar putih.

Latar Belakang

Mengumpulkan log dari aplikasi mikro layanan ke ApsaraMQ for Kafka meningkatkan fitur pengumpulan log dari Layanan Log Sederhana. Fitur ini berlaku untuk skenario di mana Anda tidak dapat mengumpulkan log ke proyek Layanan Log atau Pengguna RAM tidak dapat melihat log di Layanan Log.

  • Lihat Batasan untuk detail lebih lanjut tentang batasan penggunaan ApsaraMQ for Kafka.

  • Lihat Ikhtisar Penagihan untuk detail penagihan ApsaraMQ for Kafka.

Konfigurasikan pengumpulan log file

Konfigurasikan pengumpulan log saat membuat aplikasi

  1. Masuk ke Konsol SAE. Di panel navigasi sebelah kiri, pilih Applications > Applications. Pada halaman yang muncul, pilih wilayah di bilah navigasi atas dan namespace dari daftar drop-down Namespace, lalu klik Create Application.

  2. Di bagian Basic Information, konfigurasikan informasi aplikasi dan klik Next: Advanced Settings.

  3. Buka bagian Log Settings, aktifkan Activate Kafka, lalu lihat tabel berikut untuk konfigurasi.

    Parameter

    Deskripsi

    Kafka Instance

    Pilih instans tujuan.

    Collection Log Type

    Pilih tipe log. Nilai valid:

    • File Logs (Log Path In Container): Beberapa aturan koleksi dapat dikonfigurasi.

    • Container Standard Output Logs: Hanya satu aturan koleksi yang dapat dikonfigurasi. Opsi ini tersedia di daftar drop-down Tipe Log hanya jika vSwitch Anda berada di salah satu zona yang direkomendasikan. Untuk informasi lebih lanjut, lihat Ubah grup keamanan dan vSwitch aplikasi

    Log Source

    Hanya berlaku untuk Log File. Masukkan direktori tempat file log disimpan. Direktori tersebut harus mencakup nama file log. Contoh: /tmp0/cjsc.log. Ekspresi reguler didukung. Jika direktori berisi banyak file log dengan format yang sama, Anda dapat menentukan sumber log dalam format /xxx/xxx/xxx/*.log.

    Penting

    Jangan simpan file penting lainnya di direktori Log Source, untuk menghindari file di direktori tersebut tertimpa.

    Kafka Topic Name

    Pilih topik ApsaraMQ for Kafka yang ada.

  4. Klik Create Application.

  5. Verifikasi.

    Setelah Anda menerapkan aplikasi, SAE mengumpulkan dan mengirimkan log ke direktori yang ditentukan berdasarkan aturan pengumpulan log yang telah dikonfigurasi.

    Di panel navigasi sebelah kiri halaman detail aplikasi, pilih Log Management > Persistent Logs. Pada halaman Persistent Logs, klik tab Log collection to Kafka untuk melihat log yang dikumpulkan. Jika log ada, aturan pengumpulan log berlaku.

Konfigurasikan pengumpulan log saat menerapkan aplikasi

Peringatan

Setelah Anda menerapkan ulang aplikasi, aplikasi akan di-restart. Untuk mencegah kesalahan tak terduga seperti gangguan bisnis, kami sarankan Anda menerapkan aplikasi selama jam-jam sepi.

Prosedur yang dapat dilakukan untuk memperbarui aplikasi bervariasi berdasarkan jumlah instans dalam aplikasi. Bagian ini memberikan contoh cara mengonfigurasi fitur yang diperlukan untuk aplikasi di mana jumlah instans lebih besar dari atau sama dengan 1. Untuk informasi tentang cara memperbarui aplikasi di mana jumlah instans adalah 0, lihat Perbarui aplikasi.

  1. Masuk ke Konsol SAE. Di panel navigasi sebelah kiri, pilih Applications > Applications. Pada halaman yang muncul, pilih wilayah di bilah navigasi atas dan namespace dari daftar drop-down Namespace, lalu klik nama aplikasi yang diinginkan.

  2. Di halaman Basic Information aplikasi, klik Deploy Application.

  3. Temukan dan buka bagian Log Settings, lalu aktifkan Activate Kafka.

    Parameter

    Deskripsi

    Kafka Instance

    Pilih instans tujuan.

    Collection Log Type

    Pilih tipe log. Nilai valid:

    • File Logs (Log Path In Container): Beberapa aturan koleksi dapat dikonfigurasi.

    • Container Standard Output Logs: Hanya satu aturan koleksi yang dapat dikonfigurasi. Opsi ini tersedia di daftar drop-down Tipe Log hanya jika vSwitch Anda berada di salah satu zona yang direkomendasikan. Untuk informasi lebih lanjut, lihat Ubah grup keamanan dan vSwitch aplikasi

    Log Source

    Hanya berlaku untuk Log File. Masukkan direktori tempat file log disimpan. Direktori tersebut harus mencakup nama file log. Contoh: /tmp0/cjsc.log. Ekspresi reguler didukung. Jika direktori berisi banyak file log dengan format yang sama, Anda dapat menentukan sumber log dalam format /xxx/xxx/xxx/*.log.

    Penting

    Jangan simpan file penting lainnya di direktori Log Source, untuk menghindari file di direktori tersebut tertimpa.

    Kafka Topic Name

    Pilih topik ApsaraMQ for Kafka yang ada.

  4. Setelah mengonfigurasi pengaturan, klik OK.

    Penting

    Anda tidak dapat mengumpulkan file log ke topik ApsaraMQ for Kafka yang berbeda secara bersamaan. Jika Anda menerapkan aplikasi dalam mode rilis bertahap atau mode rilis canary dan mempertahankan sumber log yang telah dikonfigurasi tetapi mengubah topik untuk pengumpulan log, log Anda masih akan dikumpulkan ke topik asli sampai semua konfigurasi aplikasi Anda diterapkan.

  5. Verifikasi.

    Setelah Anda menerapkan aplikasi, SAE mengumpulkan dan mengirimkan log ke direktori yang ditentukan berdasarkan aturan pengumpulan log yang telah dikonfigurasi.

    Di panel navigasi sebelah kiri halaman detail aplikasi, pilih Log Management > Persistent Logs. Pada halaman Persistent Logs, klik tab Log collection to Kafka untuk melihat log yang dikumpulkan. Jika log ada, aturan pengumpulan log berlaku.

Format

Setelah Anda mengaktifkan Activate Kafka, log yang dikumpulkan berada dalam format berikut:

{
    "file":"/home/admin/apache-tomcat-8.5.42/logs/localhost.2022-03-01.log",
    "host":"test-kafka-9527eec8-b2c1-4f03-9178-5dac0fe16d07-*****",
    "message":"01-Mar-2022 15:09:36.016 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath",
    "topic":"test2"
}

Referensi parameter:

  • file menunjukkan jalur file log yang dikumpulkan.

  • host menunjukkan nama instans tempat Anda mengumpulkan log.

  • message menunjukkan isi dari log yang dikumpulkan.

  • topic menunjukkan topik ApsaraMQ for Kafka ke mana log yang dikumpulkan dikirim.

Kumpulkan log multi-baris

  • Dalam aplikasi Java, kesalahan dilaporkan jika log digabungkan secara otomatis menjadi satu baris. Contoh berikut menunjukkan log pengecualian Java:

    java.lang.RuntimeException: testLog
        at cn.niutong.controller.TestController.heathc(TestController.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
      at ...
  • Jika pemisah baris \n terdeteksi, data log ditulis ulang ke baris baru. Kami sarankan Anda membungkus log ke dalam string JSON di program Anda dan mengekspor string sebagai satu baris.

Jika Anda memiliki persyaratan tambahan, seperti menggabungkan beberapa baris log, bergabunglah dengan grup DingTalk 32874633 untuk dukungan teknis.

Tanya Jawab Umum

  • Apakah karakter wildcard didukung untuk Pengumpulan Log ke Kafka?

    Ya, Anda dapat menggunakan asterisk (*) sebagai karakter wildcard untuk mencocokkan semua file dalam folder tertentu. Contoh: /tmp/logs/*.log.

  • Mengapa log gagal dikumpulkan?

    Log mungkin gagal dikumpulkan karena pengecualian jaringan. Untuk memecahkan masalah ini, lakukan langkah-langkah berikut:

    1. Masuk ke Webshell SAE. Jalankan perintah telnet untuk memeriksa alamat instans ApsaraMQ for Kafka sebagai pemeriksaan konektivitas jaringan. Untuk informasi lebih lanjut tentang Webshell, lihat Gunakan fitur webshell untuk memeriksa status kesehatan aplikasi.

    2. Periksa status jaringan.

      • Periksa apakah aplikasi SAE dan instans ApsaraMQ for Kafka berada di VPC yang sama dan apakah daftar putih alamat IP telah dikonfigurasi.

      • Jika jaringan bekerja dengan baik, bergabunglah dengan grup DingTalk 32874633 untuk dukungan teknis.