View a markdown version of this page

Mengakses metrik Prometheus - Amazon MQ

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

Mengakses metrik Prometheus

catatan

Metrik Prometheus hanya tersedia untuk RabbitMQ 4.2 dan yang lebih baru. Broker ActiveMQ tidak mendukung metrik Prometheus.

Amazon MQ sekarang mendukung metrik Prometheus untuk Amazon MQ untuk broker RabbitMQ. Metrik Prometheus memungkinkan Anda mengintegrasikan observabilitas broker ke dalam infrastruktur pemantauan yang ada, memberi Anda pandangan terpadu tentang kinerja broker bersama layanan Anda yang lain. Dengan metrik Prometheus, Anda dapat mengatur peringatan dan dasbor berbutir halus untuk secara proaktif mendeteksi dan menanggapi masalah dalam beban kerja perpesanan Anda.

Dimulai dengan RabbitMQ 4.2, Amazon MQ untuk RabbitMQ mendukung metrik Prometheus, memungkinkan Anda untuk mengikis metrik broker menggunakan sistem pemantauan Prometheus. Titik akhir berikut didukung:

  • /metrics

  • /metrics/detailed

  • /metrics/memory-breakdown

/metrics/per-objectTitik akhir tidak didukung.

Untuk informasi selengkapnya tentang metrik yang diekspos oleh setiap titik akhir, lihat metrik Prometheus dalam dokumentasi RabbitMQ.

Metrik Prometheus vs metrik CloudWatch

Amazon MQ untuk RabbitMQ mengekspos metrik melalui titik akhir Prometheus dan. CloudWatch Meskipun keduanya memberikan visibilitas ke kesehatan broker, mereka berbeda dalam ruang lingkup dan penggunaan.

Titik akhir Prometheus mengekspos serangkaian metrik agregat yang lebih kaya tentang kesehatan broker RabbitMQ, yang mencakup jangkauan internal broker yang lebih luas seperti churn koneksi, aktivitas saluran, statistik antrian dan pertukaran, dan metrik konsensus Raft. Ini cocok untuk integrasi dengan infrastruktur pemantauan berbasis Prometheus yang ada dan peringatan halus.

CloudWatch metrik adalah subset yang dikurasi dari metrik broker yang diperoleh dari titik akhir Prometheus. Untuk daftar lengkap CloudWatch metrik yang tersedia, lihatCloudWatch Metrik yang tersedia untuk Amazon MQ untuk broker RabbitMQ.

Dalam CloudWatch, metrik selalu digabungkan dengan interval setidaknya 60 detik sebelum visualisasi. Sebaliknya, Prometheus mengekspos titik data metrik mentah, dan solusi dasbor seperti Grafana memvisualisasikan titik data individu tanpa agregasi secara default. Akibatnya, visualisasi metrik yang sama dapat menyimpang antara dan CloudWatch Prometheus tergantung pada statistik yang digunakan dalam CloudWatch

catatan

Kami merekomendasikan penggunaan Prometheus untuk pemantauan Amazon MQ yang tidak teragregasi untuk metrik operasional RabbitMQ.

Memperoleh dan mengakses titik akhir Prometheus

Anda dapat memperoleh titik akhir Prometheus untuk Amazon MQ Anda untuk broker RabbitMQ menggunakan atau. Konsol Manajemen AWS AWS CLI

  • Konsol Manajemen AWS— Arahkan ke konsol Amazon MQ, buka halaman detail broker Anda, dan temukan titik akhir Prometheus di bawah bagian Koneksi.

  • AWS CLI— Gunakan describe-broker perintah:

    aws mq describe-broker --broker-id <broker-id>

    Titik akhir Prometheus dikembalikan dalam respons di bawah. BrokerInstances.Endpoints

Amazon MQ untuk dukungan RabbitMQ Prometheus menggunakan skema otentikasi yang sama dengan broker. Untuk informasi selengkapnya tentang metode otentikasi yang didukung, lihatAmazon MQ untuk Otentikasi dan Otorisasi RabbitMQ. Untuk mempelajari cara mengonfigurasi otentikasi di Prometheus, lihat http_config di dokumentasi Prometheus.

Praktik terbaik konfigurasi Prometheus

  • Konfigurasikan periode pengikisan 60 detik atau lebih. Ini direkomendasikan untuk keselamatan operasional.

Konfigurasi pengikisan sampel

Bagian berikut menyediakan contoh konfigurasi pengikisan Prometheus untuk Amazon MQ untuk RabbitMQ. Ganti <broker-prometheus-endpoint> dengan nama host titik akhir Prometheus broker Anda, dan dan dengan kredensi broker Anda. <username> <password>

Konfigurasi berikut direkomendasikan untuk sebagian besar kasus penggunaan. Mengikis /metrics titik akhir memberikan metrik agregat yang baik tentang kesehatan klaster secara keseluruhan, memberi Anda pandangan yang jelas tentang kinerja broker tanpa overhead pengumpulan metrik terperinci.

global: scrape_interval: 60s scrape_configs: - job_name: 'rabbitmq-aws-cluster' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics' static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003'

Konfigurasi metrik terperinci

Konfigurasi berikut mengikis keluarga metrik terperinci tambahan untuk pengamatan yang lebih dalam ke komponen broker tertentu.

global: scrape_interval: 60s scrape_configs: - job_name: 'rabbitmq-connection-churn' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['connection_churn_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-ra' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['ra_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-queue' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['queue_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-exchange' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['exchange_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-connection' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['connection_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-channel' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['channel_metrics'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003' - job_name: 'rabbitmq-exchange-count' scheme: https basic_auth: username: <username> password: <password> metrics_path: '/metrics/detailed' params: family: ['exchange_names'] static_configs: - targets: - '<broker-prometheus-endpoint>:16001' - '<broker-prometheus-endpoint>:16002' - '<broker-prometheus-endpoint>:16003'