AWS SQS
AWS SQS(Amazon Simple Queue Service)是一種完全托管的消息隊列服務,用于在分布式系統中解耦和緩沖消息。它支持高可用性、可擴展性和安全性,能夠處理大量消息,確保消息的可靠傳輸和順序性。開發者可以輕松集成 SQS 到應用程序中,實現異步通信、負載均衡和微服務架構,從而提高系統的靈活性和響應能力。監控 SQS 能夠幫助開發者和運維人員實時了解消息隊列的運行狀態,及時發現潛在問題(如消息積壓、處理延遲或隊列錯誤)。通過監控關鍵指標(如消息可見數量、發送和接收速率等),可以優化系統性能,確保消息的可靠傳遞和及時處理,從而保障分布式系統和微服務架構的高效運行,提升用戶體驗并降低運維成本。
觀測云
觀測云是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日志管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面了解端到端的用戶體驗追蹤,了解應用內函數的每一次調用,以及全面監控云時代的基礎設施。此外,觀測云還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。
采集器配置
- 登陸觀測云控制臺
- 點擊【集成】菜單,選擇【云賬號管理】
- 點擊【添加云賬號】,選擇【AWS】,填寫界面所需的信息,如之前已配置過云賬號信息,則忽略此步驟
- 點擊【測試】,測試成功后點擊【保存】,如果測試失敗,請檢查相關配置信息是否正確,并重新測試
- 點擊【云賬號管理】列表上可以看到已添加的云賬號,點擊相應的云賬號,進入詳情頁
- 點擊云賬號詳情頁的【集成】按鈕,在未安裝列表下,找到 AWS Simple Queue Service,點擊【安裝】按鈕,彈出安裝界面安裝即可
關鍵指標
指標名稱 | 描述 | 單位 | 有效統計數據 |
---|---|---|---|
ApproximateAgeOfOldestMessage | 隊列中最舊的未刪除消息的大約存在時間。注意: 在接收消息三次(或以上)且未處理時,該消息將會移至隊列的后面,而 ApproximateAgeOfOldestMessage 指標會指示尚未接收超過三次的第二舊的消息。即使隊列具有重新驅動策略,也會發生此操作。由于單個毒丸消息(多次接收但從未刪除)會扭曲此指標,直到成功使用毒丸消息之前,指標中都不會包含毒丸消息的使用期限。如果隊列有重新驅動策略,當達到配置的最大接收數目后,消息將會移至死信隊列。當消息移至死信隊列,死信隊列的ApproximateAgeOfOldestMessage 指標表示該消息移至死信隊列的時間(而不是該消息發送的原始時間)。報告標準:如果隊列處于活動狀態,則報告非負值。 | 秒 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
ApproximateNumberOfMessagesDelayed | 隊列中延遲且無法立即讀取的消息數量。如果隊列被配置為延遲隊列,或者使用了延遲參數來發送消息,則會出現這種情況。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
ApproximateNumberOfMessagesNotVisible | 處于空中狀態的消息的數量。如果消息已發送到客戶端,但尚未刪除或尚未到達其可見性窗口末尾,則消息被視為處于飛行狀態。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
ApproximateNumberOfMessagesVisible | 可從隊列取回的消息數量。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
NumberOfEmptyReceives | 未返回消息的 ReceiveMessage API 調用數量。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
NumberOfMessagesDeleted | 從隊列刪除的消息數量。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
NumberOfMessagesReceived | 調用 ReceiveMessage 操作返回的消息數量。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
NumberOfMessagesSent | 添加到隊列的消息數量。報告標準:如果隊列處于活動狀態,則報告非負值。 | 計數 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
SentMessageSize | 添加到隊列的消息大小。報告標準:如果隊列處于活動狀態,則報告非負值。 | 字節 | 平均值、最小值、最大值、總和、數據樣本(在 Amazon SQS 控制臺中顯示為樣本數) |
場景視圖
登錄觀測云控制臺,點擊「場景」 -「新建儀表板」,輸入 “AWS SQS”, 選擇 “AWS S3 監控視圖”,點擊 “確定” 即可添加視圖。
總結
觀測云通過集成 AWS SQS,能夠實時采集和分析 SQS 隊列的關鍵指標(如消息可見數量、發送接收速率、延遲消息數等),并結合可視化界面和告警功能,幫助用戶快速發現隊列性能瓶頸、消息積壓等問題,從而實現對 SQS 隊列的高效監控與管理,確保分布式系統和微服務架構的穩定運行。