簡體   English   中英

MQTT Broker - Mosquitto事件記錄

[英]MQTT Broker - Mosquitto Event Logging

是否可以在Ubuntu 12.04上使用MQTT Broker Mosquitto將所有事件(例如發布到所有通道的消息,訂閱,客戶端連接/斷開連接和錯誤)記錄到帶有時間戳的日志文件中,然后將程序插入到數據庫中Mongodb還是SQL?

如果是這樣,怎么能實現呢?

是的,你可以這樣做。

您可以通過執行以下操作將時間戳數據添加到Mosquitto輸出:

mosquitto_sub -v -t'#'| xargs -d $'\\ n'-L1 sh -c'date“+%D%T $ 0”'

顯然,您可以通過執行以下操作將其輸出到文本文件:

mosquitto_sub -v -t'#'| xargs -d $'\\ n'-L1 sh -c'date“+%D%T $ 0”'> /var/tmp/My_Mosquitto.log

您可以通過以下方式查看日志文件:

cat /var/tmp/My_Mosquitto.log

然后你必須寫一個php腳本來讀取這個文本文件並將數據添加到數據庫表中。

另一個( 更好 )選項是使用node.js將所有MQTT數據記錄到mysql數據庫表。 有一些如何在互聯網上做到這一點的例子 - 我就是這樣做的。

AFAIK現在用mosquitto是不可能的。 對於這樣的用例,我建議使用一個MQTT代理,它有一個插件和消息攔截系統,如HiveMQ 要查看所有交互,有一些插件可用作開源,如Message Log Plugin 源代碼也可以在Github上找到

要將消息寫入數據庫,請查看此博客文章 ,這可以幫助您入門。

請注意,我可能有偏見,因為我在HiveMQ上工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM