rabbitMq-訊息消費日誌rabbitmq_tracing
阿新 • • 發佈:2021-12-27
轉
在使用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}