mosquitto這麼檢視伺服器日誌?

2021-08-20 05:35:54 字數 2998 閱讀 9138

2016-06-17

最佳答案

mosquitto是一款實現了訊息推送協議mqtt v3.1的開源訊息**軟體,提供輕量級的,支援可發布/可訂閱的的訊息推送模式,使裝置對裝置之間的短訊息通訊變得簡單,比如現在應用廣泛的低功耗感測器,手機、嵌入式計算機、微型控制器等移動裝置。

mosquitto官網:

mqtt協議:

客戶端連線日誌

1403334375: new connection from 121.201.8.163 on port 1883.

1403334375: new client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo).

1403334375: sending connack to zhoujing (0)

以上是乙個客戶端正常連線的日誌。

第一行:伺服器收到乙個新的連線請求

1403334375: 表示連線的時間點

121.201.8.163: 客戶端的ip位址

1883: 連線的伺服器端口號

第二行:伺服器為客戶端建立連線

zhoujing (c0, k60, ujoyo): 客戶端連線指定的clientid為'zhoujing'

c0: 表示cleansession=false,不清除session

k60: 表示keep-alive=60s

ujoyo: 表示使用的伺服器賬號為joyo

第三行:傳送連線ack包給客戶端

客戶端訂閱過程日誌

1403334375: received subscribe from zhoujing

1403334375: jiji/chat/9 (qos 2)

1403334375: zhoujing 2 jiji/chat/9

1403334375: sending suback to zhoujing

第一行:伺服器收到乙個來自clientid為zhoujing的訂閱請求

第二行:伺服器識別zhoujing訂閱的主題為 jiji/chat/9,指定的qos=2(有且只傳送一次)

第三行:給clientid=zhoujing客戶端傳送訂閱ack回包

伺服器傳送內容給客戶端日誌

1403334378: sending publish to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))

1403334378: received pubrec from zhoujing (mid: 1)

1403334378: sending pubrel to zhoujing (mid: 1)

1403334378: received pubcomp from zhoujing (mid: 1)

第一行:伺服器正在傳送乙個訊息給clientid=zhoujing的客戶端,訊息體大小為396 bytes,訊息主題為『jiji/chat/9』

(d0, q2, r0, m1)的解釋, 以下引數具體含義,參考mqtt協議

d: 表示mqtt報頭的dup欄位

q: 表示的qos欄位

r: 表示的是retain

m: 表示的是訊息id,即mid

第二行:發布收稿階段,***的交付第一部分

第三行:出版發行階段,***的交付第二部分

第四行:發布完成,***的交付第三部分,至此乙個內容發部過程完成

客戶端主動斷開連線的日誌

客戶端主動斷開連線的只有一行日誌,很簡單。如下所示:

1403334380: received disconnect from jy_api_push_client

接收客戶端發布內容的過程日誌

1403334389: received publish from jy_api_push_client (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))

1403334389: sending pubrec to jy_api_push_client (mid: 1)

1403334389: received pubrel from jy_api_push_client (mid: 1)

1403334389: sending pubcomp to jy_api_push_client (mid: 1)

第一行:接收來自clientid=jy_api_push_client的發布請求,發布的訊息主題為'jiji/chat/9',訊息大小為396 bytes

第二行:伺服器傳送pubrec給客戶端,此過程與傳送訊息給客戶端正好對稱,只不過是received和sending的物件反過來而已

第三行:伺服器接收到客戶端已經釋放的命令,內容交付第二步完成

第四行:通知客戶端,接收完成,至此乙個訊息發布完成,內容交付第三步完成

同乙個clientid重複連線時

1403334510: new connection from 121.201.7.150 on port 1883.

1403334510: client jy_api_push_client already connected, closing old connection.

接收客戶端心跳包

1403336716: received pingreq from 36383a64663a6464003v0

1403336716: sending pingresp to 36383a64663a6464003v0

客戶端連線超時,伺服器主動清除連線資訊

1403336671: client 33303a33393a3236003v0 has exceeded timeout, disconnecting.

客戶端socket異常時的日誌

1403337602: socket error on client 351bbjkfx62c1, disconnecting.

1403337602: socket error on client 351bbjkfx62c0, disconnecting.

mosquitto搭建的MQTT伺服器使用者許可權配置

作為專案上的配置記錄,擔心以後自己都忘了自己是如何配置的了。接一年前的博文,在ubuntu上成功搭建mqtt伺服器後,並已經穩定使用了一年 具體的搭建過程,可以詳細參考這邊博文,寫的非常的詳細。ubuntu上搭建mqtt伺服器 現在在專案上遇到了乙個這樣的問題,如果我不去控制每個連線賬號的許可權,任...

訂閱mosquitto伺服器狀態各主題

mqtt客戶端可以通過訂閱位於 sys層次下的主題來檢視mosquitto伺服器的狀態資訊。標記為static的主題對於每一次訂閱只發布一次。其它所有主題每隔sys interval 在mosquitto.conf檔案中配置 秒更新發布。如果sys interval設定為 系統就不發布更新。sys中...

訂閱mosquitto伺服器狀態各主題

mosquitto sub v t sys broker client mqtt客戶端可以通過訂閱位於 sys層次下的主題來檢視mosquitto伺服器的狀態資訊。標記為static的主題對於每一次訂閱只發布一次。其它所有主題每隔sys interval 在mosquitto.conf檔案中配置 秒...