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     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM