0


Prometheus之rabbitmq监控指标详解

rabbitmq_channels
用于显示RabbitMQ服务器上当前打开的通道数量。
通过监控这个指标,您可以了解到RabbitMQ服务器打开的通道数随时间变化的情况,以及通道数量是否很高或者非常低。

rabbitmq_connections
用于显示与RabbitMQ服务器的连接总数。
该指标可以帮助您跟踪RabbitMQ服务器的连接负载,并确定是否需要增加服务器资源以提高性能。
通过监控这个指标,您可以了解RabbitMQ连接的使用情况,包括当前连接数、已建立连接的总数、断开的连接数等。

rabbitmq_consumers
用于显示当前连接到RabbitMQ服务器并消费消息的消费者的数量。
通过监控rabbitmq_consumers,您可以了解当前连接到RabbitMQ服务器并消费消息的消费者数量,并可以从中获得消费者的使用情况。
例如消费者的数量是否高峰期、消费者的行为是否稳定等等。

rabbitmq_exchanges
用于显示当前RabbitMQ服务器上的交换机数量。

rabbitmq_exporter_build_info
提供有关RabbitMQ Exporter版本和构建信息的详细信息。

rabbitmq_fd_available
指示RabbitMQ节点文件句柄的可用性,它是一个代表可用文件句柄数的整数。
RabbitMQ可以使用许多文件句柄,这些句柄允许它处理客户端连接,打开日志文件等等。如果在节点上没有可用的文件描述符,则可能会导致进程失败。
通过监控rabbitmq_fd_available,您可以了解RabbitMQ节点文件句柄的使用情况,并在必要时增加节点的文件描述符限制以防止节点发生故障。
该指标还提供有关RabbitMQ文件描述符容量使用率和可用文件描述符总数的有用信息。

rabbitmq_fd_used
指示当前RabbitMQ节点文件句柄的已用数。它是一个代表已用文件句柄数的整数。

rabbitmq_messages_deliver_no_ack_rate
表示RabbitMQ服务器未确认消息交付速率。它是指在协议 AMQP 0-9-1 下,客户端订阅队列中的消息交付但未确认的速率。
在RabbitMQ的消息传输中,消息交付通常分为两个步骤:投递消息和确认消息。如果客户端在接收并处理消息的过程中未能确认消息,即该消息为未确认的消息。
rabbitmq_messages_deliver_no_ack_rate指标可以帮助您了解未确认消息的数量和速率,并确定是否需要更改客户端消费者的配置或调整队列和交换机的配置以改善系统性能。

rabbitmq_messages_deliver_rate
表示RabbitMQ服务器的消息投递速率。它是指在协议 AMQP 0-9-1 下,客户端订阅队列中的投递消息的速率。
在RabbitMQ的消息传输中,消息投递是指将消息从生产者传输到消费者的过程。

rabbitmq_messages_publish_rate
表示 RabbitMQ 服务器上每秒发布的消息数量。
消息发布是指将消息发送到交换机(exchange),交换机再将消息路由到相应队列。

rabbitmq_module_scrape_duration_seconds
它表示RabbitMQ的各个插件在进行监控信息采集时所需的时间。

rabbitmq_module_up
该指标表示与 RabbitMQ 相关的插件是否处于运行状态,如果处于运行状态,则其值为1,否则为0。

rabbitmq_node_disk_free
是用于监控 RabbitMQ 节点磁盘空间的 Prometheus 指标之一。
该指标显示了节点当前可用的磁盘空间,以字节为单位。
RabbitMQ 节点需要足够的可用磁盘空间来存储消息、元数据和其他系统文件,否则可能会发生故障。

rabbitmq_node_disk_free_alarm
rabbitmq_node_disk_free 指标自行创建的告警规则。
它表示磁盘空间告警,当 RabbitMQ 节点的剩余磁盘空间低于某个预设值时,我们可以触发该告警规则。

rabbitmq_node_disk_free_limit
通常是指自定义的磁盘空间告警阈值,在运行 RabbitMQ 的节点上设置的最小磁盘空间阈值。
一旦 RabbitMQ 节点的可用磁盘空间低于此阈值,就会触发 rabbitmq_node_disk_free_alarm 告警规则,及时通知管理员节点的磁盘空间不足。

rabbitmq_node_mem_alarm
是用于监控 RabbitMQ 节点内存使用率的告警规则。
其作用与 rabbitmq_node_disk_free_alarm 类似,当 RabbitMQ 节点的内存使用率超过预设的阈值时,将触发告警并通知管理员。

rabbitmq_node_mem_limit
用于指定 RabbitMQ 节点可用内存的阈值。
当节点的可用内存低于此阈值时,会触发 rabbitmq_node_mem_alarm 告警。

