消息查詢
在使用Kafka的過程中遇到無法正確消費消息、消息丟失、消息延遲等消費問題時,您可通過消息查詢功能查看指定消息的詳細內(nèi)容和相關屬性,幫助您排查異常原因。若確定消息所在Topic的分區(qū)ID以及消息位點,可采用按位點查詢消息;若不確定消息的位置,但確定消息發(fā)送的時間段,可采用按時間查詢消息。
注意事項
查詢到的每條消息在云消息隊列 Kafka 版控制臺上最多顯示1 KB的內(nèi)容,超過1 KB的部分將自動截斷。如需查看完整的消息內(nèi)容,請下載相應的消息,下載的消息最大為10 MB,如果超過10 MB,則只下載10 MB的內(nèi)容。
查詢結果最多顯示10條消息,且總大小不能超過10 MB。
如果3條消息的總大小已經(jīng)超過10 MB,那么控制臺上只顯示2條消息。
如果10條消息的總大小少于10 MB,在控制臺上最多也只能看到10條消息。在這樣的情況下,請以客戶端的實際消費為準。
能否查詢到消息,與云消息隊列 Kafka 版的消息清除策略相關:
磁盤使用率低于75%,每天凌晨4點集中刪除超過消息保留時長的消息。
磁盤使用率介于[75%,85%)區(qū)間,定期刪除超過消息保留時長的消息,直到磁盤水位降到75%以下。
磁盤使用率介于[85%,90%)區(qū)間,無論消息是否超過消息保留時長,根據(jù)服務端存儲消息的時間先后順序直接清除消息。
磁盤使用率≥90%,為了保證穩(wěn)定性,服務開啟禁寫保護,暫時無法寫入新消息。
重要云消息隊列 Kafka 版在清除消息時,會至少保留一個存儲文件。因此,您有可能查詢到超過消息保留時間的消息。
按位點查詢消息
在概覽頁面的資源分布區(qū)域,選擇地域。
在實例列表頁面,單擊目標實例名稱。
在左側(cè)導航欄,單擊消息查詢。
在消息查詢頁面的查詢方式列表中,選擇按位點查詢。
在Topic列表中,選擇消息所屬Topic名稱;在分區(qū)列表中,選擇消息所屬的分區(qū);在起始位點文本框,輸入消息所在分區(qū)的位點,然后單擊查詢。
展示該查詢位點及以后連續(xù)的消息。例如,指定的分區(qū)和位點都為“5”,那么返回的結果從分區(qū)“5”的位點“5”開始。
表 1. 查詢結果參數(shù)解釋 參數(shù)
描述
分區(qū)
消息的Topic分區(qū)。
位點
消息的所在的位點。
Key
消息的鍵(已強制轉(zhuǎn)化為String類型)。
Value
消息的值(已強制轉(zhuǎn)化為String類型),即消息的具體內(nèi)容。
消息創(chuàng)建時間
發(fā)送消息時,客戶端自帶的或是您指定的
ProducerRecord
中的消息創(chuàng)建時間。說明如果配置了該字段,則按配置值顯示。
如果未配置該字段,則默認取消息發(fā)送時的系統(tǒng)時間。
如果顯示值為1970/x/x x:x:x,則說明發(fā)送時間配置為0或其他有誤的值。
0.9及以前版本的云消息隊列 Kafka 版客戶端不支持配置該時間。
操作
單擊下載 Key:下載消息的鍵值。
單擊下載 Value:下載消息的具體內(nèi)容。
按時間查詢消息
按時間查詢允許查詢?nèi)糠謪^(qū)的消息,不確定消息的位置,但確定消息發(fā)送的時間段,請指定該時間段中的某一個時間點查詢該時間點附近的消息。
在消息查詢頁面的查詢方式列表中,選擇按時間點查詢。
在Topic列表中,選擇消息所屬Topic名稱;在分區(qū)列表中,選擇消息所屬的分區(qū);在時間點中,選擇需查詢的時間點,然后單擊查詢。
展示該查詢時間點及之后連續(xù)的消息。查詢結果的參數(shù),請參見查詢結果參數(shù)解釋。
如果選擇全部分區(qū),則顯示全部分區(qū)。
如果指定具體分區(qū),則顯示指定分區(qū)的消息。
相關文檔
關于位點的更多信息,請參見基本概念。
消息的消費詳情,請參見查看消費狀態(tài)。