Cloud Run 疑難排解簡介

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

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

Cloud Run 疑難排解策略

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

使用 Cloud Logging 輸出優質記錄檔

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

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

使用記錄檔探索工具調查執行個體

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

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

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

如要在記錄檔探索工具中篩選特定執行個體,請按照下列步驟操作:

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

    前往記錄檔探索工具

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

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

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

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

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

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

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

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

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

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

      前往 Cloud Run

    2. 從清單中選取服務或工作。

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

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

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

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

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

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

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

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

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

在 Gemini 協助下排解問題

您可以使用 Gemini Cloud Assist 對話功能分析記錄及排解錯誤。有了 Gemini 的協助,您就能運用工具的記錄分析功能,快速找出並解決錯誤,節省寶貴時間和精力。

如要透過 Google Cloud 控制台使用 Gemini Cloud Assist,請按照下列步驟操作:

  1. 確認您已為 Google Cloud 使用者帳戶和專案設定 Gemini Cloud Assist。

  2. 在 Google Cloud 專案中設定 Cloud Run 開發環境,並確認您具備適當的部署權限

  3. 前往 Google Cloud 控制台的 Cloud Run 頁面。

    前往 Cloud Run

  4. 在控制台工具列中選取 Google Cloud 專案。使用與您在獲准存取 Gemini Cloud Assist 後提交的專案 ID 相關聯的專案。

  5. 按一下「spark」 開啟或關閉 Gemini AI 對話

    Gemini 面板隨即開啟。

  6. 視需要點按「接受」,同意條款。

  7. 如果您對特定應用程式有疑問,請先前往顯示資源的頁面,再提出問題,以提供相關背景資訊。生成回覆時,Gemini 會納入目前控制台頁面和專案的相關資訊。

  8. 在「Gemini」Gemini面板中輸入提示。

    下表提供一些範例提示,說明如何搭配使用 Gemini Cloud Assist 和 Cloud Run。

    提示 回覆類型
    「可以說明我在 Cloud Run 容器記錄中看到的這則錯誤訊息嗎?」 如果提示中沒有特定錯誤訊息,輸出內容會提供常見 Cloud Run 容器記錄錯誤訊息的疑難排解指引。
    「Can you explain this error message I'm seeing in my logs for my Cloud Run service?

    HTTP 429 The request was aborted because there was no available instance. The Cloud Run service might have reached its maximum container instance limit or the service was otherwise not able to scale to incoming requests. This might be caused by a sudden increase in traffic, a long container startup time or a long request processing time."
    說明 Cloud Run 錯誤訊息,以及如何解決錯誤。
    「部署 Cloud Run 服務時,如何修正下列錯誤訊息?」

    HTTP 404: Not found
    錯誤的常見原因和疑難排解方式。
    「我的 Cloud Run 服務一直停止運作。請問可能原因為何?」 調查原因和解決問題的方法。
    「如何判斷記錄中出現的 5XX 錯誤是否是由於 Google 基礎架構服務中斷所致?」 判斷 5XX 錯誤原因的步驟。
    「如何找出『com.google.apps.framework.request.BadRequestException Project PROJECT has serving status SYSTEM_DISABLED and cannot be modified』錯誤的原因?」 這表示專案已在系統層級遭到管理員停用。 Google Cloud 提供步驟,進一步調查原因。
    「如果我已設定 ingress=internal,為什麼還是能透過瀏覽器存取 Cloud Run 服務?」 說明將 ingress 設定設為 internal 時的預期行為。包括其他情況,例如從瀏覽器存取時似乎可以正常運作。

詳情請參閱下列資源:

使用 Gemini Cloud Assist Investigations

除了互動式對話,Gemini Cloud Assist 還能透過 Gemini Cloud Assist Investigations 執行更深入的自動分析。這項功能直接整合至記錄檔總管等工作流程,是強大的根本原因分析工具。

從錯誤或特定資源啟動調查時,Gemini Cloud Assist 會分析記錄、設定和指標。系統會使用這項資料,針對可能的原因產生排序後的觀察結果和假設,然後提供建議的後續步驟。您也可以將這些結果轉移至 Google Cloud 支援案件,提供有價值的背景資訊,協助您更快解決問題。

如要進一步瞭解啟動調查的不同方式,請參閱 Gemini 說明文件中的「排解 Gemini Cloud Assist 調查相關問題」。

後續步驟

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