View a markdown version of this page

CloudWatch Metrik yang tersedia untuk Amazon SQS - Amazon Simple Queue Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CloudWatch Metrik yang tersedia untuk Amazon SQS

Amazon SQS mengirimkan metrik berikut ke CloudWatch.

catatan

Untuk beberapa metrik, hasilnya adalah perkiraan karena arsitektur terdistribusi Amazon SQS. Dalam kebanyakan kasus, jumlah harus mendekati jumlah sebenarnya dari pesan dalam antrian.

Metrik Amazon SQS

Amazon SQS secara otomatis menerbitkan metrik operasional ke Amazon CloudWatch di bawah AWS/SQS namespace. Metrik ini membantu Anda memantau kesehatan dan kinerja antrian. Karena sifat SQS yang terdistribusi, banyak nilai perkiraan, tetapi cukup akurat untuk sebagian besar keputusan operasional.

catatan
  • Semua metrik memancarkan nilai non-negatif hanya saat antrian aktif.

  • Beberapa metrik (sepertiSentMessageSize) tidak dipancarkan sampai setidaknya satu pesan dikirim.

Metrik Deskripsi Unit Perilaku pelaporan Catatan kunci
ApproximateAgeOfOldestMessage Usia pesan tertua yang belum diproses dalam antrian.

Detik

Dilaporkan jika antrian berisi setidaknya satu pesan aktif.
  • Untuk antrian standar, jika pesan diterima tiga kali atau lebih dan tidak dihapus, SQS memindahkannya ke belakang antrian. Metrik kemudian mencerminkan usia pesan berikutnya yang belum melebihi ambang penerimaan. Penataan ulang ini terjadi bahkan ketika kebijakan redrive diterapkan.

  • Poison-pill pesan (yang diterima berulang kali tetapi tidak pernah dihapus) dikecualikan dari metrik ini sampai berhasil diproses.

  • Ketika pesan dipindahkan ke DLQ setelah melebihimaxReceiveCount, usia diatur ulang. Dalam hal ini, metrik DLQ mencerminkan waktu pesan dipindahkan—bukan saat pesan itu awalnya dikirim.

  • Antrian FIFO tidak menyusun ulang pesan untuk menjaga ketertiban. Pesan yang gagal memblokir grup pesannya sampai dihapus atau kedaluwarsa. Jika DLQ dikonfigurasi, pesan dikirim ke sana setelah ambang penerimaan terpenuhi.

ApproximateNumberOfGroupsWithInflightMessages Hanya untuk FIFO. Jumlah grup pesan dengan satu atau lebih pesan dalam penerbangan.

Hitungan

Dilaporkan jika antrian FIFO aktif.
  • Pesan dianggap dalam penerbangan setelah diterima dari antrian oleh konsumen tetapi belum dihapus atau kedaluwarsa.

  • Metrik ini membantu Anda memecahkan masalah dan mengoptimalkan throughput antrian FIFO. Nilai tinggi biasanya menunjukkan konkurensi yang kuat.

  • Jika antrian memiliki backlog besar dan nilai ini tetap rendah, pertimbangkan untuk menskalakan konsumen atau meningkatkan jumlah grup pesan aktif.

  • Untuk throughput dan batas dalam penerbangan, lihatKuota Amazon SQS.

ApproximateNumberOfMessagesDelayed

Jumlah pesan dalam antrian yang tertunda dan tidak segera tersedia untuk diambil.

Hitungan

Dilaporkan jika ada pesan tertunda dalam antrian.
  • Berlaku untuk antrian yang dikonfigurasi dengan penundaan default dan ke pesan individual yang dikirim dengan DelaySeconds parameter.

  • Pesan yang tertunda tetap tersembunyi dari konsumen sampai periode penundaan mereka berakhir, yang dapat memengaruhi backlog antrian atau throughput yang dirasakan.

ApproximateNumberOfMessagesNotVisible Jumlah pesan dalam penerbangan yang telah diterima tetapi belum dihapus atau kedaluwarsa.

Hitungan

