All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Logs

Last Updated:Jul 09, 2026

Fitur manajemen log pesan secara otomatis mendorong log operasi dari instans ApsaraMQ for RabbitMQ ke Logstore Simple Log Service. Jika terjadi error selama pengiriman, konsumsi, atau acknowledgment pesan, Anda dapat melakukan kueri dan menganalisis log tersebut di Simple Log Service untuk mendiagnosis masalah tersebut.

Prasyarat

  • Anda telah membuat instans ApsaraMQ for RabbitMQ. Untuk informasi lebih lanjut, lihat Manage instances.

  • Anda telah mengaktifkan Simple Log Service serta membuat proyek dan Logstore. Untuk informasi lebih lanjut, lihat Resource management overview.

  • Buat peran terkait layanan AliyunServiceRoleForAmqpLogDelivery dan berikan izin yang diperlukan saat diminta di konsol. Peran ini mendorong log ke Simple Log Service Anda.

Penting

Jika Anda menghapus proyek atau Logstore, atau mencabut izin dari ApsaraMQ for RabbitMQ, pengiriman log akan gagal.

Billing

  • ApsaraMQ for RabbitMQ

    Anda tidak dikenai biaya untuk menggunakan fitur manajemen log pesan.

  • Simple Log Service

    Setelah ApsaraMQ for RabbitMQ mendorong log ke Simple Log Service, Anda akan dikenai biaya untuk item seperti penyimpanan, trafik, dan permintaan. Untuk informasi lebih lanjut, lihat Billable items of pay-as-you-go.

Format log

Skema log

Parameter

Deskripsi

Action

Metode permintaan untuk operasi tersebut. Untuk nilai dan deskripsi yang valid, lihat Action request methods.

Code

Kode status. Nilai yang valid:

  • 200: Permintaan berhasil.

  • 541: Terjadi error internal server.

  • 503: Perintah tidak valid.

  • 530: Operasi tidak diizinkan.

  • 404: Resource tidak ada.

  • 406: Pemeriksaan awal gagal.

  • 403: Terjadi error izin.

Info

Bidang ini kosong untuk permintaan yang berhasil. Untuk permintaan yang gagal, bidang ini memberikan detail tentang kode status error.

InstanceId

ID instans ApsaraMQ for RabbitMQ. ID instans tersedia di halaman Instance Details atau Overview di konsol ApsaraMQ for RabbitMQ.

Queue

Antrian yang terkait dengan langganan atau pesan.

  • Jika Action adalah PushMessage, BasicGet, atau DeleteMessage, bidang ini menunjukkan antrian yang dilanggan.

  • Jika Action adalah BasicReject, bidang ini menunjukkan antrian dari pesan yang ditolak.

  • Jika Action adalah BasicNack, bidang ini menunjukkan antrian dari pesan yang di-Nack.

Property

Atribut pesan. Nilai yang valid:

  • consumerTag: Tag yang mengidentifikasi subscriber ke antrian.

  • deliveryTag: Tag sisi server yang secara unik mengidentifikasi pesan pada channel.

    Catatan

    Bidang ini hanya dilog jika Action bernilai PushMessage, BasicGet, DeleteMessage, atau SendDlqMessage.

RemoteAddress

Alamat IP klien yang memulai operasi.

  • Jika Action adalah SendMessage, ini adalah alamat IP klien produsen.

  • Jika Action adalah PushMessage, ini adalah alamat IP klien konsumen.

  • Jika Action adalah BasicAck, ini adalah alamat IP klien konsumen.

  • Jika Action adalah DeleteMessage, ini adalah alamat IP klien konsumen.

Catatan

Bidang ini tidak dicatat jika Action adalah SendDlqMessage.

ReqUid

ID akun.

  • Jika Pengguna RAM mengirim atau menerima pesan, bidang ini menampilkan ID Pengguna RAM.

  • Jika Akun Alibaba Cloud mengirim atau menerima pesan, bidang ini menampilkan ID akun Alibaba Cloud.

Catatan

Bidang ini tidak dicatat jika Action adalah SendDlqMessage.

ResourceName

