Cloud Run 疑難排解簡介

本頁面說明 Cloud Run 錯誤的常見疑難排解策略。Personalized Service Health 會發布所有源自基礎 Cloud de Confiance by S3NS 架構的 Cloud Run 事件,協助您找出影響專案的 Cloud de Confiance by S3NS 服務中斷情形。建議您也針對 Personalized Service Health 事件設定快訊。如要瞭解影響所有 Cloud de Confiance by S3NS 服務的事件,請參閱 Cloud de Confiance by S3NS Service Health 資訊主頁。

如要解決 Cloud Run 資源相關問題,請參閱 Cloud Run 疑難排解指南的下列章節:

Cloud Run 疑難排解策略

下列各節說明如何運用一般疑難排解策略解決錯誤。如果按照疑難排解指南中的步驟操作後,仍持續發生錯誤,請參閱「後續步驟」一節。

使用 Cloud Logging 輸出優質記錄

如果擁有良好的除錯記錄,就能更輕鬆地排解 Cloud Run 資源問題。您應以建立容器記錄與要求記錄間的關聯的方式寫入記錄。

透過相互關聯的記錄,您可以找出需要進一步分析的要求、找到要求追蹤記錄,並分析問題的根本原因。如要進一步瞭解如何寫入記錄,請參閱「寫入容器記錄」。

使用 Logs Explorer 調查執行個體

Cloud Run 中的每筆要求記錄都包含 instanceId 欄位,可識別處理要求的執行個體。視您指定的並行值而定,單一執行個體可以同時處理多個要求。

如果有多個執行個體同時發出記錄,您應篩選執行個體,找出導致執行個體當機的連續要求。

篩選執行個體後,即可偵錯與冷啟動或延遲時間增加相關的特定效能問題。如果後續並行要求重複使用值,這些問題也可能與全域範圍中宣告的變數有關。舉例來說,您可以為執行個體建立單一連線集區全域物件,然後在多個要求中使用該物件。

如要在 Logs Explorer 中篩選特定執行個體,請按照下列步驟操作:

  1. 前往 Cloud de Confiance 控制台的「Logs Explorer」頁面:

    前往 Logs Explorer

  2. 在頁面頂端選取現有 Cloud de Confiance by S3NS 專案,或建立新專案。

  3. 選取服務的「Cloud Run 修訂版本」資源,或是工作的「Cloud Run 工作」資源。

  4. 展開記錄項目,即可依特定執行個體篩選。

  5. 按一下執行個體 ID 值,然後選取「顯示相符的項目」

調查執行個體時,您可以使用 Gemini Cloud Assist 調查功能,進一步瞭解記錄。 如要進一步瞭解如何使用 Logs Explorer 啟動調查,請參閱 Gemini 說明文件中的「排解 Gemini Cloud Assist 調查的問題」。

解決要求延遲時間不如預期的問題

如果遇到延遲問題,請採取下列做法:

  1. 檢查延遲是否影響對 Cloud Run 資源的所有要求,或僅影響一小部分要求。Cloud Run 會自動與 Cloud Monitoring 整合,因此您不需要調整任何設定。

    如要查看個別要求延遲指標,請按照下列步驟操作:

    1. 前往 Cloud de Confiance 控制台的 Cloud Run 頁面:

      前往 Cloud Run

    2. 從左側導覽列的清單中選取服務或工作。

    3. 按一下「METRICS」分頁標籤,顯示「Request latencies」資訊主頁。

    如要在 Cloud Monitoring 中查看延遲時間指標,請從「指標」清單中依序選取「Cloud Run 修訂版本」>「Request_latencies」>「Request latency」

    如需所有可用的 Cloud Run 指標清單和更深入的詳細資料,請參閱 Cloud Monitoring 中的Cloud de Confiance by S3NS 指標

  2. 找出延遲時間較長的要求,瞭解延遲來源。 您可以使用 Cloud Trace 或 Cloud Logging,瞭解特定要求耗費的時間。

    如要使用 Cloud Logging 找出延遲時間較長的要求,請套用 traceSampled=true 篩選器,將 Cloud Logging 中的記錄與 Cloud Trace 中的追蹤記錄建立關聯。詳情請參閱「與 Cloud Logging 整合」。

    有時,對其他服務的要求等依附元件可能會導致延遲問題。如要找出這類要求,您應明確記錄要求。如果沒有輸出這類記錄,可能會顯示延遲問題源自 Cloud Run 服務。

    此外,您也應考慮在所選時間範圍內評估延遲尖峰。尖峰的顯著程度是相對的;在較小的時間範圍內,尖峰可能很大,但在較大的時間範圍內,尖峰可能微不足道,反之亦然。因此,時間範圍會大幅影響延遲時間資料的解讀。

  3. 請嘗試增加執行個體數量下限,藉此縮短傳入要求的延遲時間,並避免冷啟動。您也應考慮修改原始碼,並調整縮放設定,以限制與後端服務的連線數。

    詳情請參閱「最佳化效能」。

排解連線問題

如果 Cloud Run 服務發生連線問題,請考慮使用下列策略和工具診斷問題:

  • PCAP 補充資訊:如要進行更深入的網路層級分析,請部署 PCAP 補充資訊,與 Cloud Run 服務並行運作。這個邊車容器會使用相同網路命名空間中的 tcpdump 擷取封包。側車會與主要 Ingress 容器分離,且不需要進行任何修改,即可執行封包擷取作業。Sidecar 也會使用自己的資源,避免 tcpdump 與您分配給主要服務的資源競爭。

  • Cloud Run 修訂版本Cloud Run 函式的網路智慧和連線測試:自動檢查 Cloud Run 資源與端點之間的網路路徑。這有助於找出可能導致流量無法傳輸至/自 Cloud Run 資源的設定錯誤,例如連線至 VM 執行個體、IP 位址或 Google 管理的服務時。

  • 查看 Cloud Run 資源的記錄:記錄會顯示連線問題的錯誤訊息,例如連線失敗、逾時或遭拒。這些記錄通常會顯示連線問題是出在應用程式還是網路。

後續步驟

如果 Cloud Run 說明文件無法解決問題,請按照下列步驟操作: