规则引擎的webhook报响应失败

环境信息

  • EMQX 版本:V4.4.3
  • 操作系统及版本:Centos 8
  • 其他

问题描述

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日志可以得到更多的信息吗?

首先肯定200是有效的
开启debug级别日志

配置没问题,如何抓包?

抓包只能用抓包工具,可以搜索你的服务器系统怎么抓


我在emqx.log.1 监控到的,您可以看看是什么配置错了吗?

1 MySQL的认证挂了,表不存在,建议先把这个问题搞定,不然后面业务都很慢,因为设备都要走ACL流程
2 HTTP请求链接挂了,日志等级比较高只能看出来有请求没连上,可以设置成debug日志看下HTTP请求挂在什么业务上,看下日志文档