环境介绍:

  操作系统:centos.7.7

  zabbix3.2.6

       Python2.7.5

  RabbitMQ3.8.0

参考地址:

 下载监控模板和代码

   github地址:https://github.com/jasonmcintosh/rabbitmq-zabbix

  说明:

  scripts/rabbitmq这个目录就是我们要用的监控代码

  zabbix_agentd.d这个里面是需要添加的配置文件。

  centos7之zabbix监控RabbitMQ消息队列_客户端


     解压:

    centos7之zabbix监控RabbitMQ消息队列_客户端_02


基础环境准备

  1、关闭iptables和firewalld防火墙,关闭selinux。

  2、使用agent方式添加监控主机。

  3、上传上图中的scripts到/etc/zabbix/下

  4、在/etc/zabbx/新建zabbix_agentd.conf.d目录,将上图中zabbix_agentd.d下的文件放到zabbix_agentd.conf.d目录。

  centos7之zabbix监控RabbitMQ消息队列_python_03


开始部署环境

  1、新建.rab.auth文件(注意这个文件前面还有一个点,他是隐藏文件)

cd  /etc/zabbix/scripts/rabbitmq
mkdir .rab.auth

  在.rab.auth文件中输入以下内容

  下面的用户名和密码是MQ的Web访问密码,也就是15672的web访问密码。端口当然也就是15762(提醒:你先看看你的这个端口起来了没有,用户名和密码能不能正常访问)

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

  2、除.rab.auth文件不需要更改权限,其它文件都必须是755,因为他们都需要执行。

cd /etc/zabbix/scripts/rabbitmq
chmod 755 *

  注意这里api.py里面要修改参数,主要是路径问题。

  搜索里面的zabbix关键字,把配置文件路径和日志路径都改成自己的

  3、如下图操作(在指定的路径放指定的文件,保证内容无误)

  centos7之zabbix监控RabbitMQ消息队列_python_04

   4、如下图操作,修改zabbix客户端的配置文件

  centos7之zabbix监控RabbitMQ消息队列_python_05

   修改zabbix_agentd.conf里面的参数:

UnsafeUserParameters=1
Timeout=15
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf

  5、zabbix服务端导入模板

  然后别忘记了,这里面历史记录默认是90天,趋势图是365天,监控类型是主动模式。所以客户端要配置客户端主动模式。(Server=192.168.1.x和ServerActive=192.168.1.x)。还有我这里没有用代理模式,你们有兴趣可以试试。

  centos7之zabbix监控RabbitMQ消息队列_配置文件_06



   6、这里我踩了一个坑,踩了1天。

  它提示我一堆报错,我看报错的最后有一个/var/log/rabbitmq_zabbix.log没有权限,我刚开始以为是python版本不对,换成python3.7的版本也不行,最后把这个日志文件的属主和属组权限都改成了zabbix就好了。

cd /var/log
chown zabbix.zabbix rabbitmq_zabbix.log
[root@bogon zabbix]# ll /var/log/rabbitmq_zabbix.log 
-rw-r--r-- 1 zabbix zabbix 14410 Mar 7 13:35 /var/log/rabbitmq_zabbix.log


测试

  centos7之zabbix监控RabbitMQ消息队列_配置文件_07

  centos7之zabbix监控RabbitMQ消息队列_python_08

  centos7之zabbix监控RabbitMQ消息队列_配置文件_09

  centos7之zabbix监控RabbitMQ消息队列_配置文件_10