1. 程式人生 > 其它 >rabbitMq-訊息消費日誌rabbitmq_tracing

rabbitMq-訊息消費日誌rabbitmq_tracing

在使用rabbitmq時,我們有時需要檢視訊息佇列生產/消費了那些訊息,便於我們排錯。rabbitmq中提供一個外掛rabbitmq_tracing用於記錄訊息的日誌,預設是未開啟的,需要自己用命令開啟

# 檢視開啟的外掛(前面帶e*)
rabbitmq-plugins list
#開啟rabbitmq的tracing外掛
rabbitmq-plugins enable rabbitmq_tracing

開啟後,登入rabbitmq的web介面,在Admin中我們會發現右側有一個Tracing選項。點選後如下示:

name:用於區分不同的track
Format:表示輸出的訊息日誌格式,有Text和JSON兩種,Text格式的日誌方便人類閱讀,JSON的方便程式解析

Pattern:用來設定匹配的模式,和Firehose的類似。如“#”匹配所有訊息流入流出的記錄;“publish.#”匹配所有訊息流入的情況;“deliver.#”匹配所有訊息流出的情況。

建立後如下圖:

輸出的日誌內容如下(text格式的輸出):

================================================================================
2019-10-09 6:45:18:729: Message received

Node:         rabbit@iz128tnse5wy46z
Connection:   1.85.243.91:7074 -> 172.24.231.201:5672
Virtual host: /
User:         admin
Channel:      1
Exchange:     commonConsumer
Routing keys: [<<"commonConsumer">>]
Queue:        commonConsumer.anonymous.5FpN_RWtS-eWOIbtDzwesw
Properties:   [{<<"timestamp">>,signedint,1570603527},
               {<<"message_id">>,longstr,
                <<"027d36c7-013c-0844-c10f-2f837e78c5f2">>},
               {<<"priority">>,signedint,0},
               {<<"delivery_mode">>,signedint,2},
               {<<"headers">>,table,[]},
               {<<"content_type">>,longstr,<<"application/json">>}]
Payload: 
{"userId":202,"entrustId":201,"businessFlowId":200}