Rabbitmq 监控

系统层面

- CPU  
    - user, system, iowait & idle percentages
- MEM
    - used, buffered, cached & free percentages
- Virtual Memory 
    - dirty page flushes, writeback volume
- Disk I/O
    - operations & amount of data transferred per unit time, time to service operations
- Free disk space
    - node data directory
- File descriptors
    - beam.smp vs. max system limit
- TCP connections
    - ESTABLISHED, CLOSE_WAIT, TIME_WAIT
- Network throughput
    - bytes received, bytes sent, maximum network throughput
- Network latency
    - between all RabbitMQ nodes in a cluster as well as to/from clients

Rabbitmq层面

集群监控

可以从任一节点获取集群监控数据

API:GET /api/overview

指标JSON field name
集群名称 cluster_name
集群范围的消息速率 message_stats
连接总数 object_totals.connections
channel总数 object_totals.channels
队列总数 object_totals.queues
消费者总数 object_totals.consumers
消息总数(ready+unacked) queue_totals.messages
准备交付的消息数量 queue_totals.messages_ready
未确认的消息数量 queue_totals.messages_unacknowledged
最近发布的消息数量 message_stats.publish
消息发布的速率 message_stats.publish_details.rate
最近发送给消费者的消息数量 message_stats.deliver_get
消息交付速率 message_stats.deliver_get.rate

节点监控

获取节点信息的API:
GET /api/nodes/{node} 返回单个节点的状态
GET /api/nodes 返回所有集群成员的统计信息

指标JSON field name
使用的内存总量memory used mem_used
内存使用阈值 mem_limit
当内存使用超过阈值时将触发报警memory alarm mem_alarm
剩余磁盘空间阈值 disk_free_limit
当空闲磁盘空间低于配置的限制时,将触发报警 disk_free_alarm
可用文件描述符总数 fd_total
当前使用的文件描述符 fd_used
尝试打开的文件描述符数量 io_file_handle_open_attempt_count
socket可用 sockets_total
已经使用的socket数量 sockets_used
Message store disk reads message_stats.disk_reads
Message store disk writes message_stats.disk_writes
Inter-node communication links cluster_links
GC runs gc_num
gc回收的字节 gc_bytes_reclaimed
erlang进程限制 proc_total
已经使用erlang进程 proc_used
正在运行的队列 run_queue

单个队列监控

API地址: GET /api/queues/{vhost}/{qname}

指标JSON field name
内存 memory
消息总数(ready+unacknowledged) messages
准备交付的消息数量 messages_ready
未确认的消息数量 messages_unacknowledged
最近发布的消息数量 message_stats.publish
消息发布速度 message_stats.publish_details.rate
最近交付的消息数量 message_stats.deliver_get
消息交付速度 message_stats.deliver_get.rate
其他消息状态 this document message_stats

健康检查

集群中是否有资源报警  rabbitmq-diagnostics -q alarms  

查看 rabbitmq是否正常运行(没有stop_app或pause)rabbitmq-diagnostics check_running  

检查当前节点是否有报警,如果有,将以非零状态退出 rabbitmq-diagnostics check_local_alarms     
原文地址:https://www.cnblogs.com/-wenli/p/13601803.html