一、环境

zabbix版本:3.0

二、脚本说明

.
├── rabbitmq.template.xml   模板文件
├── scripts  
│   └── rabbitmq
│   ├── api.py   主要脚本,通过rabbitMQ API获取数据和发送数据
│   ├── list_rabbit_nodes.sh   
│   ├── list_rabbit_queues.sh
│   ├── list_rabbit_shovels.sh
│   └── rabbitmq-status.sh
├── tests   测试脚本
│   ├── setup_auth.sh
│   └── test_basic_return.py
└── zabbix_agentd.d   配置文件
└── zabbix-rabbitmq.conf

 

三、操作流程

1、把脚本文件安装在/etc/zabix下面

2、配置

  a、rabbitMQ授权

rabbitmqctl add_user zabbix pass
rabbitmqctl set_user_tags zabbix monitoring
rabbitmqctl set_permissions -p / zabbix '^aliveness-test$' '^amq\.default$' '^aliveness-test$'

  b、配置文件

  在同级目录下创建文件.rab.auth:

USERNAME=guest
PASSWORD=guest
CONF=/etc/zabbix/zabbix_agent.conf
LOGLEVEL=INFO
LOGFILE=/var/log/zabbix/rabbitmq_zabbix.log
PORT=15672

  注意:用户名和密码是你在上面授权的。

3、在zabbix的web界面导入模板

4、确保agent端安装了zabbix_sender

5、重启agent进程

四、注意事项

1、api.py脚本修改

args = 'zabbix_sender -vv -c {0} -i -' 修改为
args = 'zabbix_sender -vv -z  你的porxyIP或zabbix serverIP  -i -'

  使用porxy方式的话,修改为porxy的ip;直连zabbix server的话,修改为zabbix server的ip。

五、效果图

rabbitMQ Server的数据(20项)

rabbitMQ业务相关的队列数据(140项)

六、脚本地址

https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-rabbitMQ/rabbitmq-zabbix-master

12-27 21:01