Anda dapat mengumpulkan log aplikasi yang dipantau di Application Real-Time Monitoring Service (ARMS) ke Simple Log Service (SLS). Setelah mengonfigurasi proyek dan penyimpanan log di ARMS, Anda dapat menggunakan ARMS untuk menganalisis log tersebut. Jika terjadi pengecualian dalam aplikasi, Anda dapat menggunakan log untuk mengidentifikasi masalah secara akurat.
Pemantauan Aplikasi menyediakan halaman detail aplikasi baru bagi pengguna yang telah mengaktifkan mode penagihan baru.
Jika Anda belum mengaktifkan mode penagihan baru, klik Switch to New Version pada halaman Application List untuk melihat halaman detail aplikasi baru.
Prasyarat
Aplikasi Anda dipantau oleh ARMS. Untuk informasi lebih lanjut, lihat Ikhtisar Pemantauan Aplikasi.
Simple Log Service diaktifkan. Masuk ke konsol Simple Log Service dan aktifkan Simple Log Service dengan mengikuti petunjuk di layar.
Proyek Simple Log Service dibuat. Untuk informasi lebih lanjut, lihat Buat Proyek.
Penyimpanan log dibuat. Untuk informasi lebih lanjut, lihat bagian Buat Penyimpanan Log dari topik Kelola Penyimpanan Log.
Data jejak dikumpulkan dan diimpor ke Simple Log Service. Untuk informasi lebih lanjut, lihat Ikhtisar Pengumpulan Data.
Langkah 1: Asosiasikan log bisnis dengan ID jejak
Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih .
Di bagian Konfigurasi asosiasi log aplikasi, atur parameter Sumber Log menjadi Layanan Log SLS, nyalakan Otomatis asosiasikan log bisnis dengan TraceId, dan pilih wilayah, proyek, dan penyimpanan log.
Klik Save.
Langkah 2: Kueri dan analisis log
Di bilah navigasi atas, pilih .
Kueri log.
Masukkan pernyataan kueri di kotak pencarian.
Pernyataan kueri terdiri dari pernyataan pencarian dan pernyataan analitik. Format: Pernyataan pencarian|Pernyataan analitik. Untuk informasi lebih lanjut tentang sintaks pernyataan kueri, lihat Sintaks pencarian dan Fungsi agregat.
Tentukan periode waktu untuk kueri.
Anda dapat menetapkan periode waktu kustom dengan menentukan waktu mulai dan waktu akhir. Waktu mulai dan waktu akhir bisa dalam jam atau akurat hingga detik. Anda juga dapat menetapkan durasi waktu tanpa menentukan waktu mulai atau waktu akhir.
CatatanHasil kueri mungkin berisi log yang dihasilkan 1 menit lebih awal atau lebih lambat dari periode waktu yang ditentukan.
Klik Search & Analyze untuk melihat hasil kueri.

