EMQX 设备在线状态异常

环境

  • EMQX 版本:emqx-5.7.1 (集群)
  • 操作系统版本:Linux CentOS

重现此问题的步骤

非MQTTX模拟器场景

  1. 设备上线
  2. 设备下线
  3. 打开EMQX 后台 - 监控 - 客户端吗发现设备还是在线状态

预期行为

EMQX 后台 - 监控 - 客户端
期望该设备下线, 不能被查询到

实际行为

设备仍然在线


设备在14:11:40最后一次上线


设备在14:11:53下线, 并触发了下线回调, 原则上EMQX后台不应该看到这个设备

我本地试了一下,是正常的。


能把当时的 emqx 日志发一下么。

请问这个日志在哪里看? {home}/log/emqx.log.2 这个吗

2025-01-16T11:34:26.336563+00:00 [warning] msg: alarm_is_activated, message: <<“resource down: closed”>>, name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:26.336950+00:00 [warning] msg: health_check_failed, id: <<“connector:http:Event_WH_D”>>, status: disconnected
2025-01-16T11:34:26.337275+00:00 [warning] msg: alarm_is_activated, message: <<“resource down: #{error => <<"Resource connector:http:Event_WH_D for channel action:http:Event_WH_D:connector:http:Event_WH_D is not connected. Resource status: disconnected">>,status => disconnected}”>>, name: <<“action:http:Event_WH_D:connector:http:Event_WH_D”>>
2025-01-16T11:34:41.338881+00:00 [warning] msg: emqx_connector_on_start_already_started, connector: <<“connector:http:Event_WH_D”>>, pool_name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:41.340748+00:00 [warning] msg: alarm_is_deactivated, name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:41.341139+00:00 [warning] msg: alarm_is_deactivated, name: <<“action:http:Event_WH_D:connector:http:Event_WH_D”>>


2025-01-16T11:34:26.336563+00:00 [warning] msg: alarm_is_activated, message: <<“resource down: closed”>>, name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:26.336950+00:00 [warning] msg: health_check_failed, id: <<“connector:http:Event_WH_D”>>, status: disconnected
2025-01-16T11:34:26.337275+00:00 [warning] msg: alarm_is_activated, message: <<“resource down: #{error => <<"Resource connector:http:Event_WH_D for channel action:http:Event_WH_D:connector:http:Event_WH_D is not connected. Resource status: disconnected">>,status => disconnected}”>>, name: <<“action:http:Event_WH_D:connector:http:Event_WH_D”>>
2025-01-16T11:34:41.338881+00:00 [warning] msg: emqx_connector_on_start_already_started, connector: <<“connector:http:Event_WH_D”>>, pool_name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:41.340748+00:00 [warning] msg: alarm_is_deactivated, name: <<“connector:http:Event_WH_D”>>
2025-01-16T11:34:41.341139+00:00 [warning] msg: alarm_is_deactivated, name: <<“action:http:Event_WH_D:connector:http:Event_WH_D”>>

这个日志时间不对,要当时上下线时的日志

我用MQTTX模拟器上下线后, 并没有看到有日志打印, 是我看的目录不对嘛

如果是必现的,那应该是你试试下线后在 dashboard 多刷新几次看看。。。

我用MQTTX模拟器是没有问题的, 但是我们厂商的设备会出现这种问题, EMQX后台已经配过了 设备上下线的webhook规则, 我们服务后台已经收到了设备下线的webhook日志, 我理解这里应该是设备调用disconnected函数, EMQX才会向我们服务发送上下线的webhook, 现在现象是收到了设备下线的webhook, 但是 客户端连接页面还能看到设备

有道理,麻烦提供一下有问题时候的日志,听你描述 应该是会发生异常的,不然就是个bug