环境信息
- EMQX 版本:V4.4.3
- 操作系统及版本:Centos 8
- 其他
问题描述
1、规则引擎可以成功命中,命中后的动作webhook也可以成功触发,HttpServer收到三次webhook的POST;(这个有问题,按理说不是只发送一次POST吗?)
2、仔细查看了HttpServer的发出响应是正确的(HTTP/1.1 200 OK),但规则引擎的webhook响应统计页面显示响应动作失败;
1、规则引擎可以成功命中,命中后的动作webhook也可以成功触发,HttpServer收到三次webhook的POST;(这个有问题,按理说不是只发送一次POST吗?)
2、仔细查看了HttpServer的发出响应是正确的(HTTP/1.1 200 OK),但规则引擎的webhook响应统计页面显示响应动作失败;
EMQX版本是V4.4.3开源版本
方便贴一下你的规则配置吗?还有资源的配置
这是规则配置:
SELECT payload.usr_info as usr_info, username FROM "#" WHERE usr_info = 'begin' or usr_info = 'end'
这是资源配置:
这个配置是没啥问题的,看下action部分,是不是配置了多个action?
如果action是没问题的,就需要抓包了。设计上肯定是单次业务只发一个请求的
action是自定义的一个json字段,实际上webhook发过来的POST消息内容都是正确的,HTTP Server也回复了HTTP/1.1 200 OK了,我怀疑是webhook没有收到Server的响应 所以尝试了3次重试,每次间隔1s,而且响应统计页面也记录了这次webhook响应动作是失败的,所以我想问两个问题:
1、HTTP Server回复HTTP/1.1 200 有没有问题?
2、看emqx日志可以得到更多的信息吗?
配置没问题,如何抓包?
抓包只能用抓包工具,可以搜索你的服务器系统怎么抓
1 MySQL的认证挂了,表不存在,建议先把这个问题搞定,不然后面业务都很慢,因为设备都要走ACL流程
2 HTTP请求链接挂了,日志等级比较高只能看出来有请求没连上,可以设置成debug日志看下HTTP请求挂在什么业务上,看下日志文档