Nama resource.

  • messageId: ID pesan yang Anda tetapkan saat mengirim pesan menggunakan SDK.

  • exchange: Nama exchange. Nama ini tersedia di halaman Exchanges di konsol ApsaraMQ for RabbitMQ.

  • routingKey: Routing key yang Anda tetapkan saat mengirim pesan menggunakan SDK.

Catatan

Bidang ini tidak dicatat jika Action adalah ConnectionOpen, ConnectionClose, ChannelOpen, atau ChannelClose.

VHost

Nama vhost. Nama ini tersedia di halaman vhosts di konsol ApsaraMQ for RabbitMQ.

ConnectionId

ID sisi server yang secara unik mengidentifikasi koneksi.

Catatan

Bidang ini tidak dicatat jika Action adalah SendDlqMessage.

ChannelId

ID yang dibuat klien yang secara unik mengidentifikasi channel dalam koneksi saat ini.

Catatan

Jika Action adalah ConnectionOpen atau ConnectionClose, nilai ini null.

microtime

Timestamp permintaan dalam mikrodetik.

_source_

Ini adalah bidang cadangan di Simple Log Service. Untuk informasi lebih lanjut, lihat Reserved fields.

__tag__:__receive_time__

Ini adalah bidang cadangan di Simple Log Service. Untuk informasi lebih lanjut, lihat Reserved fields.

__topic__

Ini adalah bidang cadangan di Simple Log Service. Untuk informasi lebih lanjut, lihat Reserved fields.

Metode permintaan Action

Metode permintaan

Deskripsi

ConnectionOpen

Membuat koneksi.

ConnectionClose

Menutup koneksi.

ChannelOpen

Membuka channel.

ChannelClose

Menutup channel.

QueueDeclare

Membuat antrian.

QueueDelete

Menghapus antrian.

ExchangeDeclare

Membuat Exchange.

ExchangeDelete

Menghapus exchange.

ExchangeBind

Menautkan exchange sumber ke exchange tujuan.

ExchangeUnBind

Memutus tautan exchange sumber dari exchange tujuan.

QueueBind

Menautkan antrian ke exchange.

QueueUnbind

Memutus tautan antrian dari exchange.

SendMessage

Produsen mengirim pesan.

PushMessage

Broker mendorong pesan.

BasicGet

Klien menarik pesan.

BasicAck

Mengonfirmasi konsumsi pesan.

BasicConsume

Berlangganan ke antrian.

BasicReject

Menolak pesan.

BasicRecover

Mengirim ulang pesan yang belum dikonfirmasi.

BasicNack

Menolak pesan secara negatif.

BasicQos

Membatasi jumlah pesan yang belum dikonfirmasi yang dapat dipra-ambil oleh konsumen.

QueuePurge

Menghapus semua pesan dari antrian.

DeleteMessage

Server menghapus pesan setelah menerima acknowledgment Basic.Ack dari klien.

SendDlqMessage

Mengirim pesan dead-letter.

Prosedur

Untuk mendorong log dari instans ApsaraMQ for RabbitMQ Anda ke Simple Log Service, konfigurasikan tujuan.

  1. Masuk ke ApsaraMQ for RabbitMQ console. Di panel navigasi kiri, klik Instances.

  2. Di bilah navigasi atas halaman Instances, pilih wilayah tempat instans yang ingin Anda kelola berada. Lalu, di daftar instans, klik nama instans yang ingin Anda kelola.

  3. Di panel navigasi kiri, klik Log Management.

  4. Di kartu My Resources, klik Authorize Now.

    Jika Anda telah memberikan izin kepada ApsaraMQ for RabbitMQ untuk mengakses Simple Log Service, lewati langkah ini.

  5. Di halaman Log Management, pilih proyek dan Logstore yang telah Anda buat dari daftar drop-down Project Name dan Logstore, lalu klik Enable.

  6. Masuk ke Simple Log Service console. Aktifkan dan konfigurasikan indeks bidang untuk log Anda. Untuk informasi lebih lanjut, lihat Create indexes.

  7. Tambahkan secara manual bidang __tag__:__receive_time__ dan atur alias-nya menjadi timestamp.

