Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès aux métriques de Prometheus
Note
Les métriques Prometheus ne sont disponibles que pour RabbitMQ 4.2 et versions ultérieures. Les courtiers ActiveMQ ne prennent pas en charge les métriques Prometheus.
Amazon MQ prend désormais en charge les métriques Prometheus pour Amazon MQ pour les courtiers RabbitMQ. Les métriques Prometheus vous permettent d'intégrer l'observabilité des courtiers dans votre infrastructure de surveillance existante, vous offrant ainsi une vision unifiée des performances des courtiers en plus de vos autres services. Avec les métriques Prometheus, vous pouvez configurer des alertes et des tableaux de bord précis pour détecter et résoudre de manière proactive les problèmes liés à vos charges de travail de messagerie.
À partir de RabbitMQ 4.2, Amazon MQ pour RabbitMQ prend en charge les métriques Prometheus, ce qui vous permet de récupérer les métriques des courtiers à l'aide du système de surveillance Prometheus. Les points de terminaison suivants sont pris en charge :
/metrics/metrics/detailed/metrics/memory-breakdown
Le /metrics/per-object point de terminaison n'est pas pris en charge.
Pour plus d'informations sur les métriques exposées par chaque point de terminaison, consultez la métrique Prometheus
Métriques de Prometheus par rapport aux métriques CloudWatch
Amazon MQ pour RabbitMQ expose les métriques via les points de terminaison Prometheus et. CloudWatch Bien que les deux fournissent une visibilité sur l'état des courtiers, leur portée et leur utilisation diffèrent.
Les points de terminaison Prometheus présentent un ensemble plus riche de statistiques agrégées sur la santé des courtiers RabbitMQ, couvrant un plus large éventail de paramètres internes aux courtiers, tels que le taux de désabonnement, l'activité des canaux, les statistiques de file d'attente et d'échange, ainsi que les indicateurs de consensus Raft. Ils sont adaptés à l'intégration à l'infrastructure de surveillance existante basée sur Prometheus et à des alertes précises.
CloudWatch les métriques sont un sous-ensemble sélectionné de métriques de broker obtenues à partir des points de terminaison Prometheus. Pour obtenir la liste complète des CloudWatch mesures disponibles, consultezCloudWatch Mesures disponibles pour Amazon MQ pour les courtiers RabbitMQ.
Dans CloudWatch, les métriques sont toujours agrégées avec un intervalle d'au moins 60 secondes avant la visualisation. En revanche, Prometheus expose les points de données métriques bruts, tandis que les solutions de tableau de bord telles que Grafana visualisent des points de données individuels sans agrégation par défaut. Par conséquent, les visualisations d'une même métrique peuvent diverger entre CloudWatch Prometheus et Prometheus en fonction de la statistique utilisée dans CloudWatch
Note
Nous vous recommandons d'utiliser Prometheus pour la surveillance non agrégée d'Amazon MQ pour les métriques opérationnelles de RabbitMQ.
Obtention et accès aux points de terminaison Prometheus
Vous pouvez obtenir le point de terminaison Prometheus pour votre courtier Amazon MQ pour RabbitMQ en utilisant le ou le. AWS Management Console AWS CLI
-
AWS Management Console— Accédez à la console Amazon MQ, ouvrez la page des informations de votre courtier et localisez le point de terminaison Prometheus dans la section Connexions.
-
AWS CLI— Utilisez la
describe-brokercommande :aws mq describe-broker --broker-id <broker-id>Le point de terminaison Prometheus est renvoyé dans la réponse ci-dessous.
BrokerInstances.Endpoints
Le support Amazon MQ pour RabbitMQ Prometheus utilise le même schéma d'authentification que le courtier. Pour plus d'informations sur les méthodes d'authentification prises en charge, consultezAuthentification et autorisation Amazon MQ pour RabbitMQ. Pour savoir comment configurer l'authentification dans Prometheus, consultez
Bonnes pratiques de configuration de Prometheus
-
Configurez une période de raclage de 60 secondes ou plus. Ceci est recommandé pour des raisons de sécurité opérationnelle.
Configuration de grattage d'échantillons
Les sections suivantes fournissent des exemples de configurations de scraping Prometheus pour Amazon MQ pour RabbitMQ. <broker-prometheus-endpoint>Remplacez-le par le nom d'hôte du point de terminaison Prometheus de votre courtier <username> <password> et par les informations d'identification de votre courtier.
Configuration recommandée
La configuration suivante est recommandée pour la plupart des cas d'utilisation. Le scraping the /metrics endpoint fournit des statistiques bien agrégées sur l'état général du cluster, vous donnant ainsi une vision claire des performances des courtiers sans avoir à vous soucier de la surcharge liée à la collecte de métriques détaillées.
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'
Configuration détaillée des métriques
La configuration suivante extrait des familles de métriques détaillées supplémentaires pour une meilleure observabilité des composants spécifiques du courtier.
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'