rabbitmq_node_mem_used
用于记录 RabbitMQ 节点正在使用的内存量。
它可以帮助我们监测 RabbitMQ 的内存使用情况,及时发现内存泄露或者内存使用过高的情况。

rabbitmq_partitions
用于记录当前集群中分区的数量。
RabbitMQ 的分区是一种将一个完整的队列分为多个部分,存储在不同的节点上的机制。
RabbitMQ 的分区可以使队列更好地扩展,并提高消息的吞吐量和可靠性。

rabbitmq_queue_consumer_utilisation
用于记录队列消费者的利用率。队列是应用程序和消息交换之间的通道,RabbitMQ 通过队列将消息从生产者传递到消费者。
队列消费者利用率指的是当前队列中消费者处理消息的比例,即已经分配到的消费者数和队列中的消息数之比。

rabbitmq_queue_consumers
RabbitMQ 的监控指标之一,用于记录队列当前的消费者数量。
队列是一种将消息从生产者传递到消费者的通道,在收到消息后,队列将其存储在内存中,并将消息发送给一个或多个绑定到队列的消费者。

rabbitmq_queue_disk_reads_total
RabbitMQ 的监控指标之一,用于记录队列在磁盘上的读取次数总和。
当消息在 RabbitMQ 节点上的内存存储达到一定阈值时,这些未被消费的消息将会被写入到磁盘上,以避免内存溢出。

rabbitmq_queue_disk_writes_total
RabbitMQ 的监控指标之一,用于记录队列在磁盘上的写入次数总和。
当消息在 RabbitMQ 节点上的内存存储达到一定阈值时,这些未被消费的消息将会被写入到磁盘上,以避免存储空间不足。

rabbitmq_queue_gc_collections_before_fullsweep
用于记录队列在进行完整扫描之前进行垃圾回收的次数。
每次垃圾回收都会删除队列中已经被消费的消息,以避免消息队列过大影响性能。

rabbitmq_queue_gc_min_heap
用于记录队列进行一次垃圾回收所需的最小堆大小。
垃圾回收是一项重要的操作,它会删除已经被消费的消息以释放队列的存储空间。

rabbitmq_queue_gc_min_vheap
用于记录队列进行一次垃圾回收所需的最小虚拟堆大小。
垃圾回收是一项重要的操作,它会删除已经被消费的消息以释放队列的存储空间。

rabbitmq_queue_gc_minor_collections_total
用于记录队列进行小型垃圾回收的次数。
垃圾回收是一项重要的操作,它会删除已经被消费的消息以释放队列的存储空间。
如果小型垃圾回收的频率过高,可能需要优化消息的过期时间和队列的存储空间,以减少消息的过期和垃圾回收的频率。

rabbitmq_queue_idle_since_seconds
用于记录队列自上次事件以来处于空闲状态的时间长度。
当队列中没有任何消息排队并且没有消费者连接时,该队列被认为是空闲的。

rabbitmq_queue_memory
用于记录队列当前使用的内存大小。
当队列接收到消息时,这些消息将被放入堆内存中,直到它们被消费者读取并确认为止。

rabbitmq_queue_message_bytes
用于记录队列中所有消息占用的总字节数。
我们可以了解消息在队列中占用的总空间大小,以便评估系统资源的利用情况。

rabbitmq_queue_message_bytes_persistent
用于记录队列中持久消息(即需要持久化保存的消息)占用的总字节数。

rabbitmq_queue_message_bytes_ram
用于记录队列中非持久化消息(即不需要持久化保存的消息)占用的总字节数。

rabbitmq_queue_message_bytes_ready
用于记录队列中等待传输的消息(即就绪消息)占用的总字节数。

rabbitmq_queue_message_bytes_unacknowledged
用于记录当前未被消费者确认的消息占用的总字节数。

rabbitmq_queue_messages
用于记录当前队列中的所有消息数量,包括持久化和非持久化消息,即已经进入队列但还没有被消费者消费的消息数量。

rabbitmq_queue_messages_ack_total
用于记录消费者确认的消息总数,包括成功确认和失败确认的消息数。

rabbitmq_queue_messages_confirmed_total
用于记录消费者成功确认的消息总数,即消费者正确处理并发送确认信息的消息数量。

rabbitmq_queue_messages_deliver_no_ack_rate
用于监测队列中的消息未被开始确认处理的速率,即消费者收到但没有发送确认信息的消息数量和总交付的消息数量之比。

rabbitmq_queue_messages_deliver_rate
用于记录队列的消息交付速率,即每秒钟成功通过队列传输的消息数量。

rabbitmq_queue_messages_delivered_noack_total
用于记录队列中已经成功传递并被消费者接收但未得到确认处理的消息数量。

rabbitmq_queue_messages_delivered_total
用于记录从队列中成功传递到消费者的消息总数。

