zabbix 监控单机版Rabbitmq

一.监控思路与方法

    1.使用Rabbitmq管理和监控

    2.使用Rabbitmq Management插件来监控和管理

    3.自己动手编写shell脚本来监控需要的Rabbitmq 的指标

    4.使用Rabbitmq 监控模版,找到自己需要的监控指标即可

二.重要指标确认

    Queued messages      Total=Ready + Unacked    队列消息的状态情况

    QueueMQ  sockets     使用socket个数,最大socket 个数,socket使用百分比

    QueueMQ  Files         使用文件句柄数量,最大文件句柄数限制,文件句柄数使用百分比

    QueueMQ  Mem          使用内存大小,内存最大限制,内存使用百分比

   

 

三.监控步骤   【这里采用监控模版】

   

    1. 下载 https://github.com/jasonmcintosh/rabbitmq-zabbix.git  文件
    

    2.复制项目中scripts目录中所有内容至 zabbix_agentd 端服务器的 /usr/local/sbin 目录下(任何包含 zabbix_agentd 端服务器均可)

    注:放置文件的服务器需要能与rabbitmq服务器通讯,假设我存放的服务器为agent1
    

    3.上传项目中 zabbix_agentd.d 目录下面的 zabbix-rabbitmq.conf 至agent1服务器的zabbix_agentd 扩展配置文件目录

    注:执行以下shell命令可以找到扩展配置文件目录,如果没有任何显示,那么需要修改配置文件打开对应的选项,并注意路径设置正确

    grep "^Include" zabbix_agentd.conf

    
    4.导入 rabbitmq.template.xml 模板文件至zabbix,导入方法省略

    5.修改 zabbix-rabbitmq.conf 配置文件,保证里面各脚本的路径与第2步中上传的路径一至,也就是确保此路径能找到相对应的文件,否则就不要继续下一步
    

    6.修改 zabbix_agentd 端和 zabbix_server 端,修改Timeout超时时间为10秒,默认为3秒,因为脚本有的执行时间超过3秒,这样会超时,无法获取数据,定义具体多大,视情况而定,最大30秒

    
    7.在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管理访问端口
    

    8.修改api.py文件

        1):全文替换 /etc/zabbix/zabbix_agentd.conf 此路径为你自己的路径,如果相同就不必替换

        2):全文替换 /var/log/zabbix/rabbitmq_zabbix.log 此路径为你自己的路径

        3):修改 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

        4):修改api.py文件所在目录的所有文件,包括.rab.auth隐藏文件的所属组和所属主为zabbix,然后修改权限为755

        5):修改 rabbitmq.template.xml 中所有获取数据模式为“Zabbix客户端(主动式)”的监控项,改为“Zabbix客户端”

        6):将模板关联到对应的主机

        7):通过zabbix_get获取值,或者查看Graphs
            [root@zabbix ~]# zabbix_get -s 192.168.1.162 -p 10050 -k "rabbitmq[server,message_count_unacknowledged]"
            10

 

 

四.监控效果图

   

zabbix 监控单机版Rabbitmq_第1张图片


        
        
       

你可能感兴趣的:(监控系统及应用)