一 應用場景描述
線上業務使用RabbitMQ作為消息隊列中間件,那么作為運維人員對RabbitMQ的監控就很重要,本文就針對如何從頭到尾使用Zabbix來監控RabbitMQ進行說明。
二 RabbitMQ監控要點
RabbitMQ官方提供兩種方法來管理和監控RabbitMQ。
1.使用rabbitmqctl管理和監控
Usage:
rabbitmqctl [-n <node>] [-q] <command> [<command options>]
查看虛擬主機
# 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
通過這樣的網址訪問可以看到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"
三 編寫監控腳本和添加Zabbix配置文件
四 添加Zabbix監控模板
參考文檔:
http://blog.thomasvandoren.com/monitoring-rabbitmq-queues-with-zabbix.html
http://www.rabbitmq.com/how.html#management
https://github.com/alfss/zabbix-rabbitmq
https://cdn.rawgit.com/rabbitmq/rabbitmq-management/rabbitmq_v3_6_0/priv/www/api/index.html
https://github.com/jasonmcintosh/rabbitmq-zabbix
http://chase-seibert.github.io/blog/2011/07/01/checking-rabbitmq-queue-sizeage-with-nagios.html
本文出自 “Linux SA John” 博客,請務必保留此出處http://john88wang.blog.51cto.com/2165294/1745824