rabbitmq_queue_messages_get_noack_total
用于记录队列中已经成功获取但未得到确认处理的消息数量。
在 RabbitMQ 中,当消费者从队列中获取消息并开始处理时,它需要向服务器发送确认信息以表示成功地消费了该信息。
然而,有时消费者可能会出现无法处理消息的情况,导致消息未能得到确认。这些消息会被重新发送到队列中,并降低整个系统处理消息的效率。

rabbitmq_queue_messages_get_total
用于记录从队列中成功获取的消息总数。
在 RabbitMQ 中,当消费者从队列中获取消息并开始处理时,服务器会记录已被消费者成功获取的消息总数。

rabbitmq_queue_messages_global
用于记录节点上所有队列的总消息数量。

rabbitmq_queue_messages_persistent
它是用于记录队列中持久化消息数量的监控指标。

rabbitmq_queue_messages_publish_rate
用于记录队列中每秒钟平均发布的消息数量(即发布速率)。

rabbitmq_queue_messages_published_total
在 RabbitMQ 中,生产者可以向队列发布消息,而 rabbitmq_queue_messages_publish_rate 就是记录队列中每秒钟平均发布的消息数量指标。

rabbitmq_queue_messages_ram
用于记录队列中非持久化消息的数量。

rabbitmq_queue_messages_ready
指示可被消费者立即消费的消息数量。

rabbitmq_queue_messages_ready_global
消息队列中可被消费者立即消费的消息总数。
与"rabbitmq_queue_messages_ready"指标不同的是,它不是单个队列的指标,而是RabbitMQ中所有队列中未被消费的消息数量的总和。
这是一个全局的聚合指标。

rabbitmq_queue_messages_ready_ram
消息队列中存储在内存中等待消费的消息数量

rabbitmq_queue_messages_redelivered_total
消息队列中重新投递消息的总数量
当消息无法成功投递到消费者时,RabbitMQ会将消息重新投递给消费者,这可能是由于消费者出现故障或者消费者无法及时消费消息等原因导致的。
当RabbitMQ重新投递这些消息时,会增加"rabbitmq_queue_messages_redelivered_total"指标的值。

rabbitmq_queue_messages_returned_total
消息队列中被退回的消息总数量

rabbitmq_queue_messages_unacknowledged
消息队列中已被消费者接收但尚未确认的消息数量的指标

rabbitmq_queue_messages_unacknowledged_global
(包括所有队列)中未确认消息数量

rabbitmq_queue_messages_unacknowledged_ram
内存中未确认消息数,它只计算RAM节点内存中的未确认消息数量。
如果RAM中的未确认消息数量持续很高,可能会导致RAM节点的消耗过大,甚至会影响RabbitMQ服务器的稳定性。

rabbitmq_queue_reductions_total
RabbitMQ队列处理的降低总数的指标。降低是指Erlang VM中执行的执行时间长的操作。RabbitMQ使用Erlang编写,因此RabbitMQ服务器中的许多操作都由Erlang VM实现。
当RabbitMQ处理队列时,Erlang VM中的操作可能会变得很慢,因此需要进行降低以提高性能。
该指标可用于监视队列的处理情况以及与队列处理相关的性能问题。
当"rabbitmq_queue_reductions_total"指标持续增加时,可能表示RabbitMQ服务器在处理队列时出现了性能问题。
为了解决这个问题,可能需要优化队列的路由、增加队列服务器的数量或调整队列的参数,例如队列大小和持久性设置等。

rabbitmq_queue_state
队列的状态指标,其中包含了一些关于队列的元数据信息,例如队列的名称、虚拟主机名称、运行模式(磁盘或内存)、队列的持久性设置、队列中消息的数量等。

rabbitmq_queues
该指标提供了与队列有关的一些数据点,例如队列中的消息数量、消费者数量和未确认的消息数量等。

rabbitmq_running
RabbitMQ节点是否正在运行的指标。值为1表示RabbitMQ节点正在运行,值为0表示RabbitMQ节点已停止运行或处于非正常状态。

rabbitmq_sockets_available
可用套接字描述符的数量指标,描述了RabbitMQ所使用的套接字描述符的总数量以及当前可用的数量。

rabbitmq_sockets_used
已用套接字描述符数量

rabbitmq_up
节点是否正在运行的指标之一,如果RabbitMQ节点正在运行,该指标的值将为1,否则为0。

rabbitmq_uptime
节点已经运行的时间的指标,以秒为单位

rabbitmq_version_info
RabbitMQ的版本信息指标,包括了RabbitMQ节点的主要版本、次要版本以及修订版本号等信息。

标签: rabbitmq prometheus

本文转载自: https://blog.csdn.net/wybaaaaaaaa/article/details/130887890
版权归原作者 wybaaaaaaaa 所有, 如有侵权,请联系我们删除。

“Prometheus之rabbitmq监控指标详解”的评论:

还没有评论