
比如有很多设备,要检测在线设备数,设备通过 mqtt 或者 5 分钟发一次心跳,有些设备突然断电等情况可能不会发送离线消息。 现在有什么好的开源设备活跃库吗
1 xcstream Apr 16, 2020 后台接受到心跳,直接往时序数据库里写就完事了 |
2 excxapp OP @xcstream 时序数据库写入但是需要告警机制,比如超过 5 分钟离线发送消息检测。 我时序用的是 influxfb 。 如果设备少的话还好,如果设备多,要经常 select 这种吗? 现在 github 里面不知道有没有针对这种保活的开源软件。 |
3 shaopu Apr 16, 2020 可以参考阿里和小米是怎么弄的~ |
4 mango88 Apr 16, 2020 MQTT 不是有遗嘱消息的支持吗 |
5 excxapp OP |
7 mango88 Apr 16, 2020 |
9 Erskine Apr 16, 2020 判断设备是否出现异常离线直接查看最后一次更新数据的时间,不要去维护多余的状态。 |
10 Oktfolio Apr 16, 2020 最后上报时间 |
11 xcstream Apr 16, 2020 用 redis 只统计数量的话可以 incr #key# key 就是类似 yyyy-MM-dd hh:( mm - mm%5) 统计每个设备可以 hset #key# #deviceid# |
12 thomaspaine Apr 17, 2020 你也没说场景 开源服务 edgex,里面也有健康监测,你可以关注下 另外从硬件上面来说,你可以加装超级电容或者纽扣电池,如果是用这种设备供电就发异常信息,然后关机。超级电容可以撑 5 秒吧至少。就是需要修改设备程序了。 |
13 zexinwu84 Apr 17, 2020 via Android 规则引擎 |
15 excxapp OP 需求:设备在线 /离线 /活跃度(交互次数等)状态监控,设备异常状态告警 |
16 lzyliangzheyu Apr 17, 2020 遗嘱消息类似于诸葛亮给刘备的锦囊妙计,服务端一段时间收不到消息之后就会打开这个锦囊(遗嘱消息) |
17 lzyliangzheyu Apr 17, 2020 遗嘱消息是刚建立连接客户端就会发给服务端的,但是服务端只是把他收着,等到设备失联了才把遗嘱消息生效 |
18 excxapp OP @lzyliangzheyu 有些设备不一定易是 mqtt 连接的,有可能是通过队列连接的第三方 |
19 huruwo Apr 17, 2020 坏消息是没有 好消息是大家有这个需求,你可以开始做一点微小的贡献给开源社区了 |