Google Cloud Observability 包含觀測服務,可協助您瞭解應用程式的行為、健康狀態和效能。瞭解應用程式的行為方式和元件的連結方式,有助於預測、找出及因應非預期的變化,並提高效率。
這份文件包含下列資訊:
- 觀測能力簡介,以及觀測能力為何對確保應用程式可用性和可靠性至關重要。
- 瞭解如何運用 Google Cloud Observability 監控及維護應用程式和基礎架構的健康狀態。
- 瞭解如何開始使用 Google Cloud的觀測功能。
關於可觀測性
可觀測性是一種全方位做法,可收集及分析遙測資料,進而瞭解環境狀態。遙測資料包括指標、記錄、追蹤,以及應用程式和應用程式基礎架構產生的其他資料,可提供應用程式健康狀態和效能的相關資訊。以應用程式為中心的觀測能力是指可從應用程式的角度,將遙測資料視覺化並加以分析的工具。
- 指標
- 指標是您定期測量的健康狀態或效能相關數值資料,例如 CPU 使用率和要求延遲時間。指標出現未預期的變化,可能表示有問題需要調查。隨著時間推移,您也可以分析指標模式,進一步瞭解使用模式並預測資源需求。
- 記錄
記錄檔是系統或應用程式活動在一段時間內產生的記錄。每個記錄檔都是記錄項目的集合,並附上時間戳記,每個記錄項目則說明特定時間點的事件。
記錄通常包含豐富的詳細資訊,有助於瞭解應用程式特定部分的狀況。不過,記錄無法提供實用的資訊,說明應用程式中某個元件的變更與另一個元件的活動有何關聯。追蹤記錄有助於填補這項落差。
- 追蹤記錄
追蹤記錄代表要求在分散式應用程式各部分的路徑。如果某個應用程式元件中的指標或記錄項目觸發快訊通知,這可能只是問題的徵兆,問題的根源在於另一個元件。您可以透過追蹤要求流程並檢查延遲資料,找出問題的根本原因。
- 其他資料
您可以分析其他資料背景下的指標、記錄和追蹤記錄,進一步瞭解情況。舉例來說,警示嚴重程度的標籤,或記錄中與要求相關聯的客戶 ID,可提供有助於疑難排解和偵錯的背景資訊。
監控、偵錯及排解分散式應用程式的問題可能很困難,因為這類應用程式涉及許多系統和軟體元件,而且通常會混合使用開放原始碼和商業軟體。
可觀測性工具可收集有意義的資料,並提供探索、分析及關聯資料的功能,協助您應對這項複雜性。可觀測的環境可協助您:
- 主動偵測問題,避免使用者受到影響
- 排解已知和新問題
- 在開發期間偵錯應用程式
- 規劃及瞭解應用程式變更的影響
- 探索資料,發掘全新洞察
簡單來說,可觀測的環境有助於維持應用程式的可靠性。應用程式符合您目前對可用性和故障復原能力的要求時,就是可靠的應用程式。
如要進一步瞭解可靠性做法,包括與觀測能力相關的原則和做法,請參閱《網站可靠性工程:Google 如何執行生產系統》一書。網路研討會包括以下主題:
Google Cloud Observability
Google Cloud Observability 服務可協助您收集、分析及關聯遙測資料,包括應用程式和基礎架構的資料。這些服務也提供內建預設值,協助您更快上手,例如應用程式中心的預設資訊主頁,以及預先設定的快訊政策。
建立 Google Cloud 專案時,系統會依預設啟用 Cloud Monitoring、Cloud Logging 和 Cloud Trace 等服務。
監控:使用收集到的指標監控健康狀態和效能、找出趨勢和問題,並在行為發生變化時發出通知。
- 查看 App Hub 應用程式的健康狀態。
- 自動收集大多數 Google Cloud 服務的指標。
- 從第三方應用程式收集系統和應用程式指標。
- 使用預設或自訂資訊主頁,以圖表呈現及分析指標。
- 使用綜合監控功能測試應用程式效能。
- 定義服務等級目標 (SLO),監控服務可靠性。
- 在發生問題時接收快訊。
記錄:使用收集到的記錄檔進行偵錯、疑難排解,並深入瞭解應用程式。
- 自動收集大多數 Google Cloud 服務的記錄。
- 自動收集大多數服務的稽核記錄。 Google Cloud
- 收集第三方軟體的記錄檔。
- 探索及分析記錄。
- 使用 Observability Analytics,透過 BigQuery 分析記錄檔和其他資料。舉例來說,您可以使用 BigQuery,將記錄中的網址與已知惡意網址的公開資料集進行比較。
- 從記錄檔建立指標。
- 當記錄中出現特定訊息時,您會收到快訊。
Error Reporting:查看及分析運作中雲端服務的錯誤:
- 匯總 Error Reporting 在記錄項目中偵測到的錯誤,並查看相關記錄。
- 匯總應用程式傳送至 Error Reporting API 的錯誤。
追蹤記錄:偵錯及疑難排解時,查看及分析應用程式要求的流程和延遲時間。
- 追蹤要求在應用程式中的傳播情形。
- 收集應用程式的延遲資料,並查看資料圖表。
- 查看顯示效能下降情形的延遲報表。
- 接收應用程式延遲設定檔變更的快訊。
- 將追蹤記錄匯出至 BigQuery,以便與其他資料一起探索。
Cloud Profiler:分析應用程式的 CPU 和記憶體用量,找出提升效能的機會。
- 從應用程式收集 CPU 使用率和記憶體配置資料。
- 找出應用程式中耗用最多資源的部分,並深入瞭解應用程式的整體效能。
開始使用
本節說明如何熟悉 Google Cloud的可觀測性功能。
嘗試快速入門導覽課程
試用快速入門指南,熟悉可用的服務。
查看自動收集的資料
大多數 Google Cloud 服務都會自動產生預先定義的指標和記錄檔。 也就是說,您不必額外設定,即可開始查看支援的Google Cloud 服務的觀測資料。
- 部分 Google Cloud 服務 (例如 Google Kubernetes Engine (GKE)、Compute Engine 和 Cloud SQL) 會在 Google Cloud 控制台中提供預設資訊主頁,方便您查看服務相關的可觀測性資料。
- Compute Engine、GKE 和 Cloud Run 預設會產生系統指標和記錄,您可以設定收集其他資料。
- Cloud Run 函式和 App Engine 會自動產生指標、記錄和追蹤記錄。
您也可以在 Metrics Explorer 中繪製收集到的指標圖表、在 Logs Explorer 中查看記錄,或在「Trace」(追蹤記錄) 中查看追蹤記錄。如要一併查看相關資料,請建立自訂資訊主頁。舉例來說,您可以建立資訊主頁,其中包含虛擬機器的記錄、效能指標和快訊政策。
設定 Compute Engine VM,收集額外資料
根據預設,Compute Engine VM 只會收集基本系統指標和記錄,且不會安裝作業套件代理程式
安裝作業套件代理程式,從 Compute Engine 執行個體和應用程式收集其他遙測資料 (記錄檔、指標和追蹤記錄),以便進行疑難排解、監控效能及傳送快訊。
- 自動收集主機指標,例如 CPU、GPU、記憶體和程序指標。
- 自動收集 syslog 等來自 Linux VM 的系統記錄檔,以及來自 Windows VM 的 Windows 事件記錄。
- 使用下列工具觀察應用程式:
- 第三方應用程式整合:可搭配熱門軟體使用,例如 Postgres、MongoDB 和 Java 虛擬機器等,並提供預先設定的資訊主頁和警告政策
- Prometheus 指標
- OpenTelemetry Protocol (OTLP) 指標和追蹤記錄
- 應用程式記錄檔
- 如需收集到的遙測資料摘要,請參閱 Ops Agent 總覽。
設定 GKE 叢集以收集其他資料
根據預設,GKE 叢集會將系統記錄和系統指標傳送至 Logging 和 Monitoring。Google Cloud Managed Service for Prometheus 會處理第三方和使用者定義指標的收集作業。
- 使用可觀測性指標套件,進一步瞭解應用程式和叢集資源的狀態。舉例來說,控制層指標可用於建立服務等級目標,監控服務可用性和延遲情形。
- 監控第三方應用程式,例如 Postgres、MongoDB 和 Redis。這些整合服務提供預先設定的資訊主頁和快訊政策。
設定 Cloud Run 以收集自訂資料
如果 Cloud Run 服務會寫入 Prometheus 指標,則可使用 Prometheus 補充資訊將指標傳送至 Cloud Monitoring。
如果 Cloud Run 服務改為寫入 OTLP 指標,則可使用 OpenTelemetry Sidecar。如需範例,請參閱使用 Sidecar 收集 OTLP 指標的教學課程。
檢測應用程式
檢測是指您新增至應用程式的程式碼,用於發出遙測資料。有許多開放原始碼檢測架構可供您從應用程式收集指標、記錄和追蹤記錄,並將資料傳送給任何供應商,包括 Google Cloud。不過,您可能不需要為應用程式進行插樁。舉例來說,Cloud Run、Cloud Run functions 和 App Engine 都提供自動追蹤功能。
如要檢測應用程式,建議您使用開放原始碼的廠商中立檢測框架 (例如 OpenTelemetry),而非廠商和產品專屬的 API 或用戶端程式庫。如要瞭解如何檢測應用程式,請參閱「 檢測與可觀測性」。
如需程式碼範例,瞭解如何設定應用程式,將遙測資料傳送至 Google Cloud,請參閱下列內容:
您或許會想探索以下主題: