消息隊列系列:Rabbitmq Trace 日志的使用


一、什么是Trace

     Trace是Rabbitmq用於記錄每一次發送的消息,方便使用Rabbitmq的開發者調試、排錯。可通過插件形式提供可視化界面 

二、Trace實現概況

     1、Trace啟動后會自動創建系統Exchange:amq.rabbitmq.trace

     2、每個隊列會自動綁定該Exchange,綁定后發送到隊列的消息都會記錄到Trace日志 

三、怎樣使用Trace

     1、先了解Rabbitmq的使用及Web監控工具的使用:http://www.cnblogs.com/gossip/p/4475978.html

     2、啟動Trace插件

         a) 列出本機已安裝的插件:rabbitmq-plugins list(請先定位到Rabbitmq服務安裝目錄)

         b) 啟動Trace插件:rabbitmqctl trace_on   (關閉Trace:rabbitmqctl trace_off)

     3、查看捕獲到的Trace信息

         a) Management插件-->Admin-->Trace

         b) 新增Trace,格式分別是Text(方便人類閱讀)、Json(方便機器識別)

         c) 發送消息,查看Trace攔截的信

        d) 查看日志信息 (單擊日志文件打開,這里是MyTrace.log) 

三、總結

     1、Rabbitmq的資料比較少,建議大家還是多看官方文檔

     2、Trace主要通過插件方式提供

     3、Trace日志文件地址:C:\var\tmp\rabbitmq-tracing\MyTrace.log 

四、Rabbitmq啟用日志功能記錄消息隊列收發情況

     1、啟用日志插件命令

          rabbitmq-plugins enable rabbitmq_tracing

     2、到管理界面添加tracing

         點擊“Admin”菜單,右邊會多出一個“Tracing”的菜單,填寫Name、Format、Max payload bytes、Pattern  然后點擊“添加Add trace”即可添加一個日志

       

  填寫說明

   Name:自定義,建議標准點容易區分 

   Format:表示輸出的消息日志格式,有Text和JSON兩種,Text格式的日志方便人類閱讀,JSON的方便程序解析。 

   JSON格式的payload(消息體)默認會采用Base64進行編碼,如上面的“trace test payload.”會被編碼成“dHJhY2UgdGVzdCBwYXlsb2FkLg==”。

   Max payload bytes:表示每條消息的最大限制,單位為B。比如設置了了此值為10,那么當有超過10B的消息經過Rabbit MQ流轉時,在記錄到trace文件的時候會被截斷。

   如上text日志格式中“trace test payload.”會被截斷成“trace test”。

   Pattern:用來設置匹配的模式,和Firehose的類似。如“#”匹配所有消息流入流出的情況,即當有客戶端生產消息或者消費消息的時候,會把相應的消息日志都記錄下來;

  “publish.#”匹配所有消息流入的情況;“deliver.#”匹配所有消息流出的情況;“publish.exchange.b2b.gms.ass”只匹配發送者(Exchanges)為exchange.b2b.gms.ass的所有消息流入的情況。

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM