本頁提供建議,說明如何在不同Google Cloud 平台 (例如 Google Kubernetes Engine (GKE) 和 Cloud Run) 上檢測應用程式。如果應用程式尚未完成檢測,請參考這些建議,瞭解如何檢測應用程式,將遙測資料傳送至 Google Cloud。這個頁面的建議並非唯一解決方案,其他方法也可能有效。如需其他指引,請與Google Cloud 支援團隊聯絡。
最佳化建議適用於下列項目:
如需插碼範例的相關資訊,請參閱「程式碼範例」一節列出的文件。
GKE
如需 GKE 的一般資訊,請參閱 GKE 總覽。
| 類型 | 建議 |
|---|---|
| 指標 | 建議您使用 Google Cloud Managed Service for Prometheus。 如要進行插樁,請執行下列任一操作:
|
| 追蹤記錄 | 請執行下列步驟:
|
| 記錄 | 將應用程式設為將 JSON 結構化記錄輸出至 GKE 會自動收集寫入 |
Compute Engine
如要瞭解 Compute Engine 的一般資訊,請參閱虛擬機器執行個體。
| 類型 | 建議 |
|---|---|
| 指標和追蹤記錄 | 請執行下列步驟:
或者,如果您只想設定 Prometheus 格式指標的收集作業,請使用 Ops Agent Prometheus 接收器,收集使用 Prometheus 用戶端程式庫或 OpenTelemetry SDK 檢測的指標。 |
| 記錄 | 請執行下列步驟: |
Cloud Run
如需 Cloud Run 的一般資訊,請參閱「什麼是 Cloud Run」。
| 類型 | 建議 |
|---|---|
| 指標和追蹤記錄 | 請執行下列步驟:
或者,如果您只想為 Prometheus 格式的指標設定收集作業,請使用 Cloud Run 的 Prometheus Sidecar,收集使用 Prometheus 用戶端程式庫或 OpenTelemetry SDK 檢測的指標。 |
| 記錄 | 將應用程式設為將 JSON 結構化記錄輸出至 Cloud Run 會自動收集寫入 |
Cloud Run 函式
如要瞭解 Cloud Run functions 的一般資訊,請參閱「Cloud Run functions 簡介」。
| 類型 | 建議 |
|---|---|
| 指標 | Cloud Run functions 不支援直接寫入指標。您可以產生記錄指標。 |
| 追蹤記錄 | 使用適用於您所用語言的 OpenTelemetry SDK 和 Cloud Trace 匯出工具。 |
| 記錄 | 將應用程式設為將 JSON 結構化記錄輸出至 Cloud Run 函式會自動收集寫入 |
App Engine
如需 App Engine 的一般資訊,請參閱「App Engine 總覽」。
| 類型 | 建議 |
|---|---|
| 指標 | 使用適用於您所用語言的 OpenTelemetry SDK 和 Cloud Monitoring 匯出工具。 |
| 追蹤記錄 | 使用適用於您所用語言的 OpenTelemetry SDK 和 Cloud Trace 匯出工具。 |
| 記錄 | 將應用程式設為將 JSON 結構化記錄輸出至 App Engine 會自動收集寫入 |
建議使用的記錄架構
為收集記錄,建議您使用可設定為將序列化 JSON 物件輸出至 stdout、stderr 或檔案的架構。無論是整合或安裝,記錄代理程式都會擷取檔案,並為 Cloud Logging 寫入結構化記錄。如要寫入記錄資料,建議採取下列做法:
程式碼範例
使用 OpenTelemetry 程式庫檢測應用程式時,您可以決定如何將遙測資料傳送至 Google Cloud 專案。基本方法有兩種:
您可以使用 OpenTelemetry SDK 監測應用程式程式碼,並使用 SDK 內含的程序內 OTLP 匯出工具,將資料傳送至 OpenTelemetry 收集器。收集器會接收處理中匯出工具的資料,然後將資料傳送至 Google Cloud 專案。您對應用程式程式碼所做的變更與供應商無關。收集器包含將遙測資料傳送至 Google Cloud 專案的邏輯。
您可以使用 OpenTelemetry SDK 檢測應用程式碼,並使用程序內匯出工具,將資料直接傳送至 Google Cloud 專案。您對應用程式所做的部分變更僅適用於特定供應商。不過,您不需要設定或部署收集器。
如果您的環境支援使用收集器,建議您使用 OpenTelemetry 收集器匯出遙測資料。在某些環境中,您必須使用程序內匯出工具,直接將資料傳送至Google Cloud 專案。
以收集器為準的匯出作業範例
如需特定語言的檢測範例,請參閱下列文件:
如要瞭解如何定義及部署收集器,請參閱樣本總覽。
使用程序內匯出工具直接匯出的範例
從 Trace 匯出工具遷移至 OTLP 端點。本文說明如何進行程序內插樁,直接將追蹤資料匯出至 Google Cloud 專案。我們提供 Go、Java、Node.js 和 Python 的範例。
生成式 AI 應用程式的儀表板。本文說明如何使用 LangGraph 或 Agent Development Kit (ADK) 架構,啟用或監控建構的生成式 AI 代理。
OpenTelemetry 參照
本節提供 OpenTelemetry SDK 的連結,以及 OTLP、Cloud Trace 和 Cloud Monitoring 的匯出器。
一般參考資料: