輕量消息隊列(原 MNS)日志推送到日志服務后,可進行實時查詢,本文介紹實時查詢的常用場景及操作步驟,您也可以通過多個關鍵字組合方式實現更加復雜的查詢。
前提條件
已采集輕量消息隊列(原 MNS)日志。具體操作,請參見輕量消息隊列(原 MNS)日志。
已配置索引。具體操作,請參見創建索引。
背景信息
輕量消息隊列(原 MNS)日志包括隊列消息操作日志和主題消息操作日志,日志內容包含消息生命周期的所有信息,例如時間、客戶端、操作等。您可以通過實時查詢、實時計算和離線計算三種方式對日志進行分析計算。
實時查詢:在日志服務控制臺上進行實時查詢,例如:查詢消息軌跡、寫入量、刪除量等。
實時計算:使用Spark、Storm、StreamCompute、Consumer Library等方式對輕量消息隊列(原 MNS)日志進行實時計算。例如:計算某個隊列中,Top 10消息的產生者和消費者;計算生產和消費的速度,確認是否均衡;計算某些消費者的處理延時,確認是否存在瓶頸等。
離線計算:使用MaxCompute、E-MapReduce、Hive進行長時間跨度的計算,例如:計算最近一周內消息從發布到被消費的平均延遲。
查詢隊列消息的消息軌跡
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢隊列消息的消息軌跡,即輸入隊列名稱和消息ID,格式為$QueueName and $MessageId,例如log and EED287A265726135146E6A9CADC880FA。
查詢結果如下所示,記錄了某條消息從發送到接收的過程。
查詢隊列消息發送量
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢隊列消息發送量,即輸入隊列名稱和發送操作,查詢語句格式為$QueueName and (SendMessage or BatchSendMessage),例如log and (SendMessage or BatchSendMessage)。
查詢結果如下所示,當前查詢時段內,生產者向log隊列發送了3條隊列消息。
查詢隊列消息消費量
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢隊列消息消費量,即輸入隊列名稱和消費操作,查詢語句格式為$QueueName and (ReceiveMessage or BatchReceiveMessage),例如log and (ReceiveMessage or BatchReceiveMessage)。
查詢結果如下所示,當前查詢時段內,log隊列中有12條消息被消費。
查詢隊列消息刪除量
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢隊列消息刪除量,即輸入隊列名稱和刪除操作,查詢語句格式為$QueueName and (DeleteMessage or BatchDeleteMessage),例如log and (DeleteMessage or BatchDeleteMessage)。
查詢結果如下所示,當前查詢時段內,61條log隊列消息被刪除。
查詢主題消息的消息軌跡
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢主題消息的消息軌跡,即輸入主題名稱和MessageId,查詢語句格式為$TopicName and $MessageId,例如logtest and 8798453B65727FC6433E6AB4F746D4CE。
查詢結果如下圖所示,記錄了某條消息從發送到通知的過程。
查詢主題消息發布量
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢主題消息發布量,即輸入主題名稱和發布操作,查詢語句格式為$TopicName and PublishMessage,例如logtest and PublishMessage。
查詢結果如下圖所示,當前查詢時段內,生產者向logtest主題發布了3條消息。
查詢某個客戶端消息處理量
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢語句,然后單擊最近15分鐘,設置查詢的時間范圍。
本案例要查詢某個客戶端消息處理量,即輸入客戶端IP地址,查詢語句格式為$ClientIP,例如10.10.10.0。
如果您要查詢某個客戶端的某類操作日志,可使用多個關鍵字組合方式,例如$ClientIP and (SendMessage or BatchSendMessage)。
查詢結果如下圖所示,當前查詢時段內,該客戶端處理了66條消息。