Dilaporkan jika ada pesan dalam penerbangan.
  • Pesan memasuki status dalam penerbangan setelah dikirim ke konsumen melalui ReceiveMessage API.

  • Pesan-pesan ini disembunyikan sementara dari konsumen lain selama jendela batas waktu visibilitas.

  • Gunakan metrik ini untuk melacak keterlambatan pemrosesan pesan atau konsumen yang macet.

  • Pada kesempatan yang jarang terjadi, salah satu server yang digunakan Amazon SQS untuk menyimpan pesan Anda mungkin tidak tersedia saat Amazon SQS melaporkan metrik antrian. Ketika ini terjadi, metrik ini mungkin melaporkan nilai bukan nol, termasuk saat antrian kosong atau tidak memiliki ReceiveMessage panggilan. Biasanya diselesaikan dalam hitungan menit, jadi jika Anda menyetel alarm untuk metrik ini, evaluasi beberapa titik data berturut-turut daripada nilai tunggal bukan nol.

ApproximateNumberOfMessagesVisible Jumlah pesan yang saat ini tersedia untuk pengambilan dan pemrosesan.

Hitungan

Dilaporkan jika antrian aktif.
  • Mencerminkan backlog pemrosesan saat ini dalam antrian.

  • Tidak ada batasan ketat pada berapa banyak pesan yang dapat terakumulasi, tetapi pesan tersebut tunduk pada periode retensi yang dikonfigurasi antrian.

  • Nilai tinggi secara konsisten dapat mengindikasikan konsumen yang kurang disediakan atau logika pemrosesan yang macet.

NumberOfEmptyReceives¹ Jumlah panggilan ReceiveMessage API yang tidak mengembalikan pesan.

Hitungan

Dilaporkan selama operasi penerimaan.
  • Metrik ini dapat membantu mengidentifikasi inefisiensi dalam perilaku polling atau contoh konsumen yang kurang dimanfaatkan.

  • Nilai tinggi dapat terjadi ketika antrian kosong, konsumen menggunakan polling pendek, atau pesan diproses lebih cepat daripada yang dihasilkan.

  • Ini bukan indikator yang tepat dari status antrian. Ini mencerminkan perilaku sisi layanan dan mungkin termasuk percobaan ulang.

NumberOfDeduplicatedSentMessages Hanya untuk FIFO. Jumlah pesan terkirim yang dideduplikasi dan tidak ditambahkan ke antrian.

Hitungan

Dilaporkan jika MessageDeduplicationId nilai atau konten duplikat terdeteksi.
  • SQS mendeduplikasi pesan berdasarkan hashing berbasis MessageDeduplicationId konten (jika diaktifkan).

  • Nilai tinggi dapat menunjukkan bahwa produsen berulang kali mengirim pesan yang sama dalam jendela deduplikasi 5 menit.

  • Gunakan metrik ini untuk memecahkan masalah logika produsen yang berlebihan atau mengonfirmasi bahwa deduplikasi berfungsi sebagaimana dimaksud.

NumberOfMessagesDeleted¹

Jumlah pesan yang berhasil dihapus dari antrian.

Hitungan

Dilaporkan untuk setiap permintaan penghapusan dengan pegangan tanda terima yang valid.
  • Metrik ini menghitung semua operasi penghapusan yang berhasil — bahkan jika pesan yang sama dihapus lebih dari satu kali.

  • Alasan umum untuk nilai yang lebih tinggi dari yang diharapkan meliputi:

    • Beberapa penghapusan pesan yang sama menggunakan pegangan tanda terima yang berbeda, setelah batas waktu visibilitas berakhir dan pesan diterima lagi.

    • Penghapusan duplikat menggunakan pegangan tanda terima yang sama, yang masih mengembalikan status sukses dan menambah metrik.

  • Gunakan metrik ini untuk melacak keberhasilan pemrosesan pesan, tetapi jangan memperlakukannya sebagai jumlah pasti pesan unik yang dihapus.

NumberOfMessagesReceived¹ Jumlah pesan yang dikembalikan oleh ReceiveMessage API.

Hitungan

Dilaporkan selama operasi penerimaan.
  • Ini termasuk semua pesan yang dikembalikan ke konsumen, termasuk pesan yang kemudian dikembalikan ke antrian karena kedaluwarsa batas waktu visibilitas.

  • Satu pesan dapat diterima beberapa kali jika tidak dihapus, yang dapat menyebabkan metrik ini melebihi jumlah pesan yang dikirim.

  • Gunakan ini untuk melacak aktivitas konsumen, tetapi jangan memperlakukannya sebagai hitungan pesan unik yang diproses.

