[英]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.