GSP1026

總覽
在這個實驗室,您將使用 Managed Service for Prometheus,透過匯出工具從其他基礎架構來源收集指標。
目標
本實驗室的學習內容包括:
- 部署 GKE 執行個體
- 設定
PodMonitoring 自訂資源和 node-exporter 工具
- 在本機建構 GMP 二進位檔,並部署至 GKE 執行個體
- 套用 Prometheus 設定,開始收集指標
設定和需求
瞭解以下事項後,再點選「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 叢集
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone | Zone}}} --enable-managed-prometheus
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone | Zone}}}
工作 2:設定命名空間
- 建立
gmp-test Kubernetes 命名空間,用於存放您在範例應用程式中建立的資源:
kubectl create ns gmp-test
Check if prometheus has been deployed
工作 3:部署範例應用程式
代管服務提供範例應用程式的資訊清單,該應用程式會在指標通訊埠發布 Prometheus 指標。這個應用程式使用三個副本。
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/example-app.yaml
工作 4:設定 PodMonitoring 資源
為擷取範例應用程式發布的指標資料,您需要使用目標抓取功能。目標抓取和指標擷取作業需透過 Kubernetes 自訂資源設定,而 Prometheus 代管服務使用的是 PodMonitoring 自訂資源。
PodMonitoring 自訂資源只會抓取所部署命名空間內的目標。如要抓取多個命名空間內的目標,必須在每個命名空間部署相同的 PodMonitoring 自訂資源。您可以執行 kubectl get podmonitoring -A,確認 PodMonitoring 資源已安裝在目標命名空間。
如要查看所有 Managed Service for Prometheus 自訂資源的參考說明文件,請參閱 prometheus-engine/doc/api reference。
下列資訊清單可為 gmp-test 命名空間定義 PodMonitoring 資源 prom-example。這項資源會使用 Kubernetes 標籤選取器,找出命名空間中含有 app 標籤且值為 prom-example 的 Pod。系統每 30 秒會透過 /metrics HTTP 路徑的 metrics 通訊埠,抓取相符 Pod 的資料。
apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
name: prom-example
spec:
selector:
matchLabels:
app: prom-example
endpoints:
- port: metrics
interval: 30s
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/pod-monitoring.yaml
代管收集器已開始擷取相符 Pod 的資料。
如要設定會跨所有命名空間橫向收集 Pod 的作業,請使用 ClusterPodMonitoring 資源。ClusterPodMonitoring 資源提供的介面與 PodMonitoring 資源相同,但不會將抓取到的 Pod 限制在特定命名空間。
附註:額外的 targetLabels 欄位提供簡化版 Prometheus 重新標籤設定。您可以使用這項設定,將 Pod 標籤新增為擷取時間序列的標籤,但無法覆寫必要的目標標籤,如需這些標籤的清單,請參閱 prometheus_target 資源。
如果您在 GKE 執行上述作業,還能執行以下操作:
- 查詢範例應用程式擷取的指標,詳情請參閱「從 Prometheus 服務查詢資料」。
- 瞭解如何篩選匯出的指標,以及調整 prom-operator 資源,詳情請參閱「代管收集的其他主題」。
工作 5:下載 Prometheus 二進位檔
- 從下列 bucket 下載 prometheus 二進位檔:
git clone https://github.com/GoogleCloudPlatform/prometheus && cd prometheus
git checkout v2.28.1-gmp.4
wget https://storage.googleapis.com/kochasoft/gsp1026/prometheus
chmod a+x prometheus
工作 6:執行 Prometheus 二進位檔
- 將專案 ID 儲存至變數:
export PROJECT_ID=$(gcloud config get-value project)
- 將可用區儲存至變數。執行 Prometheus 二進位檔時,會使用這些值。
export ZONE={{{project_0.default_zone | Zone}}}
- 執行下列指令,在 Cloud Shell 啟動 Prometheus 二進位檔:
./prometheus \
--config.file=documentation/examples/prometheus.yml --export.label.project-id=$PROJECT_ID --export.label.location=$ZONE
Prometheus 二進位檔啟動後,您可以前往控制台使用者介面的代管 Prometheus 服務頁面,執行 PromQL 查詢「up」,以確認該 Prometheus 二進位檔已可用 (執行個體名稱會顯示為 localhost)。
工作 7:下載並執行節點匯出工具
-
在 Cloud Shell 開啟新分頁,執行 node_exporter 指令。
-
在 Cloud Shell 終端機下載並執行匯出工具:
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64
./node_exporter
附註:在接下來的幾個步驟中,您將使用 node_exporter 工具的執行通訊埠,修改 Prometheus 的設定。
您應該會看到類似下方的輸出內容,表示 Node Exporter 正在運行,並在 9100 連接埠匯出指標:
ts=2023-03-01T10:27:17.262Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100
ts=2023-03-01T10:27:17.263Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false
建立 config.yaml 檔案
- 停止在 Cloud Shell 第一個分頁中執行的 Prometheus 二進位檔,並建立新的設定檔,從節點匯出工具擷取指標:
vi config.yaml
- 使用下列規格來建立
config.yaml 檔案:
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
- 上傳您建立的
config.yaml 檔案進行驗證:
export PROJECT=$(gcloud config get-value project)
gsutil mb -p $PROJECT gs://$PROJECT
gsutil cp config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
檢查 config.yaml 是否已正確設定
- 執行下列指令,重新執行 Prometheus 並指向新的設定檔:
./prometheus --config.file=config.yaml --export.label.project-id=$PROJECT --export.label.location=$ZONE
使用匯出工具提供的以下統計指標,在 PromQL 查詢中查看計數值。
- 在 Cloud Shell 點按「網頁預覽」圖示。

- 選取「變更預覽通訊埠」,將通訊埠設為
9090,然後點按「變更並預覽」來預覽。
在 PromQL 查詢編輯器輸入任何以「node_」為開頭的查詢,系統就會顯示指標輸入清單供您選取,並透過圖表編輯器呈現指標圖表。
- 選取「node_cpu_seconds_total」即可查看圖表資料。

您可以嘗試選取其他指標,查看匯出的資料。
恭喜!
在這個實驗室,您順利部署 GKE 執行個體並設定了 node-exporter。接著,您設定 GMP 二進位檔,成功從 node-exporter 擷取並查看了指標。
後續步驟/瞭解詳情
進一步瞭解 Google Cloud Managed Service for Prometheus。
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 4 月 16 日
實驗室上次測試日期:2023 年 10 月 27 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。