Application Signals - Amazon CloudWatch

Application Signals

CloudWatch Application Signals 可協助您監控並改善 AWS 上的應用程式效能。它會自動從您在 Amazon EC2、Amazon ECS、Lambda 等服務上執行的應用程式中收集資料。可以將 CloudWatch Application Signals 用於以下用途:

  • 即時監控應用程式運作狀態

  • 對照業務目標追蹤效能

  • 檢視服務與相依項之間的關係

  • 快速識別並解決效能問題

  • 啟用 Application Signals 可自動收集應用程式的指標和追蹤,並顯示呼叫量、可用性、延遲、故障和錯誤等關鍵指標。快速查看和分類目前的操作運作狀態,以及您的應用程式是否能實現其長期效能目標,無需撰寫自訂程式碼或建立儀表板。

  • 使用 Application Signals 建立和監控服務水準目標 (SLO)。輕鬆建立並追蹤與 CloudWatch 指標相關的 SLO 狀態,包括 Application Signals 收集的新標準應用程式指標。在服務清單和拓撲地圖中查看並追蹤應用程式服務的服務水準指標 (SLI) 狀態。建立警示以追蹤您的 SLO,並追蹤 Application Signals 收集的新標準應用程式指標。

  • 查看 Application Signals 自動探索的應用程式拓撲地圖,以視覺化方式呈現應用程式、相依性及其連線能力。

  • Application Signals 與 CloudWatch RUMCloudWatch Synthetics CanaryAWS Service Catalog AppRegistry 以及 Amazon EC2 Auto Scaling 搭配使用,並在儀表板和地圖中顯示用戶端頁面、Synthetics Canary 和應用程式名稱。

支援的語言和架構

Application Signals 支援 Java、Python、Node.js 和 .NET 應用程式。

Application Signals 在 Amazon EKS、Amazon ECS 和 Amazon EC2 上受到支援和測試。在 Amazon EKS 叢集上,它會自動探索服務和叢集的名稱。在其他架構上,當您為 Application Signals 啟用這些服務時,必須提供服務和環境的名稱。

在 Amazon EC2 上啟用 Application Signals 的指示應適用於支援 CloudWatch 代理程式和 AWS Distro for OpenTelemetry 的任何架構。但是,這些指示尚未在 Amazon ECS 和 Amazon EC2 以外的架構上進行測試。

支援的區域

除加拿大西部 (卡加利) 之外的每個商業區域都支援 Application Signals。

