参考文档:http://blog.51cto.com/270142877/1937241
本项目脚本下载地址:https://github.com/jasonmcintosh/rabbitmq-zabbix
下载文件解压
把scripts文件放在目录/etc/zabbix/scripts/rabbitmq
上传项目中 zabbix_agentd.d 目录下面的 zabbix-rabbitmq.conf 至rabbitmq服务器的zabbix_agentd 扩展配置文件目录
导入 rabbitmq.template.xml 模板文件至zabbix,导入方法省略
修改 zabbix-rabbitmq.conf 配置文件,保证里面各脚本的路径与以上步骤中上传的路径一至,也就是确保此路径能找到相对应的文件,否则就不要继续下一步
修改 zabbix_agentd 端和 zabbix_server 端,修改Timeout超时时间为10秒,默认为3秒,因为脚本有的执行时间超过3秒,这样会超时,无法获取数据,定义具体多大,视情况而定,最大30秒
在api.py文件所在目录创建一个文件,名称为“.rab.auth”注意,此文件是隐藏文件,前面有个点,文件内容为
USERNAME=guest
PASSWORD=guest
CONF=/etc/zabbix/zabbix_agentd.conf
LOGLEVEL=DEBUG
LOGFILE=/var/log/zabbix/rabbitmq_zabbix.log
PORT=15672
-
USERNAME:rabbitmq管理界面登录用户名
PASSWORD:rabbitmq管理界面登录密码
CONF:指定 zabbix_agentd 配置文件路径
LOGLEVEL:指定日志级别,如果监控调试OK,可将此值改为INFO
LOGFILE:指定日志文件路径
PORT:指定rabbitmq管理访问端口
修改api.py文件
a.全文替换 /etc/zabbix/zabbix_agentd.conf 此路径为你自己的路径,如果相同就不必替换
b.全文替换 /var/log/zabbix/rabbitmq_zabbix.log 此路径为你自己的路径
c.修改 RabbitMQAPI 类中的 __init__ 方法中:
user_name:rabbitmq管理界面登录用户名
password:rabbitmq管理界面登录密码
host_name:rabbitmq管理界面地址
port:rabbitmq管理界面端口
conf:zabbix_agentd 配置文件路径
senderhostname:此选项为zabbix_sender往zabbix_server推送数据的地址,默认此模板 是按“Zabbix客户端(主动式)”把数据传输到服务端的,我推荐使用 服务端主动式,所以这里默认及可
protocol:rabbitmq管理界面使用协议,比如http或者https,默认为http
修改api.py文件所在目录的所有文件,包括.rab.auth隐藏文件的所属组和所属主为zabbix,然后修改权限为755
添加入监控模板选择