NumberOfMessagesSent¹ Jumlah pesan yang berhasil ditambahkan ke antrian.

Hitungan

Dilaporkan untuk setiap pengiriman manual yang berhasil.
  • Panggilan manual ke SendMessage atau SendMessageBatch dihitung, termasuk panggilan yang menargetkan DLQ secara langsung.

  • Pesan yang secara otomatis dipindahkan ke DLQ setelah melebihi tidak maxReceiveCount disertakan dalam metrik ini.

  • Akibatnya, NumberOfMessagesSent mungkin lebih rendah dari NumberOfMessagesReceived —terutama jika kebijakan redrive memindahkan banyak pesan ke DLQ di belakang layar.

SentMessageSize¹

Ukuran pesan berhasil dikirim ke antrian.

Byte

Tidak dipancarkan sampai setidaknya satu pesan dikirim.
  • Metrik ini tidak akan muncul di CloudWatch konsol sampai antrian menerima pesan pertamanya.

  • Gunakan metrik ini untuk melacak ukuran setiap pesan dalam byte. Ini berguna untuk menganalisis tren muatan atau memperkirakan biaya throughput.

  • Ukuran pesan maksimum untuk SQS adalah 1 MiB.

ApproximateNumberOfNoisyGroups

Jumlah grup pesan yang dianggap berisik dalam antrian yang adil. Grup pesan berisik mewakili penyewa tetangga yang berisik dari antrian multi-penyewa.

Hitungan

Nilai non-negatif dilaporkan jika antrian aktif.
  • Membantu mengidentifikasi potensi masalah tetangga yang bising di lingkungan multi-penyewa dengan melacak grup pesan yang menggunakan sumber daya yang tidak proporsional.

  • Gunakan metrik ini untuk menyetel alarm yang dipicu ketika jumlah grup berisik melebihi ambang batas yang dapat diterima, yang menunjukkan potensi masalah keadilan antrian.

ApproximateNumberOfMessagesVisibleInQuietGroups

Jumlah pesan yang terlihat tidak termasuk pesan dari grup pesan berisik.

Hitungan

Nilai non-negatif dilaporkan jika antrian aktif.
  • Memberikan visibilitas ke backlog antrian untuk grup pesan tingkat standar, tidak termasuk pesan dari tetangga yang bising.

  • Membantu mengidentifikasi backlog pemrosesan yang sebenarnya untuk grup pesan biasa dengan menyaring dampak tetangga yang bising.

ApproximateNumberOfMessagesNotVisibleInQuietGroups Jumlah pesan dalam penerbangan tidak termasuk pesan dari grup pesan berisik.

Hitungan

Nilai non-negatif dilaporkan jika antrian aktif.
  • Melacak pesan dalam penerbangan (sedang diproses tetapi belum dihapus) dari grup pesan yang berperilaku baik.

  • Gunakan metrik ini untuk memantau throughput pemrosesan grup pesan normal dan mendeteksi hambatan pemrosesan yang tidak disebabkan oleh tetangga yang bising.

ApproximateNumberOfMessagesDelayedInQuietGroups Jumlah pesan yang tidak termasuk pesan dari grup pesan berisik yang tertunda dan tidak tersedia untuk dibaca segera. Pesan tertunda terjadi ketika antrian dikonfigurasi sebagai antrean penundaan atau ketika pesan telah dikirim dengan parameter delay.

Hitungan

Nilai non-negatif dilaporkan jika antrian aktif.
  • Membantu memantau backlog pesan tertunda dari grup pesan dengan pola throughput normal atau yang diharapkan (sebagai lawan dari grup volume tinggi atau bising)

  • Berguna untuk memahami persyaratan pemrosesan di masa depan dan perencanaan kapasitas untuk beban kerja tipikal.

ApproximateAgeOfOldestMessageInQuietGroups Usia pesan tertua yang tidak dihapus dalam antrian tidak termasuk pesan dari grup pesan berisik.

Detik

Nilai non-negatif dilaporkan jika antrian aktif.
  • Digunakan untuk memantau kepatuhan SLA dan mendeteksi hambatan pemrosesan dalam grup pesan dengan pola throughput normal atau yang diharapkan (sebagai lawan dari grup pesan volume tinggi atau berisik yang mungkin mengubah metrik).

  • Gunakan metrik ini untuk menyetel alarm untuk batas waktu pemrosesan pesan yang mengabaikan pesan tua buatan dari tetangga yang berisik.

