PHP版本 - rabbitmq-warning

简介

rabbitmq-warning使用PHP实现,配合定时计划任务,对Rabbitmq服务监控预警

功能实现

rabbitmq服务连接是否正常 rabbitmq队列是否存在消息积压 推送数据给rabbitmq队列的速度(暂未实现)

特点

使用swoole process派生子进程,对rabbitmq服务和队列的消息长度进行监控 使用redis对队列消息积压的次数进行记录 当服务需要告警,可使用钉钉/邮件/短信方式预警(目前只实现了钉钉通知)。 可以单独作为服务使用,也可以与PHP框架无缝结合。

设计模型

安装

环境依赖:

php >= 7.0 swoole扩展(版本无要求) redis扩展 >= 2.6 amqp扩展(操作rabbitmq)
独立安装:
git clone https://github.com/pupilcp/rabbitmq-warning.git 进入目录:composer install
接入项目:
composer require pupilcp/rabbitmq-warning

使用

复制根目录下的config.demo.php,并重命名为:config.php,修改配置文件里的参数。 主要配置说明:

//连接MQ失败预警 'connectRules' => [ 'connectFailTimes' => 3, //单次执行,连续连接MQ失败达到预警的次数 'interval' => 2, //尝试重连的时间间隔(单位:s) 'mode' => [ //预警模式 'type' => DINGDING_NOTICE, 'token' => '钉钉机器人token', //钉钉机器人token ], ], //监控队列配置【可添加多个队列】 'queueRules' => [ //队列名称 'test' => [ 'name' => 'test', //队列名称 'vhost' => 'v1', 'isConsecutive' => 1, //1: 在有效时间内连续达到预警数量, 0:不需要连续,只需要在有效时间内达到预警数量即可,不配置,默认为1 'warningMsgCount' => 10, //队列积压达到预警的数量 'warningTimes' => 3, //连续监控到队列积压达到预警的次数,结合warningMsgCount使用 'duringTime' => 600, //在有效duringTime的时间内,检测到队列的数量连续warningTimes次达到warningMsgCount,则预警 'mode' => [ //预警模式 'type' => DINGDING_NOTICE, 'token' => '钉钉机器人token', ], ], ],

启动

由于rabbitmq-warning不是常驻进程,需使用定时计划任务配合,例: * * * * * php /PATH/server start (每分钟执行一次)

支持

swoole

其它

如有疑问,请邮件联系:310976780@qq.com

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。