Cloud 作業套件簡介

1. 簡介

上次更新時間:2023 年 7 月 28 日

什麼是 Google Cloud 作業套件?

Google Cloud 作業套件是一個平台,可讓您監控、疑難排解及改善 Google Cloud 環境中的應用程式效能。Cloud 作業套件的主要要素包括 Cloud Monitoring、Cloud Logging 和雲端追蹤。

歡迎觀看這部影片,概略瞭解 Google Cloud 作業套件。

建構項目

在這個程式碼研究室中,您將在 Google Cloud 部署範例 API。然後,您將探索及設定 Cloud Monitoring 中的多項功能 vis-a-vis API。

課程內容

  • 使用 Google Cloud 的 Cloud Shell 將範例應用程式部署至 Cloud Run。
  • 使用資訊主頁、快訊、運作時間檢查、SLI/SLO 監控等 Google Cloud Monitoring 功能。

軟硬體需求

  • 新版 Chrome (74 以上版本)
  • Google Cloud 帳戶和 Google Cloud 專案

2. 設定和需求

自修環境設定

如果您還沒有 Google 帳戶 (Gmail 或 Google Apps),請先建立帳戶。登入 Google Cloud Platform 控制台 ( console.cloud.google.com),並建立新專案。

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • 專案名稱是這項專案參與者的顯示名稱。這是 Google API 未使用的字元字串。您可以隨時更新。
  • 所有 Google Cloud 專案的專案 ID 均不得重複,且設定後即無法變更。Cloud 控制台會自動產生一個不重複的字串。但通常是在乎它何在在大部分的程式碼研究室中,您必須參照專案 ID (專案 ID 通常為 PROJECT_ID)。如果您對產生的 ID 不滿意,可以隨機產生一個 ID。此外,您也可以自行嘗試,看看系統是否提供該付款方式。在完成這個步驟後就無法變更,而且在專案期間仍會保持有效。
  • 資訊中的第三個值是「專案編號」,供部分 API 使用。如要進一步瞭解這三個值,請參閱說明文件

注意:專案 ID 必須是全域唯一的,且選定後即無法使用。您是該 ID 唯一的使用者。即使專案已刪除,也無法再次使用該 ID

  1. 接下來,您需要在 Cloud 控制台中啟用計費功能,才能使用 Cloud 資源/API。執行這個程式碼研究室並不會產生任何費用,如果有的話。如要關閉資源,以免系統產生本教學課程結束後產生的費用,您可以刪除自己建立的資源,或刪除整個專案。Google Cloud 的新使用者符合 $300 美元免費試用計畫的資格。

Google Cloud Shell 設定

雖然 Google Cloud 和 Google Cloud Trace 可以在筆記型電腦上遠端運作,但在本程式碼研究室中,我們會使用 Google Cloud Shell,這是一種在 Cloud 中執行的指令列環境。

如要透過 Cloud 控制台啟用 Cloud Shell,只要按一下「啟用 Cloud Shell」即可 (整個佈建作業只需幾分鐘即可完成),

30c26f30d17b3d46.png

如果您先前從未啟動 Cloud Shell,您會看見中繼畫面 (需捲動位置),說明螢幕內容。如果出現這種情況,請按一下「繼續」(之後不會再顯示)。以下是單次畫面的外觀:

9c92662c6a846a5c.png

佈建並連線至 Cloud Shell 只需幾分鐘的時間。

9f0e51b578fecce5.png

這個虛擬機器搭載您需要的所有開發工具。提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作,大幅提高網路效能和驗證能力。在本程式碼研究室中,您的大部分作業都可以透過瀏覽器或 Chromebook 完成。

連線至 Cloud Shell 後,您應會發現自己通過驗證,且專案已設為您的專案 ID。

在 Cloud Shell 中執行下列指令,確認您已通過驗證:

連線至 Cloud Shell 後,您應會發現自己通過驗證,且專案已設為 PROJECT_ID

gcloud auth list

指令輸出

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

指令輸出

[core]
project = <PROJECT_ID>

如因故未設定專案,請直接發出以下指令:

gcloud config set project <PROJECT_ID>

根據預設,Cloud Shell 也會設定一些環境變數,方便您之後執行指令。

echo $GOOGLE_CLOUD_PROJECT

指令輸出

<PROJECT_ID>

範例應用程式

我們已將本專案所需的資料都放到 Git 存放區中。存放區含有幾個範例應用程式,您可以選擇使用這些應用程式進行本練習。

Git 存放區連結:https://github.com/rominirani/cloud-code-sample-repository

3. 部署 API 應用程式

什麼是範例應用程式或 API?

我們的應用程式是簡單的 Inventory API 應用程式,會顯示一個帶有幾項作業的 REST API 端點,以便列出庫存商品及取得特定商品庫存數量。

部署 API 並假設 API 託管於 https://&lt;somehost&gt; 之後,便可按照以下方式存取 API 端點:

  • https://&lt;somehost&gt;/inventory

這裡會列出含有當前庫存層級的所有產品項目。

  • https://&lt;somehost&gt;/inventory/{productid}

這樣就會提供一筆記錄,其中包含該產品的產品 ID 和商品目錄層級。

傳回的回應資料會採用 JSON 格式。

範例資料與 API 要求/回應

為簡化作業,應用程式並非由後端的資料庫提供技術支援。當中包含 3 個範例產品 ID 及個別商品目錄層級。

產品 ID

現場廣告空間層級

I-1

10

I-2

20

I-3

30

API 要求與回應範例如下:

API 要求

API 回應

https://&lt;somehost&gt;/inventory

[ { &quot;I-1&quot;: 10, &quot;I-2&quot;: 20, &quot;I-3&quot;: 30 }]

https://&lt;somehost&gt;/inventory/I-1

{ &quot;productid&quot;: &quot;I-1&quot;, &quot;qty&quot;: 10}

https://&lt;somehost&gt;/inventory/I-2

{ &quot;productid&quot;: &quot;I-2&quot;, &quot;qty&quot;: 20}

https://&lt;somehost&gt;/inventory/I-200

{ &quot;productid&quot;: I-200, &quot;qty&quot;: -1}

複製存放區

雖然 Google Cloud 可以從筆記型電腦遠端操作,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是一種在 Cloud 中執行的指令列環境。

在 GCP 控制台的右上方,按一下「Cloud Shell」圖示:

bce75f34b2c53987.png

佈建並連線至環境的作業只需幾分鐘的時間。完成後,您應該會看到類似下方的內容:

f6ef2b5f13479f3a.png

這部虛擬機器都裝載了您需要的所有開發工具。提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作,大幅提高網路效能和驗證能力。這個研究室中的所有工作都可以透過瀏覽器完成。

設定 gcloud

在 Cloud Shell 中設定專案 ID,並儲存為 PROJECT_ID 變數。

PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID

接著執行下列指令:

$ git clone https://github.com/rominirani/cloud-code-sample-repository.git 

這項操作會在這個資料夾中建立名為 cloud-code-sample-repository 的資料夾。

(選用) 在 Cloud Shell 執行應用程式

您可以按照下列步驟在本機執行應用程式:

  1. 在終端機中,透過下列指令前往 Python 版本的 API:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. 在終端機中輸入以下指令 (撰寫時,Cloud Shell 已安裝 Python 3.9.x,並使用預設版本。如果打算在筆電本機上執行,建議使用 Python 3.8 以上版本) :
$ python app.py
  1. 您可以執行下列指令,在本機啟動 Python 伺服器。

26570f586acaeacf.png

  1. 這樣做會在 通訊埠 8080 上啟動伺服器,接著您可以透過 Cloud Shell 的網頁預覽功能,在本機上進行測試。點選「網頁預覽」按鈕,如下所示:

675d9b3097a6209c.png

按一下「透過以下通訊埠預覽:8080」。

  1. 系統會開啟瀏覽器視窗。系統會顯示 404 錯誤,表示沒有問題。修改網址,並變更為在主機名稱後方加上 /inventory

例如:看起來會像這樣:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

這樣會顯示先前所述的商品目錄項目清單:

ef6afb0184c58870.png

  1. 如要立即停止伺服器,請前往終端機並按下 Ctrl-C

部署應用程式

接著將這個 API 應用程式部署至 Cloud Run。這個程序包括利用 glcoud 指令列用戶端執行指令,將程式碼部署至 Cloud Run

在終端機中輸入下列 gcloud 指令:

$ gcloud run deploy --source .

系統會詢問您多個問題 (如果要求您授權,請繼續進行),並在下文中說明幾個重點。視設定及 Google Cloud 專案中是否已啟用特定 API 而定,您不一定會看到所有問題。

  1. 服務名稱 (python-flask-api):請使用這項預設值,或是選擇類似 my-inventory-api
  2. 專案 [project-number] 未啟用 API [run.googleapis.com]。要啟用並重試 (這需要幾分鐘的時間) 嗎?(是/否)?是
  3. 請指定區域:提供數字來選擇您選擇的地區。
  4. 專案 [project-number] 未啟用 API [artifactregistry.googleapis.com]。要啟用並重試 (這需要幾分鐘的時間) 嗎?(是/否)?是
  5. 如要透過來源部署,您必須具備 Artifact Registry Docker 存放區來儲存建構的容器。系統會在區域 [us-west1] 中建立名為 [cloud-run-source-deploy] 的存放區。

要繼續 (是/n) 嗎?是

  1. 允許在未經驗證的情況下叫用 [my-inventory-api] (y/N)?是

最後,這個程序會啟動 Cloud Run 服務與修訂版本,並將原始碼容器化並推送至 Artifact Registry,然後再部署 Cloud Run 服務 + 修訂版本。請在這項程序中耐心等候 (可能需要 3 至 4 分鐘的時間),系統應會顯示相關服務網址,讓您瞭解如何完成整個程序。

範例執行作業如下所示:

7516696ea5b3004b.png

測試應用程式

我們已將應用程式部署至 Cloud Run,您可以按照下列步驟存取 API 應用程式:

  1. 記下上一個步驟中的服務網址。例如:我的設定中會顯示為 https://my-inventory-api-bt2r5243dq-uw.a.run.app。也就是 &lt;SERVICE_URL&gt;
  2. 開啟瀏覽器並存取下列 3 個 API 端點網址:
  3. &lt;SERVICE_URL&gt;/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

這個規格應該與先前在 API 要求和回應範例章節中提供的規格相同。

從 Cloud Run 取得服務詳細資料

我們已將 API 服務部署至無伺服器運算環境的 Cloud Run。我們隨時可以透過 Google Cloud 控制台造訪 Cloud Run 服務。

在主選單中前往 Cloud Run。畫面上隨即會顯示您在 Cloud Run 中執行的服務清單。您應該會看到剛剛部署的服務。依據您選取的名稱,您應該會看到類似下方的內容:

10d2c363241d789c.png

按一下服務名稱即可查看詳細資料。範例詳細資料如下所示:

1ec2c9e45ff1a2db.png

請注意,網址本身不是網址,但您可以在瀏覽器中輸入服務網址,然後存取我們剛剛部署的 Inventory API。歡迎查看「指標」和其他詳細資料。

現在就開始使用 Google Cloud 作業套件吧!

4. 設定資訊主頁

Cloud Monitoring 的其中一項便利功能是立即可用的 (OOTB) 資訊主頁,範圍涵蓋 Google Cloud 中的多項資源。這樣一來,您就能輕鬆設定含有標準指標的資訊主頁,以便快速又輕鬆地設定資訊主頁。

我們來看看如何針對剛部署至 Cloud Run 的 API 服務執行這個步驟。

我們服務的自訂資訊主頁

因為我們已將 API 服務部署至 Cloud Run,所以讓我們看看如何設定資訊主頁,以便以圖表呈現各種指標,其中有些包含服務延遲。

首先,在控制台中前往「Monitoring」→「總覽」,如下所示:

c51a5dda4ab72bbf.png

「總覽」會顯示您在 Monitoring 中設定的多項設定,例如資訊主頁、快訊、運作時間檢查等。

2758f61f1e7f1dca.png

現在,我們要點選側邊主選單的「資訊主頁」。即可前往以下畫面:

c9110b6f065100da.png

按一下「範例資料庫」。這裡會列出可在 Google Cloud 中使用多項資源的各種現成資訊主頁 (OOTB)。具體來說,請向下捲動清單,然後選取「Google Cloud Run」(如下所示)。

ddac4038d4fa91ae.png

畫面上會列出 Google Cloud Run 可用的標準資訊主頁。由於我們已在 Cloud Run 上部署服務,因此希望您能感興趣。

畫面上會顯示 Cloud Run Monitoring 的資訊主頁。按一下「預覽」連結,即可查看 Cloud Run Monitoring 可用的標準圖表 (指標) 清單。只要按一下「匯入樣本資訊主頁」,即可將所有圖表匯入自訂資訊主頁。這將顯示資訊主頁畫面,預先填寫名稱,如下所示:

531cb8434b18193a.png

按一下左上方資訊主頁名稱左側的向左箭頭,即可返回瀏覽。系統會導向資訊主頁清單,方便您看到剛建立的新資訊主頁。

只要按一下這個資訊主頁連結,就能直接監控多項立即可用的指標。包括延遲時間、要求數、容器指標等等。

您也可以選取任何資訊主頁上的星號圖示,將其標示為最愛,如下所示:

fc993d1a17415550.png

這樣會將資訊主頁新增至 Monitoring 的「總覽」畫面,讓您輕鬆前往常用資訊主頁。

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

太精彩了!您剛新增用於監控 Cloud Run 服務的自訂資訊主頁。做得好!

5. 運作時間檢查

在本節中,我們會為部署的 API 服務設定運作時間檢查。公開運作時間檢查可向全球各地多個位置的要求,向公開網址或 Google Cloud 資源發出要求,確認資源是否有回應。

本例中的資源即為我們部署至 Cloud Run 的 API 服務。這個網址是 API 服務公開的特定端點,用來指出服務的健康狀態。

在範例 API 服務程式碼中,我們公開了一個端點 /healthy,以傳回字串值「All Izz Well」。因此,我們只需要定義運作時間檢查來比對類似 https://&lt;SERVICE_URL&gt;/healthy 的結果,並檢查是否傳回 https://&lt;SERVICE_URL&gt;/healthy 字串。

建立通知管道

建立運作時間檢查前,請務必先設定通知管道。通知管道是一種媒介,當我們有任何受監控的資源出現或問題時,您就會收到快訊。通知管道範例為「電子郵件」,如果系統顯示「快訊」等通知,你就會收到電子郵件。

目前,我們要設定電子郵件通知管道,並透過電子郵件地址進行設定,這樣我們就能在系統觸發及設定快訊時,立即收到通知。

如要建立通知管道,請按照下列步驟操作:

從 Google Cloud 控制台的主選單中,依序前往「Monitoring」→「Alerting」,如下所示:

9f87859064c63b63.png

隨即顯示的頁面會列出「快訊」、「政策」及其他項目。現階段,上方應該會出現標題為「編輯通知頻道」的連結。按一下該按鈕。

5ab54f42e6f7b99.png

這樣會顯示各種通知管道清單,如下所示:

cd89b1ca9e1de87c.png

找到「電子郵件」部分,然後按一下該列的「新增」。系統隨即會顯示電子郵件設定詳細資訊,如下所示:

d6ed98ffd0427fa3.png

輸入電子郵件地址和「顯示名稱」,如下所示。按一下「儲存」

電子郵件通知管道的建立作業就此完成。現在就開始設定運作時間檢查。

建立運作時間檢查

在 Google Cloud 控制台的主選單中,依序前往「Monitoring」→「運作時間檢查」。畫面頂端會顯示「建立運作時間檢查」連結。按一下該按鈕。

484541aec65e605e.png

其中會產生一系列步驟,您必須完成這些步驟,才能設定運作時間檢查。

首先要設定目標詳細資料,也就是我們部署的 Cloud Run 服務資訊。已填寫的表單如下所示:

4e2bb9fe022320f7.png

您可以按照下列方式選取不同的值:

  • 通訊協定:HTTPS
  • 資源類型:選取 Cloud Run 服務。請留意系統支援的其他資源,您也可以對這些資源設定運作時間檢查。
  • Cloud Run 服務:選取 my-inventory-api 或您對 Cloud Run 服務的特定名稱。
  • 路徑為 /healthy,因為我們會傳回字串「All Izz Well」,而要確認這一點。

點按「繼續」前往下一步。下一步是回應驗證步驟,如下所示:

a6011ac2ab3e0f10.png

您可以看到我們正在啟用 [內容比對]然後設定 /healthy 端點傳回的回應,會是「All Izz Well」。按一下「繼續」前往下一個步驟,我們將在此設定快訊;如果運作時間檢查失敗,要接收快訊的通知管道。

d9738670efcb999f.png

在這個步驟中,為快訊命名。我已選擇 Inventory API 運作時間檢查失敗,但您也可以選擇自己的名稱。這裡的重點是從您先前設定的清單中選取正確的通知管道。

最後點選「查看」,即可查看已設定的運作時間檢查。

在最後一個步驟中,請為運作時間檢查命名 (例如 Inventory API 運作時間檢查),也可以測試檢查設定是否正確。按一下對應的「測試」TEST按鈕。

80375bfab97fc313.png

繼續完成設定程序 (按一下左側的「建立」按鈕)。Google Cloud 會指示在不同區域設定的運作時間檢查探測器對網址進行連線偵測 (ping),並收集這些回應。過幾分鐘再前往「監控」→「運作時間檢查」部分,最好會看到所有代表網址可透過不同的探測器連上的綠色信號。

df17555ddbee1127.png

如果任一探測作業在一段時間內 (可設定) 失敗,您會在設定的電子郵件管道收到「快訊通知」。

以上就是有關設定運作時間檢查的章節。做得好!

6. Metrics Explorer

Cloud Monitoring 提供來自多項 Google Cloud 產品的數千項標準指標。這些指標可讓您進行調查、查詢、轉換為圖表、新增至資訊主頁、啟用快訊等等。

本節的目標是:

  1. 瞭解如何查看各種指標,然後我們將調查 API 服務的特定指標 (延遲)
  2. 將該指標轉換為圖表和自訂資訊主頁,方便日後以圖表呈現指標。

探索 Inventory API 服務的延遲時間指標

在 Google Cloud 控制台的主選單中,依序前往「Monitoring」→「Metrics Explorer」。系統會將您帶往 Metrics Explorer 畫面。按一下「選取指標」。您現在可以瀏覽數個產生指標的有效資源。

由於我們正在處理 Cloud Run 服務,因此請依序點選 Cloud Run 修訂版本 和名為「Request Latency」的特定指標,如下所示:

7609d8156c8f1384.png

按一下「套用」。即可在圖表中顯示要求延遲時間。您可以從右側的 [顯示設定] 將小工具類型變更為折線圖,如下所示:

46086ac0a8eaf3d7.png

顯示延遲時間圖表,如下所示:

ad97f749eeacaa95.png

建立圖表和自訂資訊主頁

讓我們繼續儲存這張圖表。按一下 [Save Chart] (儲存圖表),然後使用下列詳細資料:

35d1788d5f0cb3c4.png

請注意,我們 是要 建立新的資訊主頁 ,而非將資訊主頁儲存至現有的資訊主頁。按一下「儲存」按鈕。這會將新建立的資訊主頁加到資訊主頁清單中,如下所示:

c9cdcd63d5823abd.png

按一下我們建立的具體資訊主頁,即可查看詳細資料。

27354d8310d8a2d7.png

這一節將介紹透過 Metrics Explorer 調查各項指標,以及建立自訂資訊主頁的方法。

7. Cloud Logging

在本節中,我們將介紹 Cloud Logging。Cloud Logging 隨附記錄檔探索工具介面,可協助您瀏覽及深入瞭解各種 Google 服務和自有應用程式產生的記錄檔。

在本節中,我們將瞭解記錄檔探索工具,並模擬幾則記錄訊息,接著透過記錄指標功能搜尋並轉換為指標。

記錄檔探索工具

您可以透過 Google 主要控制台中的「Logging」→「記錄檔探索工具」前往記錄檔探索工具,如下所示:

df05f5b33fd5695a.png

畫面上隨即會顯示記錄介面,您可以在此特別選取/取消選取各種資源 (專案、Google 雲端資源、服務名稱等),以及根據記錄層級篩選記錄訊息。

e7fa15bcf73f3805.png

上方是 Cloud Run 修訂版本 (即已部署的 Cloud Run 服務) 記錄檔清單。您會看見數個運作時間檢查的要求,都會傳送到已設定的 /healthy 端點。

搜尋警告

請提供不是 I-1、I-2 和 I-3 的產品 ID,以模擬對商品目錄服務提出的幾項無效要求。例如:不正確的要求:

https://&lt;SERVICE_URL&gt;/inventory/I-999

現在,當查詢中提供的產品 ID 錯誤時,我們將搜尋 API 產生的所有警告。

在查詢方塊中,插入下列查詢參數:

resource.type=&quot;cloud_run_revision&quot;

textPayload =~「收到不正確產品 ID 的商品目錄要求」

如下所示:

b3ee512a0c9c5c7b.png

按一下「執行查詢」。這裡會顯示所有收到及有這個問題的要求。

5fdbd7c23bf4694f.png

記錄指標

讓我們建立自訂記錄指標來追蹤這些錯誤。我們想瞭解是否有大量來電因產品 ID 錯誤而發生大量來電。

如要將上述指令轉換為錯誤指標,請按一下記錄檔探索工具中顯示的「建立指標」按鈕。

fa9a5e04922aa412.png

畫面上就會顯示建立指標定義的表單。前往計數器指標,然後輸入指標名稱 (inventory_lookup_errors) 和說明 (如下所示),然後按一下「建立指標」

70b5719b472d4d02.png

這樣就會建立計數器指標,並顯示訊息,如下所示:

ab9058028185e4d5.png

前往主選單的「記錄」→「記錄指標」,您應該會看到我們在使用者定義指標清單中定義的自訂指標,如下所示:

7d186e90559cf8e1.png

這個項目的結尾會顯示三個垂直圓點,按一下這些圓點,查看可針對這個自訂指標執行的作業。該清單應該會與下方顯示的清單類似。按一下「在 Metrics Explorer 中查看」選項。

7586f0789a0bdb41.png

這應該會導向我們在上一節說明的 Metrics Explorer,但現已預先填入。

7ee7403d0639ce25.png

按一下 [Save Chart] (儲存圖表)。針對 [Save Chart] (儲存圖表) 選項使用下列值:

9009da45f76eb4c5.png

這個步驟會隨即建立新的資訊主頁,方便您查看廣告空間搜尋錯誤,並在資訊主頁清單中找到。

201ed66957cb64f9.png

太好了!現在,您已經從記錄檔建立自訂指標,並轉換為自訂資訊主頁中的圖表。以便我們追蹤使用錯誤產品 ID 的來電次數。

8. 快訊政策

在本節中,我們會使用您建立的自訂指標,並監控其資料達到特定門檻 (例如錯誤數量超過特定門檻時,我們就會發出快訊)。也就是說,我們要設定快訊政策。

建立快訊政策

現在我們前往廣告空間搜尋資訊主頁。這樣就會看到我們建立的圖表,指出廣告空間查詢錯誤,如下所示:

3591a1dd91a8b9fd.png

即可顯示目前的指標資料。讓我們先按照下列方式編輯指標 (按一下「編輯」按鈕):

5e76fc20d8387984.png

畫面上就會顯示指標詳細資料。我們要將圖表從顯示錯誤率轉換為總和 (也就是錯誤數)。變更欄位顯示如下:

65ccd1eaca607831.png

點選右上角的「套用」,返回「指標」畫面,但這次我們可以看到校正週期內的錯誤總數與錯誤率。

我們即將制定快訊政策,並在錯誤數量超過門檻時通知我們。按一下圖表右上角的 3 點圖示,然後在選項清單中 (如上所示),按一下「轉換為快訊圖表」

cc9eec48b9bfbc92.png

您應該會看到如下所示的畫面:

6202ad1e88679a78.png

點選「下一步」就會顯示可設定的門檻值。這裡的樣本門檻為 5,但您可以視需要選擇。

734f809cc802ab78.png

點選「下一步」,開啟通知表單

f2d84fb85c2520cb.png

我們選擇了「通知管道」做為我們稍早建立的電子郵件管道。您可以填寫其他詳細資料,例如「說明文件」(系統會在系統繪製的「快訊」部分提供)。點選「下一步」查看摘要並完成程序。

