View a markdown version of this page

Accesso alle metriche di Prometheus - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso alle metriche di Prometheus

Nota

Le metriche di Prometheus sono disponibili solo per RabbitMQ 4.2 e versioni successive. I broker ActiveMQ non supportano le metriche di Prometheus.

Amazon MQ ora supporta i parametri Prometheus per i broker Amazon MQ for RabbitMQ. Le metriche di Prometheus ti consentono di integrare l'osservabilità dei broker nella tua infrastruttura di monitoraggio esistente, offrendoti una visione unificata delle prestazioni del broker insieme agli altri servizi a tua disposizione. Con le metriche di Prometheus, puoi configurare avvisi e dashboard dettagliati per rilevare e rispondere in modo proattivo ai problemi nei tuoi carichi di lavoro di messaggistica.

A partire da RabbitMQ 4.2, Amazon MQ for RabbitMQ supporta i parametri di Prometheus, che consentono di acquisire i parametri dei broker utilizzando il sistema di monitoraggio Prometheus. Sono supportati i seguenti endpoint:

  • /metrics

  • /metrics/detailed

  • /metrics/memory-breakdown

L'/metrics/per-objectendpoint non è supportato.

Per ulteriori informazioni sulle metriche esposte da ciascun endpoint, consulta la metrica Prometheus nella documentazione di RabbitMQ.

Metriche e metriche di Prometheus CloudWatch

Amazon MQ for RabbitMQ espone i parametri tramite entrambi gli endpoint Prometheus e. CloudWatch Sebbene entrambi offrano visibilità sullo stato di salute del broker, differiscono per ambito e utilizzo.

Gli endpoint Prometheus espongono una serie più ricca di metriche aggregate sullo stato del broker RabbitMQ, che coprono una gamma più ampia di funzionalità interne del broker, come il tasso di abbandono delle connessioni, l'attività del canale, le statistiche sulle code e sugli scambi e le metriche di consenso Raft. Questi sono adatti per l'integrazione con l'infrastruttura di monitoraggio esistente basata su Prometheus e gli avvisi granulari.

CloudWatch le metriche sono un sottoinsieme curato delle metriche dei broker ottenute dagli endpoint Prometheus. Per un elenco completo delle metriche disponibili, consulta. CloudWatch CloudWatch Metriche disponibili per i broker Amazon MQ for RabbitMQ

Nel CloudWatch, le metriche vengono sempre aggregate con un intervallo di almeno 60 secondi prima della visualizzazione. Al contrario, Prometheus espone punti dati metrici grezzi e soluzioni di dashboard come Grafana visualizzano i singoli punti dati senza aggregazione per impostazione predefinita. Di conseguenza, le visualizzazioni della stessa metrica possono differire tra e CloudWatch Prometheus a seconda della statistica utilizzata in CloudWatch

Nota

Consigliamo di utilizzare Prometheus per il monitoraggio non aggregato delle metriche operative di Amazon MQ for RabbitMQ.

Ottenere e accedere agli endpoint Prometheus

Puoi ottenere l'endpoint Prometheus per il tuo broker Amazon MQ for RabbitMQ utilizzando o il. Console di gestione AWS AWS CLI

  • Console di gestione AWS— Accedi alla console Amazon MQ, apri la pagina dei dettagli del tuo broker e individua l'endpoint Prometheus nella sezione Connessioni.

  • AWS CLI— Usa il comando: describe-broker

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

    L'endpoint Prometheus viene restituito nella risposta sotto. BrokerInstances.Endpoints

Il supporto di Amazon MQ per RabbitMQ Prometheus utilizza lo stesso schema di autenticazione del broker. Per ulteriori informazioni sui metodi di autenticazione supportati, consulta. Autenticazione e autorizzazione Amazon MQ per RabbitMQ Per informazioni su come configurare l'autenticazione in Prometheus, consulta http_config nella documentazione di Prometheus.

Best practice per la configurazione di Prometheus

  • Configura un periodo di scraping di 60 secondi o più. Questo è consigliato per la sicurezza operativa.

Esempio di configurazione dello scraping

Le seguenti sezioni forniscono esempi di configurazioni di scraping Prometheus per Amazon MQ for RabbitMQ. <broker-prometheus-endpoint>Sostituiscilo con l'hostname dell'endpoint Prometheus del tuo broker e con le credenziali del broker. <username> <password>

La seguente configurazione è consigliata per la maggior parte dei casi d'uso. Lo scraping dell'/metricsendpoint fornisce metriche ben aggregate sullo stato generale del cluster, offrendoti una visione chiara delle prestazioni del broker senza il sovraccarico di una raccolta dettagliata delle metriche.

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'

Configurazione dettagliata delle metriche

La seguente configurazione raggruppa famiglie di metriche dettagliate aggiuntive per una maggiore osservabilità in componenti specifici del broker.

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'