GSP091

總覽
記錄指標是以記錄項目為基礎的 Cloud Monitoring 指標。您可利用這些指標辨別趨勢、從記錄中擷取數值。如果建立事件指標,出現特定記錄項目時,還能收到警告。在 Cloud Monitoring 中,您可以使用系統和使用者定義的記錄指標,建立圖表和警告政策。
記錄指標介面分為兩個指標類型窗格:系統定義的指標和使用者定義的指標。
系統定義的記錄指標由 Cloud Logging 提供給所有 Google Cloud 專案使用,計算依據是 Logging 擷取的記錄。如有特定記錄明確排除在擷取範圍外,該記錄就不會包含在這些指標中。
使用者定義的記錄指標由您建立,用於追蹤 Google Cloud 專案中的事件。舉例來說,您可以透過建立記錄指標,計算與指定篩選條件相符的記錄項目數量。
按照指標建立警告,即可依據記錄指標建立警告政策。
課程內容
本實驗室的內容包括:
- 建立以記錄為基礎的警告。
- 建立記錄指標。
- 建立以指標為基礎的警告。
- 測試警告。
設定和需求
瞭解以下事項後,再點選「Start Lab」按鈕
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
- 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。
如何開始研究室及登入 Google Cloud 控制台
-
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的臨時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
-
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示
。
-
系統顯示視窗時,請按照下列步驟操作:
- 繼續操作 Cloud Shell 視窗。
- 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID:。輸出內容中有一行文字,宣告本工作階段的 Project_ID:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
- (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
- 點按「授權」。
輸出內容:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南。
工作 1:部署 GKE 叢集
在這項工作中,您會部署 Google Kubernetes Engine (GKE) 叢集,用於後續的記錄指標工作。
- 在 Cloud Shell 設定這個實驗室環境的可用區:
gcloud config set compute/zone {{{ project_0.default_zone | "ZONE" }}}
系統提示您向 Cloud Shell 提供授權時,請點選「授權」。
- 設定這個實驗室環境的專案 ID:
export PROJECT_ID=$(gcloud info --format='value(config.project)')
- 部署標準 GKE 叢集:
gcloud container clusters create gmp-cluster --num-nodes=1 --zone {{{ project_0.default_zone | "ZONE" }}}
叢集部署完畢之後,輸出內容會顯示叢集 gmp-cluster 的資訊,指出「狀態:執行中」。
注意事項:叢集應該會在幾分鐘內部署完畢。您可以先完成工作 2,再回來利用下方功能檢查進度。
點選「Check my progress」,確認目標已達成。
部署 GKE 叢集
工作 2:建立以記錄為基礎的警告
每當記錄中出現特定訊息時,以記錄為基礎的警告就會通知您。請設定這類警告,VM 停止運作時,您就會收到通知。
-
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Logs Explorer,然後在搜尋結果中點選「Logs Explorer」。
-
如有需要,請透過滑桿啟用「顯示查詢」。
-
複製下列參數並貼到查詢視窗,開始建立以記錄為基礎的警告:
resource.type="gce_instance" protoPayload.methodName="v1.compute.instances.stop"
-
「結果」部分的頂端會顯示「動作」,請點選該選項下方的「建立記錄檔警告」。
-
新增下列參數和個別的值之後,點選「下一步」查看下一個部分:
- 「警告政策名稱」:stopped vm
- 「Choose logs to include in the alert」:這個部分會自動填入您先前輸入的查詢
- 「Set notification frequency and autoclose duration」:將「通知傳送間隔時間」設為
5 分鐘,並將「事件自動關閉期限」設為 1 小時
-
點選「下一步」。
-
在「Who should be notified」部分完成下列操作:
- 依序點選「通知管道」旁的下拉式選單箭頭和「Manage Notification Channels」,「通知管道」頁面就會在新分頁開啟。
- 向下捲動頁面,在「電子郵件」部分點選「新增」。
- 在「電子郵件地址」欄位輸入電子郵件地址,並提供顯示名稱。如要查看電子郵件,請輸入個人電子郵件地址,或是實驗室使用者名稱 ()。
- 點選「儲存」。
- 點選頂端的「X」來關閉「通知管道」頁面,返回原先的「Logs Explorer」分頁。
- 重新整理「通知管道」頁面,然後選取剛剛建立的管道。點按「確定」。
- 點選「儲存」。
點選「Check my progress」,確認目標已達成。
建立以記錄為基礎的警告
測試以記錄為基礎的警告
請停止 VM 並查看 Logging,確認警告是否已註冊,以便測試警告。
-
開啟第二個 Google Cloud 控制台瀏覽器分頁,依序點選「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」。
-
勾選「instance1」旁的方塊之後,點選頁面頂端的「停止」,接著在彈出式視窗再次點選「停止」。
請稍候片刻。執行個體停止之後,綠色勾號會變為灰色圓圈。
-
在控制台標題列的「搜尋」欄位輸入 Monitoring,然後在搜尋結果中選取「Monitoring (產品)」。
-
在左側窗格的「偵測」下方,點選「警告」。
您應該會看見警告已註冊。
-
點選「政策」下方的「See all policies」,即可看見您建立的警告 stopped vm。
工作 3:建立 Docker 存放區
在本節中,您將在 Artifact Registry 建立私人 Docker 存放區,然後在這個存放區新增映像檔,包含兩個步驟:使用存放區名稱標記映像檔,藉此指定目的地,再將映像檔推送至 Artifact Registry。
- 在 Cloud Shell 執行下列指令,在 區域建立新的 Docker 存放區 docker-repo,並將說明設為「Docker repository」。
gcloud artifacts repositories create docker-repo --repository-format=docker \
--location={{{project_0.default_region | Region}}} --description="Docker repository" \
--project={{{project_0.project_id| Project ID}}}
-
在控制台標題列的「搜尋」欄位輸入 Artifact Registry,然後在搜尋結果中點選「Artifact Registry」。
-
在「Artifact Registry」的「存放區」頁面,確認看得見存放區 docker-repo。
-
在 Cloud Shell,從 Storage bucket 載入預建映像檔:
wget https://storage.googleapis.com/spls/gsp1024/flask_telemetry.zip
unzip flask_telemetry.zip
docker load -i flask_telemetry.tar
- 執行下列指令,將映像檔標記為
flask-telemetry:v1:
docker tag gcr.io/ops-demo-330920/flask_telemetry:61a2a7aabc7077ef474eb24f4b69faeab47deed9 \
{{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
- 執行下列指令,將 Docker 映像檔推送至 Artifact Registry:
docker push {{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
點選「Check my progress」,確認目標已達成。
建立 Docker 存放區
工作 4:部署會產生指標的簡易應用程式
您可以透過記錄指標,定義指標來追蹤記錄中的錯誤。如有類似問題和狀況發生,就能在使用者發現前主動因應。
- 執行下列指令,檢查您在工作 1 部署的叢集是否已完整佈建:
gcloud container clusters list
注意:如果叢集狀態為「佈建中」,請稍候再重新執行上方的指令。重複這個步驟,直到狀態顯示為「執行中」,即可執行後續步驟。
- 驗證叢集:
gcloud container clusters get-credentials gmp-cluster
您應該會看到以下訊息:
Fetching cluster endpoint and auth data.
kubeconfig entry generated for gmp-cluster.
- 建立要使用的命名空間:
kubectl create ns gmp-test
- 取得會在
/metrics 端點產生指標的應用程式:
wget https://storage.googleapis.com/spls/gsp1024/gmp_prom_setup.zip
unzip gmp_prom_setup.zip
cd gmp_prom_setup
-
這個步驟會更新 flask_deployment.yaml,改用在先前步驟推送的映像檔名稱:
- 使用 nano 編輯器開啟
flask_deployment.yaml:
nano flask_deployment.yaml
- 將
<ARTIFACT REGISTRY IMAGE NAME> 改為下列內容:
{{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
- 依序按下 CTRL+X 鍵、Y 鍵和 Enter 鍵,儲存更新後的檔案並關閉 nano 編輯器。
-
執行下列指令,部署會在 /metrics 端點產生指標的簡易應用程式:
kubectl -n gmp-test apply -f flask_deployment.yaml
kubectl -n gmp-test apply -f flask_service.yaml
- 確認命名空間已準備就緒,可產生指標:
kubectl get services -n gmp-test
您應該會看到下列輸出內容:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello LoadBalancer 10.0.12.114 34.83.91.157 80:32058/TCP 71s
點選「Check my progress」,確認目標已達成。
部署可以產生指標的簡易應用程式
-
重複執行指令,直到「External-IP」部分填入位址。
-
使用以下指令,確認 Python Flask 應用程式正在提供指標:
curl $(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}')/metrics
您應該會看到下列輸出內容:
# HELP flask_exporter_info Multiprocess metric
# TYPE flask_exporter_info gauge
flask_exporter_info{version="0.18.5"} 1.0
工作 5:建立記錄指標
-
返回「Logs Explorer」頁面。
-
在「動作」下方,點選「建立指標」連結。
-
在「建立指標」頁面輸入下列資訊:
- 「指標類型」:保留預設設定「計數器」
- 「記錄指標名稱」:hello-app-error
- 「選取篩選條件」:使用下列資訊更新「建立篩選器」視窗的內容:
severity=ERROR
resource.labels.container_name="hello-app"
textPayload: "ERROR: 404 Error page not found"
- 點選「建立指標」。
點選「Check my progress」,確認目標已達成。
建立記錄指標
工作 6:建立以指標為基礎的警告
-
在「Logging」的左側選單,點選「設定」下方的「記錄指標」。
-
在使用者定義的指標找到「hello-app-error」,點選「更多動作」圖示
,然後選取「運用指標建立警告」。
-
在「選取指標」下方,指標參數會自動填入。
- 將「滾動週期」變更為「2 分鐘」。
- 接受其他預設設定。
- 點選「下一步」兩次。
-
使用您稍早在實驗室建立的管道來設定通知。
-
將警告政策命名為 log based metric alert
-
點選「建立政策」。
點選「Check my progress」,確認目標已達成。
建立以指標為基礎的警告
工作 7:產生一些錯誤
接下來要針對您建立的記錄指標,產生對應的錯誤,觸發以指標為基礎的警告。
- 在 Cloud Shell 執行下列指令,產生一些錯誤:
timeout 120 bash -c -- 'while true; do curl $(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}')/error; sleep $((RANDOM % 4)) ; done'
-
返回「Logs Explorer」頁面,找到左下方的「嚴重性」部分。
-
點選「錯誤」嚴重性。
搜尋 404 Error page not found 錯誤之後,展開其中一則 404 錯誤訊息,查看詳細資訊。
-
返回「Monitoring」頁面,並點選「警告」。
畫面上應該會顯示您建立的兩項政策。
-
在「警告政策」下方,點選「查看全部」。
「事件」部分應該會顯示這兩項警告。
-
點選任一事件即可查看詳細資料。
注意:記錄指標警告最終會自動關閉。如需更多時間調查,請重新執行程式碼來產生錯誤,並等待再次觸發警告。
點選「Check my progress」,確認目標已達成。
產生一些錯誤
恭喜!
在這個實驗室,您建立以記錄為基礎的警告、系統定義和使用者定義的記錄指標、以指標為基礎的警告,還產生一些錯誤來觸發警告。最後,您學會如何查看警告的事件和詳細資料。
後續行動/瞭解詳情
- 閱讀這篇文章,瞭解如何管理警告政策。
- 閱讀這篇文章,進一步瞭解如何為記錄指標建立警告政策。
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2025 年 9 月 25 日
實驗室上次測試日期:2025 年 9 月 25 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。