c670b29da70c4655.png

您建立快訊政策後,該政策會顯示在快訊政策清單中,如下所示。如要查看快訊政策清單,請依序前往「監控」→「快訊」。掃描頁面中的「政策」部分,即可查看目前已設定的政策清單。

154da627959c54f3.png

太好了!現在,您已完成自訂快訊政策,如果查詢 Inventory API 的錯誤率增加時,就會通知您。

9. Service Monitoring (選用)

本節將根據網站可靠性工程 (SRE) 原則,為 Google 服務設定服務水準指標 (SLI/SLO)。您會注意到,Cloud Monitoring 會自動探索您在 Cloud Run 中部署的服務,讓您可以更輕鬆地使用。此外,這項服務還能自動計算可用性、延遲時間等金鑰 SLI,並計算錯誤預算。

讓我們開始為 API 服務設定延遲時間服務等級目標。

設定庫存服務的延遲時間服務等級目標

在 Cloud 控制台的主選單中,依序點選「Monitoring」→「Service」(服務)。畫面上隨即會顯示為 Service Monitoring 設定的服務清單。

目前我們沒有設定 SLI/SLO 監控的服務,因此清單空白。按一下頂端的「定義服務」連結,先定義 / 識別服務。

42d14515a481213.png

系統會自動探索適合使用 SLO 監控功能的服務。您能夠探索 Cloud Run 服務,因此部署至 Cloud Run 的 Inventory API 服務會顯示在清單中。

522aaba719f85c54.png

畫面中顯示的顯示名稱可能有所不同,實際名稱取決於您在 Cloud Run 部署服務時選擇的名稱。按一下「提交」按鈕。系統隨即顯示以下畫面:

eca08010ab6858a9.png

您可以按一下「建立服務等級目標」。現在您可以從系統自動計算的 SLI 中進行選取。

556e49b10d22e5ac.png

我們選擇延遲時間 SLI 做為起點。按一下「繼續」。接著您會看到一個畫面,顯示這項服務的目前效能以及一般延遲情況。

a9cc6f6778c13b52.png

我們對門檻設定一個值,例如 300 毫秒,也就是我們想達到的目標。您可以視需要選擇其他值,但請注意,該值會影響您據此定義的錯誤預算。點選「繼續」

我們現在設定服務等級目標 (目標和評估期間),如下所示:

e1fc336d4191c08e.png

也就是說,我們將「評估」回溯期選取為「滾動」類型視窗,且評估期間為 7 天。同樣地,我們針對指定目標選擇了 90% 的目標。我們會嘗試說明,傳送至 API 服務的要求中,有 90% 應在 300 毫秒內完成,而且評估時間應為 7 天。

按一下「繼續」。系統會隨即顯示摘要畫面,您可以點選「更新服務等級目標」按鈕加以確認。

f2540173d9f4a4b7.png

這可以儲存您的服務等級目標定義,並自動為您計算錯誤預算。

76393df0e189104.png

試試以下語音指令:

  1. 透過多次呼叫執行 API,並查看服務效能以及其對剩餘錯誤預算的影響。
  2. 修改原始碼,在某些呼叫中隨機導入一些額外的延遲時間 (睡眠)。這會增加一些呼叫的延遲時間,對錯誤預算造成負面影響。

10. 恭喜

恭喜!您已成功將範例應用程式部署至 Google Cloud,並學會使用 Google Cloud 作業套件監控應用程式的健康狀態!

涵蓋內容

  • 將服務部署至 Google Cloud Run。
  • 設定 Google Cloud Run 服務的資訊主頁。
  • 運作時間檢查
  • 據此設定自訂記錄檔指標和資訊主頁/圖表。
  • 探索 Metrics Explorer 及設定資訊主頁/圖表。
  • 設定快訊政策。
  • 為 Google Cloud 中的 Service Monitoring 設定 SLI/SLO。

注意:如果您使用自己的帳戶和 Google Cloud 專案執行程式碼研究室,分配的資源可能會繼續產生帳單費用。完成後,請刪除專案和資源。

後續步驟

查看這項 Cloud Skills Boost 任務,進一步瞭解 Google Cloud 作業套件。

其他資訊