是否可以将MQTT Broker Mosquitto事件(例如发布到所有通道的消息,订阅,客户端连接/断开连接和错误)记录到带有时间戳的日志文件中,然后让程序将其以加密形式以SQL形式插入数据库中?
如果是这样,如何实现?
我尝试了什么?
我已经订阅了主题 $ SYS / broker /#,该主题仅能获取连接日志,我的查询是如何获取代理发送和接收的消息?
参考链接: http://www.steves-internet-guide.com/mosquitto-logging/
答案 0 :(得分:1)
您可以将以下条目的全部或子集添加到mosquitto.conf
文件中,以启用各种日志记录级别并添加时间戳:
log_dest stdout
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
log_timestamp_format [%H:%M:%S]
这会将所有Mosquitto日志重定向到stdout
,然后您可以通过管道将其导入到一个自定义程序中,该程序将其提取并持久保存到数据库中,或者将输出重定向到文件中,然后对其进行处理。