从3.8.0开始,RabbitMQ提供内置的Prometheus和Grafana支持。
rabbitmq_prometheus插件中提供了对Prometheus指标收集的支持。该插件以Prometheus文本格式在专用的TCP端口(默认端口15692)上公开所有RabbitMQ指标。
rabbitmq_prometheus插件是RabbitMQ指标的核心导出器,由RabbitMQ核心团队开发。这是一个干净的设计,用于替换kbudde/rabbitmq_exporter,kbudde/rabbitmq_exporter由Prometheus开发用于RabbitMQ指标收集。
这些指标提供了对RabbitMQ节点和运行时状态的深入了解。它们对使用RabbitMQ的应用程序和各种基础设施元素的行为进行了更深入的推理。
rabbitmq_prometheus插件是新增的,相对来说还不成熟。它从3.8.0开始在RabbitMQ发行版中发布。
1.rabbitmq_prometheus插件安装
这个插件包含在RabbitMQ3.8.x版本中。与所有的插件一样,必须启用它才能使用;
启用插件:
rabbitmq-plugins enable rabbitmq_prometheus
关闭插件:
rabbitmq-plugins disable rabbitmq_prometheus
插件启动成功后可以在web UI上看到开启了15692端口,如下:
可以通过http://localhost:15692/metrics访问插件到处的指标数据:
# TYPE erlang_mnesia_held_locks gauge
# HELP erlang_mnesia_held_locks Number of held locks.
erlang_mnesia_held_locks 0
# TYPE erlang_mnesia_lock_queue gauge
# HELP erlang_mnesia_lock_queue Number of transactions waiting for a lock.
erlang_mnesia_lock_queue 0
# TYPE erlang_mnesia_transaction_participants gauge
# HELP erlang_mnesia_transaction_participants Number of participant transactions.
erlang_mnesia_transaction_participants 0
# TYPE erlang_mnesia_transaction_coordinators gauge
# HELP erlang_mnesia_transaction_coordinators Number of coordinator transactions.
erlang_mnesia_transaction_coordinators 0
# TYPE erlang_mnesia_failed_transactions counter
# HELP erlang_mnesia_failed_transactions Number of failed (i.e. aborted) transactions.
erlang_mnesia_failed_transactions 0
# TYPE erlang_mnesia_committed_transactions counter
# HELP erlang_mnesia_committed_transactions Number of committed transactions.
erlang_mnesia_committed_transactions 246
# TYPE erlang_mnesia_logged_transactions counter
# HELP erlang_mnesia_logged_transactions Number of transactions logged.
erlang_mnesia_logged_transactions 312
# TYPE erlang_mnesia_restarted_transactions counter
# HELP erlang_mnesia_restarted_transactions Total number of transaction restarts.
erlang_mnesia_restarted_transactions 1
#下面的省略....
2.配置
此导出器通过prometheus.*配置键支持以下选项:
- prometheus.path 定义到处端点,默认是“/metrics”。
- prometheus.tcp.* 控制匹配的HTTP监听器设置those used by the RabbitMQ HTTP API。
- prometheus.ssl.* 控制匹配的TLS(HTTPS)监听器设置those used by the RabbitMQ HTTP API。
简单示例:
# these values are defaults
prometheus.path = /metrics
prometheus.tcp.port = 15692
这些配置可以通过rabbitmq的配置文件来修改,配置文件默认路径如下:
/etc/rabbitmq/rabbitmq.conf
插件地址:https://github.com/rabbitmq/rabbitmq-prometheus/blob/master/metrics.md
指标说明:https://github.com/rabbitmq/rabbitmq-prometheus/blob/master/metrics.md
GitHub地址:https://github.com/mingyang66/spring-parent
Java 面试宝典是大明哥全力打造的 Java 精品面试题,它是一份靠谱、强大、详细、经典的 Java 后端面试宝典。它不仅仅只是一道道面试题,而是一套完整的 Java 知识体系,一套你 Java 知识点的扫盲贴。
它的内容包括:
- 大厂真题:Java 面试宝典里面的题目都是最近几年的高频的大厂面试真题。
- 原创内容:Java 面试宝典内容全部都是大明哥原创,内容全面且通俗易懂,回答部分可以直接作为面试回答内容。
- 持续更新:一次购买,永久有效。大明哥会持续更新 3+ 年,累计更新 1000+,宝典会不断迭代更新,保证最新、最全面。
- 覆盖全面:本宝典累计更新 1000+,从 Java 入门到 Java 架构的高频面试题,实现 360° 全覆盖。
- 不止面试:内容包含面试题解析、内容详解、知识扩展,它不仅仅只是一份面试题,更是一套完整的 Java 知识体系。
- 宝典详情:https://www.yuque.com/chenssy/sike-java/xvlo920axlp7sf4k
- 宝典总览:https://www.yuque.com/chenssy/sike-java/yogsehzntzgp4ly1
- 宝典进展:https://www.yuque.com/chenssy/sike-java/en9ned7loo47z5aw
目前 Java 面试宝典累计更新 400+ 道,总字数 42w+。大明哥还在持续更新中,下图是大明哥在 2024-12 月份的更新情况:
想了解详情的小伙伴,扫描下面二维码加大明哥微信【daming091】咨询
同时,大明哥也整理一套目前市面最常见的热点面试题。微信搜[大明哥聊 Java]或扫描下方二维码关注大明哥的原创公众号[大明哥聊 Java] ,回复【面试题】 即可免费领取。