¹ Metrik ini mencerminkan aktivitas tingkat sistem dan mungkin termasuk percobaan ulang, duplikat, atau pesan tertunda. Jangan gunakan jumlah mentah untuk memperkirakan status antrian real-time tanpa memperhitungkan perilaku siklus hidup pesan.

Dead-letter antrian (DLQ) dan metrik CloudWatch

Saat bekerja dengan DLQ, penting untuk memahami bagaimana metrik Amazon SQS berperilaku:

  • NumberOfMessagesSent— Metrik ini berperilaku berbeda untuk DLQ:

    • Pengiriman Manual — Pesan yang dikirim secara manual ke DLQ ditangkap oleh metrik ini.

    • Automatic Redrive — Pesan secara otomatis dipindahkan ke DLQ karena kegagalan pemrosesan tidak dit angkap oleh metrik ini. Akibatnya, NumberOfMessagesReceived metrik NumberOfMessagesSent dan dapat menunjukkan perbedaan untuk DLQ.

  • Metrik yang Direkomendasikan untuk DLQ — Untuk memantau keadaan DLQ, gunakan metrik. ApproximateNumberOfMessagesVisible Metrik ini menunjukkan jumlah pesan yang saat ini tersedia untuk diproses di DLQ.

Antrian dan CloudWatch metrik yang adil

Saat Anda menggunakan antrian yang adil, Amazon SQS memancarkan metrik tambahan berikut:

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

catatan

Setiap QuietGroup metrik adalah bagian dari met Approximate rik tingkat antrian standar yang setara, tetapi tidak termasuk pesan dari grup tetangga yang bising.

Kelompok yang berisik

Grup pesan berisik mewakili penyewa tetangga yang berisik dari antrian multi-penyewa.

Kelompok yang tenang

Grup pesan tidak termasuk grup berisik.

Mengamati perilaku antrian adil SQS

Untuk memantau efek antrian adil Amazon SQS, Anda dapat membandingkan Approximate..InQuietGroups metrik dengan metrik tingkat antrian standar. Selama lonjakan lalu lintas untuk penyewa tertentu, metrik tingkat antrian umum dapat mengungkapkan peningkatan backlog atau usia pesan yang lebih tua. Namun, melihat grup yang tenang secara terpisah, Anda dapat mengidentifikasi bahwa sebagian besar grup pesan atau penyewa yang tidak berisik tidak terpengaruh, dan memberikan perkiraan jumlah total grup pesan yang terkena dampak.

Meskipun metrik baru ini memberikan gambaran yang baik tentang perilaku antrian adil Amazon SQS, akan bermanfaat untuk memahami penyewa spesifik mana yang menyebabkan beban. W CloudWatch awasan kontributor Amazon memungkinkan Anda melihat metrik tentang kontributor Top-N, jumlah total kontributor unik, dan penggunaannya. Ini sangat membantu dalam skenario di mana Anda berurusan dengan ribuan penyewa yang sebaliknya akan mengarah pada data kardinalitas tinggi (dan biaya) saat memancarkan metrik tradisional.

Untuk contoh konfigurasi pemantauan untuk antrian yang adil, lihat sampel di GitHub.

Dimensi untuk metrik Amazon SQS

Metrik Amazon SQS CloudWatch menggunakan satu dimensi: QueueName. Semua data metrik dikelompokkan dan difilter berdasarkan nama antrian.

Kiat pemantauan

Pantau SQS secara efektif menggunakan metrik dan CloudWatch alarm utama untuk mendeteksi backlog antrian, mengoptimalkan kinerja, dan tetap dalam batas layanan.

  • Atur CloudWatch alarm berdasarkan ApproximateNumberOfMessagesVisible untuk menangkap pertumbuhan backlog.

  • Pantau NumberOfEmptyReceives untuk menyesuaikan frekuensi polling dan mengurangi biaya API.

  • Gunakan ApproximateNumberOfGroupsWithInflightMessages dalam antrian FIFO untuk mendiagnosis batas throughput.

  • Tinjau kuota SQS untuk memahami ambang metrik dan batas layanan.