Tutorial

  • Kueri umum untuk troubleshooting

  • Cara Menghasilkan Metrik Tingkat Kedua

  • Hitung operasi kirim/terima pesan berdasarkan antrian untuk mengidentifikasi antrian berbiaya tinggi

    Saat konsol ApsaraMQ for RabbitMQ tidak menyediakan rincian penagihan tingkat antrian, Anda dapat menggunakan log operasi di Simple Log Service untuk menghitung secara mandiri operasi pesan berdasarkan antrian dan menemukan antrian dengan konsumsi tinggi, tanpa bergantung pada ekstraksi data backend.

    Di Simple Log Service, kueri log operasi instans ApsaraMQ for RabbitMQ Anda dan jalankan pernyataan kueri berikut untuk mengumpulkan jumlah operasi SendMessage, PushMessage, dan BasicGet per antrian dalam rentang waktu tertentu, diurutkan berdasarkan jumlah operasi secara menurun:

    Action: SendMessage OR Action: PushMessage OR Action: BasicGet | SELECT Queue, Action, COUNT(*) AS operation_count GROUP BY Queue, Action ORDER BY operation_count DESC LIMIT 100

    Action

    Deskripsi

    SendMessage

    Produsen mengirim pesan ke ApsaraMQ for RabbitMQ.

    PushMessage

    Broker mendorong pesan ke konsumen.

    BasicGet

    Klien konsumen menarik pesan.

    Hasilnya menunjukkan antrian mana yang memiliki throughput pesan tertinggi. Gunakan hasil ini untuk mengidentifikasi sumber biaya tinggi dan memprioritaskan optimasi tanpa menunggu ekstraksi data backend.

FAQ

T: Mengapa terdapat perbedaan waktu antara timestamp log klien dan waktu keberhasilan pengiriman server di ApsaraMQ for RabbitMQ?

J: Untuk mengatasi perbedaan ini, ikuti langkah-langkah berikut:

  1. Periksa log sisi server terlebih dahulu. Kueri log operasi di Simple Log Service untuk memverifikasi bahwa server berhasil mengirimkan pesan tanpa penundaan. Filter berdasarkan Action: PushMessage OR Action: DeleteMessage dan pastikan nilai bidang Code adalah 200. Jika log sisi server normal, maka server bukan penyebab perbedaan waktu tersebut.

  2. Investigasi lingkungan klien. Jika log sisi server tidak menunjukkan masalah, perbedaan tersebut biasanya disebabkan oleh sisi klien. Periksa kondisi berikut:

    • Latensi jaringan atau kehilangan paket: Masalah jaringan intermiten antara klien dan layanan ApsaraMQ for RabbitMQ dapat menunda acknowledgment pesan di sisi klien.

    • Penggunaan CPU tinggi: CPU yang sangat sibuk dapat menunda eksekusi metode pengiriman pesan (misalnya, convertAndSend), sehingga timestamp yang direkam klien tertinggal dari waktu pengiriman aktual server.

    • Jeda Full GC yang sering: Event Full GC JVM menghentikan semua thread aplikasi, yang dapat meningkatkan secara signifikan waktu antara pemanggilan metode kirim dan pengiriman pesan aktual. Hal ini menyebabkan log klien mencatat timestamp yang lebih lambat daripada waktu pengiriman server.

T: Bagaimana cara menganalisis penyebab masalah setelah menerima log alarm atau pemberitahuan peringatan dari ApsaraMQ for RabbitMQ?

J: Saat Anda menerima log alarm atau pemberitahuan peringatan, ikuti langkah-langkah berikut untuk mengidentifikasi akar permasalahan:

  1. Temukan tautan konsol dalam log alarm. Log alarm mencakup URL yang mengarahkan Anda ke halaman pemantauan atau manajemen terkait di konsol cloud. Temukan URL ini dalam konten log alarm.

  2. Buka halaman Detail Tugas. Klik URL dalam log alarm untuk mengakses halaman Task Details atau halaman pemantauan kluster secara langsung. Halaman ini menyediakan konteks alarm, metrik terkait, dan garis waktu event untuk membantu Anda mendiagnosis masalah yang mendasarinya.

  3. Korelasikan dengan log operasi. Bandingkan timestamp event alarm dengan log operasi di Simple Log Service untuk mengidentifikasi operasi pesan terkait (seperti kegagalan koneksi, penolakan pesan, atau routing dead-letter) yang terjadi pada waktu yang sama dan mungkin berkontribusi terhadap alarm tersebut.