功能

  • 使用 Application Signals 進行每日應用程式監控 – 在 CloudWatch 主控台中使用 Application Signals,作為每日應用程式監控的一部分:

    1. 如果已為您的服務建立服務水準目標 (SLO),請從服務水準目標 (SLO) 頁面開始。這可讓您即刻檢視最重要服務和操作的運作狀態。選擇 SLO 的服務、操作或相依項名稱,開啟服務詳細資訊頁面,並在疑難排解問題時查看詳細的服務資訊。

    2. 開啟服務頁面以查看所有服務的摘要,並快速查看故障率或延遲最高的服務。如果已建立 SLO,請查看「服務」資料表,了解哪些服務具有運作狀態不佳的服務水準指標 (SLI)。如果特定服務的運作狀態不佳,請選取該服務以開啟服務詳細資訊頁面,並查看服務操作、相依性、Synthetics Canary 和用戶端請求。在圖表中選取一個點以查看相關的追蹤,以便可以疑難排解並識別操作問題的根本原因。

    3. 如果已部署新服務或相依項已變更,請開啟 Application Map 以檢查您的應用程式拓撲。查看應用程式的地圖,它可顯示用戶端、Synthetics Canary、服務和相依性之間的關係。快速查看 SLI 運作狀態,檢視呼叫量、故障率和延遲等關鍵指標,並深入查看服務詳細資訊頁面中的更多詳細資訊。

    使用 Application Signals 會產生費用。如需 CloudWatch 定價的資訊,請參閱 Amazon CloudWatch 定價

    注意

    無需啟用 Application Signals,即可使用 CloudWatch Synthetics、CloudWatch RUM 或 CloudWatch Evidently。但是,Synthetics 和 CloudWatch RUM 可與 Application Signals 搭配使用,以便您在一起使用這些功能時提供好處。

  • Application Signals 跨帳戶:藉由 Application Signals 跨帳戶可觀測性,您可以監控一個區域內跨多個 AWS 帳戶的應用程式並進行疑難排解。

    您可以使用 Amazon CloudWatch Observability Access Manager 將一或多個 AWS 帳戶設定為監控帳戶。您可以在監控帳戶中建立接收器,讓監控帳戶能夠檢視來源帳戶中的資料。可以使用此接收器建立從來源帳戶到監控帳戶的連結。如需更多詳細資訊,請參閱 CloudWatch 跨帳戶觀察功能

    為使 Application Signals 跨帳戶可觀測性正確發揮作用,請確保透過 CloudWatch Observability Access Manager 共用下列遙測類型。

    • Application Signals 服務和服務層級目標 (SLO)

    • Amazon CloudWatch 中的指標

    • Amazon CloudWatch Logs 中的日誌群組

    • AWS X-Ray 中的追蹤

  • 動態服務分組和篩選:使用 Application Signals 的動態分組功能來分組和篩選服務。自動彙總群組內服務的指標和 SLI,讓您從群組檢視開始,深入探究有問題的具體區域。Application Signals 會根據服務的組態和關係,自動偵測服務並將其分組。也可以建立符合業務需求的自訂群組。例如,可以依業務單位、團隊或關鍵等級將服務分組。檢視合併效能指標、追蹤群組層級 SLI,並快速識別效能不佳的服務。使用分組,可以將大規模分散式服務整合成符合營運需求的邏輯群組,並簡化監控,尤其是在事件發生期間。

    系統會分析服務相依項圖表,並建立根節點 (沒有上游相依項的服務) 成為群組名稱的群組。所有依賴此根服務的服務 (無論直接或間接) 都會自動包含在群組中。例如,若服務 A 呼叫服務 B,而服務 B 又呼叫服務 C,這三個服務將被歸為一組,並以服務 A 作為群組名稱,因為它是相依項鏈的根節點。此自動分組機制提供自然的方式,能依據服務間實際的執行時期互動與相依項,直觀呈現並管理相關服務。

    根據您的團隊結構、業務網域或營運需求,使用 AWS 標籤或 OpenTelemetry 屬性建立自訂分組。自訂分組可讓您根據特定監控和疑難排解工作流程來整合服務。如需更多詳細資訊,請參閱 設定自訂群組

  • 上次部署追蹤:可以追蹤每個服務及其相依項的最新部署狀態,這可為疑難排解提供關鍵背景資訊,且無需任何手動設定。識別並監控每個服務及其相依項的最後部署時間,為操作分析與疑難排解提供關鍵背景資訊,無額外組態或設定要求。將部署時間與效能變更關聯、偵測部署相關問題,並維護整個應用程式環境的完整部署歷史記錄。此功能可協助團隊快速判斷近期部署是否導致服務品質下降,並加速事件解決流程。

    Application Signals 會自動將部署事件與效能指標建立關聯,協助快速判斷近期的部署是否導致了服務問題。系統將追蹤部署時間,並在效能變更符合部署活動時提供視覺化指標。

    全面掌握應用程式環境中各項部署活動的概況。檢視部署頻率、時間模式和成功率,以最佳化部署策略並識別潛在風險因素。

  • 自動化稽核調查結果:透過 Application Signals 的自動化稽核調查結果 (例如 Application Signals RED 指標、追蹤及應用程式日誌的 EMF 日誌),發掘關鍵洞見。此服務會分析您的應用程式以報告觀測結果,包括找出導致延遲、故障或錯誤的主要異常值,定位源自相依項服務的問題,以及從應用程式日誌中獲取詳細錯誤資訊,以協助更深入了解根本原因。稽核系統運用進階分析技術,用以偵測模式、凸顯資源運用效率低下之處,並提出根本原因。系統將依據嚴重程度與潛在業務影響排定調查結果的優先級,以便團隊優先處理最關鍵的問題。無需人工分析即可獲得有關如何提高服務可靠性和效能的可行建議。