Zabbix 監控rabbitmq


 

 一 應用場景描述

   測試環境業務 OpenStack中搭建了rabbitmq作為RPC消息隊列,所以mq起到了很重要的角色,本案例是來如何使用zabbix監控

rabbitmq業務

 

二 Rabbitmq監控要點

RabbitMQ官方提供兩種方法來管理和監控RabbitMQ。

1.使用rabbitmqctl管理和監控

 

查看虛擬主機

# rabbitmqctl list_vhosts

 

查看隊列

# rabbitmqctl list_queues

 

查看exchanges

# rabbitmqctl list_exchanges

 

查看用戶

# rabbitmqctl list_users

 

查看連接

# rabbitmqctl list_connections

 

查看消費者信息

# rabbitmqctl list_consumers

 

查看環境變量

# rabbitmqctl environment

 

查看未被確認的隊列

# rabbitmqctl list_queues  name messages_unacknowledged

 

查看單個隊列的內存使用

# rabbitmqctl list_queues name memory

 

查看准備就緒的隊列

# rabbitmqctl list_queues name messages_ready

 

2.使用RabbitMQ Management插件來監控和管理

開啟Management插件

# rabbitmq-plugins enable rabbitmq_management

 

http://172.28.2.157:15672/

通過這樣的網址訪問可以看到RabbitMQ的狀態

http://172.28.2.157:15672/cli/rabbitmqadmin

下載rabbitmqadmin管理工具

獲取vhost列表

# curl -i -u guest:guest http://localhost:15672/api/vhosts

 

 

獲取頻道列表,限制顯示格式

# curl -i -u guest:guest "http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate"

 

顯示概括信息

# curl -i -u guest:guest "http://localhost:15672/api/overview"

management_version  管理插件版本

cluster_name     整個RabbitMQ集群的名稱,通過rabbitmqctl set_cluster_name 進行設置

publish        發布的消息總數

queue_totals     顯示准備就緒的消息,未確認的消息,未提交的消息等

statistics_db_event_queue    顯示還未必數據庫處理的事件數量

consumers       消費者個數

queues         隊列長度

exchanges       隊列交換機的數量

connections     連接數

channels       頻道數量

 

 

顯示節點信息

# curl -i -u guest:guest "http://localhost:15672/api/nodes"

 

disk_free   磁盤剩余空間,以字節表示

disk_free_limit    磁盤報警的閥值

fd_used    使用掉的文件描述符數量

fd_total   可用的文件描述符數量

io_read_avg_time      讀操作平均時間,毫秒為單位

io_read_bytes        總共讀入磁盤數據大小,以字節為單位

io_read_count        總共讀操作的數量

io_seek_avg_time      seek操作的平均時間,毫秒單位

io_seek_count        seek操作總量

io_sync_avg_time      fsync操作的平均時間,毫秒為單位

io_sync_count        fsync操作的總量

io_write_avg_time      每個磁盤寫操作的平均時間,毫秒為單位

io_write_bytes       寫入磁盤數據總量,以字節為單位

io_write_count       磁盤寫操作總量

mem_used           內存使用字節

mem_limit          內存報警閥值,默認是總的物理內存的40%

 

mnesia_disk_tx_count   需要寫入到磁盤的Mnesia事務的數量

mnesia_ram_tx_count    不需要寫入到磁盤的Mnesia事務的數量

msg_store_write_count  寫入到消息存儲的消息數量

msg_store_read_count   從消息存儲讀入的消息數量

proc_used         Erlang進程的使用數量

proc_total        Erlang進程的最大數量

queue_index_journal_write_count    寫入到隊列索引日志的記錄數量。每條記錄表示一個被發布到隊列,從消息隊列中被投遞出或者在消息隊列中被q確認的消息

queue_index_read_count     從隊列索引讀出的記錄數量

queue_index_write_count    寫入到隊列索引的記錄數量

 

sockets_used        以socket方式使用掉的文件描述符數量

 

partitions         


uptime           自從Erlang VM啟動時,運行的時間,單位好毫秒

 

run_queue         等待運行的Erlang進程數量

processors        檢測到被Erlang進程使用到的內核數量

net_ticktime       當前設置的內核tick time

 

 

查看頻道信息

# curl -i -u guest:guest "http://localhost:15672/api/channels"

 

查看交換機信息

# curl -i -u guest:guest "http://localhost:15672/api/exchanges"

 

查看隊列信息

# curl -i -u guest:guest "http://localhost:15672/api/queues"

 

查看vhosts信息

# curl -i -u guest:guest "http://localhost:15672/api/vhosts/?name=/"

 


免責聲明!

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



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