FAQ
Mengapa ID jejak gagal diasosiasikan dengan log setelah saya memodifikasi konfigurasi XML?
Jika Anda mengalami masalah ini saat menanyakan log di SLS, periksa apakah log telah dilaporkan ke SLS, dan apakah proyek dan penyimpanan log SLS telah ditentukan untuk asosiasi di konsol ARMS.
Jika data ada di SLS, lakukan operasi berikut untuk memecahkan masalah:
Semua log gagal diasosiasikan dengan ID jejak. Situasi ini umumnya disebabkan oleh beberapa kemungkinan penyebab:
Agen ARMS tidak dipasang.
Konfirmasikan ini dengan memeriksa apakah semua metrik ditampilkan secara normal di konsol ARMS.
Saklar utama agen dinonaktifkan atau plugin tertentu dinonaktifkan. Misalnya, plugin Tomcat mungkin dimatikan.
Anda dapat pergi ke halaman detail aplikasi dan memastikan pengaturan di bagian Pengaturan saklar probe dari tab Konfigurasi Kustom.
Kerangka kerja server tidak didukung. Sebagai contoh, wadah web, kerangka kerja RPC, kerangka kerja tugas terjadwal, dan kerangka kerja pesan yang tidak didukung digunakan. Untuk informasi tentang kerangka kerja yang didukung, lihat Komponen dan kerangka kerja Java yang didukung oleh ARMS.
Kerangka kerja logging selain log4j, log4j2, dan logback digunakan, atau modifikasi mendalam telah dilakukan pada kerangka kerja logging tersebut.
Kesalahan konfigurasi XML log pengguna terjadi.
Ikuti langkah-langkah pemecahan masalah berikut:
Jika Anda menggunakan agen v4.1.6 atau lebih baru, aktifkan pengisian otomatis ID jejak untuk melihat apakah agen dapat mengasosiasikan ID jejak. Jika ya, masalahnya terletak pada konfigurasi XML log pengguna.
Tambahkan ARMS SDK for Java dan dapatkan ID jejak secara manual saat mencatat pesan. Contoh kode:
Span span = Tracer.builder().getSpan(); //Tidak ada rentang baru yang dibuat. String traceId = span.getTraceId(); logger.warn("traceId={} this is your log message", traceId)Jika ID jejak dapat diperoleh, ini menegaskan kesalahan dalam konfigurasi XML log pengguna.
Jika verifikasi sebelumnya gagal, submit a ticket.
Beberapa log gagal diasosiasikan dengan ID jejak. Hal ini mungkin terjadi karena tidak ada konteks jejak dalam log.
Biasanya, log yang dicetak selama operasi umum tidak memiliki konteks jejak. Hanya log yang dicetak di titik masuk permintaan, seperti antarmuka HTTP, antarmuka RPC, tugas terjadwal, dan konsumsi pesan, yang berisi konteks jejak.
Contoh skenario:
Setelah aplikasi menerima permintaan HTTP dan menjalankan kueri basis data, ia mencetak log. Dalam kasus ini, konteks jejak ada, dan log dapat diasosiasikan dengan ID jejak.
Setelah menerima permintaan HTTP, aplikasi mengirimkan tugas asinkron melalui thread pool untuk menjalankan kueri basis data dan kemudian mencetak log.
Untuk agen ARMS v3.x, karena kurangnya dukungan untuk propagasi otomatis asinkron konteks jejak, thread asinkron tidak memiliki konteks jejak, sehingga log tidak dapat diasosiasikan dengan ID jejak.
Namun, untuk agen ARMS v4.x, yang mendukung propagasi otomatis asinkron konteks jejak, log dapat diasosiasikan dengan ID jejak.
Setelah startup, aplikasi menggunakan thread pool JDK untuk menjalankan kueri basis data secara siklik dan mencetak log setelah setiap kueri. Dalam skenario ini, tidak ada konteks jejak yang tersedia, sehingga log tidak dapat diasosiasikan dengan ID jejak.
Dengan memeriksa nama thread yang mencetak log, Anda dapat menentukan skenario spesifik.
Contoh:
Saat menggunakan Tomcat sebagai wadah web, nama thread yang dimulai dengan
http-nio-biasanya mewakili thread yang menangani permintaan HTTP, dan log yang dicetak oleh thread ini dapat diasosiasikan dengan ID jejak.Saat menggunakan Dubbo sebagai kerangka kerja RPC, nama thread yang dimulai dengan
DubboServerHandler-biasanya mewakili thread yang menangani permintaan Dubbo, dan log yang dicetak oleh thread ini dapat diasosiasikan dengan ID jejak.
Jika skenario di atas tidak berlaku, submit a ticket.
Mengapa log kosong ketika saya melihatnya dari Trace Explorer?
Lakukan langkah-langkah berikut untuk memecahkan masalah:
Periksa apakah semua log aplikasi gagal diasosiasikan dengan ID jejak. Jika semua log aplikasi gagal diasosiasikan dengan ID jejak, pecahkan masalah dengan merujuk ke Mengapa ID jejak gagal diasosiasikan dengan log setelah saya memodifikasi konfigurasi XML? Jika tidak semua log gagal diasosiasikan dengan ID jejak, lanjutkan ke langkah berikutnya.
Identifikasi antarmuka dengan log yang hilang untuk ID jejak tertentu. Jika antarmuka yang tidak dapat menanyakan log untuk ID jejak tertentu secara konsisten satu atau beberapa antarmuka tertentu, itu umumnya menunjukkan bahwa antarmuka ini sendiri tidak mengeluarkan log secara internal.
Jika skenario di atas tidak berlaku, submit a ticket.
Mengapa Logstore tidak memiliki log setelah mengikatnya dan proyek?
Anda perlu mengikuti dokumentasi SLS untuk mengonfigurasi pengumpulan log aplikasi ke Logstore secara mandiri. ARMS tidak mengumpulkan log ke Logstore secara otomatis atas nama Anda.
Mengapa log aplikasi gagal diasosiasikan dengan ID jejak, sedangkan log aplikasi bisnis berhasil?
Agen v3.x memiliki kekurangan dalam instrumentasi Spring Cloud Gateway. Kami merekomendasikan agar Anda meningkatkan agen ke v4.x.
Mengapa log dalam tugas asinkron gagal diasosiasikan dengan ID jejak setelah saya menggunakan TraceCallable.wrap() untuk membungkusnya?
Tingkatkan agen ke v4.x. Dalam skenario asinkron, tidak diperlukan modifikasi kode.
Mengapa asosiasi ID jejak gagal setelah saya mengaktifkan pengisian otomatis ID jejak?
Masalah ini dapat terjadi dalam situasi berikut:
Semua log gagal diasosiasikan dengan ID jejak: Dalam hal ini, konfigurasi pengisian ID jejak gagal didorong ke agen. Periksa konektivitas server Application Configuration Management (ACM). Untuk informasi lebih lanjut, lihat Konfigurasi jaringan yang diperlukan oleh agen ARMS untuk Java.
Beberapa log gagal diasosiasikan dengan ID jejak: Pecahkan masalah dengan merujuk ke Mengapa ID jejak gagal diasosiasikan dengan log setelah saya memodifikasi konfigurasi XML?