设为首页 收藏本站
查看: 1024|回复: 0

[经验分享] 使用Zabbix监控RabbitMQ消息队列

[复制链接]

尚未签到

发表于 2019-1-18 10:32:33 | 显示全部楼层 |阅读模式
  注:本文档根据GitHub开源项目,实践成功后所编写
  开源项目地址:https://github.com/jasonmcintosh/rabbitmq-zabbix
  为方便大家下载,已经将此项目整个打包上传至附件,可从附件中直接下载

  监控部署督步骤:

  •   下载附件中文件

  •   复制项目中scripts目录中所有内容至 zabbix_agentd 端服务器的 /usr/local/sbin 目录下(任何包含 zabbix_agentd 端服务器均可)
      注:放置文件的服务器需要能与rabbitmq服务器通讯,假设我存放的服务器为agent1
  •   上传项目中 zabbix_agentd.d 目录下面的 zabbix-rabbitmq.conf 至agent1服务器的zabbix_agentd 扩展配置文件目录
      注:执行以下shell命令可以找到扩展配置文件目录,如果没有任何显示,那么需要修改配置文件打开对应的选项,并注意路径设置正确
      grep "^Include" zabbix_agentd.conf
  •   导入 rabbitmq.template.xml 模板文件至zabbix,导入方法省略
  •   修改 zabbix-rabbitmq.conf 配置文件,保证里面各脚本的路径与第2步中上传的路径一至,也就是确保此路径能找到相对应的文件,否则就不要继续下一步
  •   修改 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文件

    •   全文替换 /etc/zabbix/zabbix_agentd.conf 此路径为你自己的路径,如果相同就不必替换
    •   全文替换 /var/log/zabbix/rabbitmq_zabbix.log 此路径为你自己的路径
    •   修改 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
  •   修改 rabbitmq.template.xml 中所有获取数据模式为“Zabbix客户端(主动式)”的监控项,改为“Zabbix客户端”
  •   将模板关联到对应的主机
  •   监控结果如下:

      上图为所有队列信息

      上图为服务器概况
  监控过程中有可能遇到问题解决:

  •   查看debug日志,访问的地址与指定的地址不正确时解决方法如下
      修改api.py文件中RabbitMQAPI类中call_api方法
      把self.host_name改为rabbitmq服务器的地址,注意加单引号
  •   zabbix监控服务器监控数据中有信息,但是为python报错,并且报错有401错误,此为登录认证失败,需要确认配置用户名密码正确


附件:http://down.运维网.com/data/2366752


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664713-1-1.html 上篇帖子: zabbix jmx监控 下篇帖子: Linux rpm安装zabbix agent
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表