一、环境
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项)