操作場景
rabbitmq_tracing插件提供消息追蹤功能,它能追蹤流入流出RabbitMQ的消息,并對其進行封裝,將封裝后的消息日志存入相應的trace文件中。
前提條件
已購買實例。
操作步驟
步驟 1 開啟rabbitmq_tracing插件,具體步驟請參考開啟實例插件。
步驟 2 登錄RabbitMQ WebUI頁面。
步驟 3 在頂部導航欄選擇“Admin”,進入Admin頁面。
步驟 4 在右側導航欄選擇“Tracing”,進入Tracing頁面。
圖1 Admin頁面


步驟 5 在“Add a new trace”區域,輸入以下參數,單擊“Add trace”,新增一個trace。
表1 trace參數說明
參數 說明 Virtual host 選擇待創建trace的Vhost名稱。 Name 自定義trace的名稱,用于區分不同的trace。 Format 輸出消息日志的格式。支持“Text”和“JSON”兩種格式,“Text”格式方便閱讀,“JSON”格式方便解析。 Tracer connection username 指定創建trace的用戶名。 Tracer connection password 指定創建trace的密碼。 Max payload bytes 每條消息的最大限制,單位為B。
假設“Max payload bytes”設置為“10”,當有超過10B的消息經過RabbitMQ流轉時就會被載斷,例如“trace test payload”會被載斷成“trace test”。
Pattern 設置匹配的模式。取值示例如下:
#:追蹤所有進入和離開RabbitMQ的消息
publish.#:追蹤所有進入RabbitMQ的消息
deliver.#:追蹤所有離開RabbitMQ的消息
publish.delay_exchange:追蹤進入指定交換機的信息,delay_exchange為交換機名稱,請根據實際情況修改。
deliver.delay_queue:追蹤離開指定隊列的消息,delay_queue為隊列名稱,請根據實際情況修改。
圖2 新增一個trace


trace創建成功后,在“All traces”區域,顯示已創建的trace列表。
圖3 trace列表


步驟 6 (可選)如果RabbitMQ實例為集群,在“Node”中切換到其他節點,重復步驟5,為其他所有節點創建trace。
圖4 切換節點


步驟 7 當trace日志文件中存入消息日志后,單擊trace日志文件名稱,查看日志內容。
圖5 trace日志文件


“delay_exchange_trace.log”的日志內容如圖6所示。
圖6 delay_exchange_trace.log


“delay_queue_trace.log”的日志內容如圖7所示。
圖7 delay_queue_trace.log

