GSP1025

概览
在自行部署的数据收集模式中,您仍然可以像往常一样管理 Prometheus 安装。与原生 Prometheus 相比,唯一的差别在于,您运行的是 Managed Service for Prometheus 提供的可直接替换使用的二进制程序,而不是原生 Prometheus 的二进制程序。
在本实验中,您将探索如何在自行部署的数据收集模式中使用 Managed Service for Prometheus。您也可以选择使用托管式数据收集。
目标
在本实验中,您将学习如何完成以下操作:
- 部署 Managed Service for Prometheus
- 创建自行管理的数据收集,用于抓取指标
- 使用 Grafana 查询 Prometheus 指标数据
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
- “打开 Google Cloud 控制台”按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。
-
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}}
您也可以在“实验详细信息”窗格中找到“用户名”。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}}
您也可以在“实验详细信息”窗格中找到“密码”。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。
注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
-
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于这是临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。
激活 Cloud Shell
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
-
点击 Google Cloud 控制台顶部的激活 Cloud Shell
。
-
在弹出的窗口中执行以下操作:
- 继续完成 Cloud Shell 信息窗口中的设置。
- 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。
如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 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"}}}
注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南。
任务 1. 部署 GKE 集群
- 部署一个基础的 GKE 集群,用于准备本实验环境:
gcloud container clusters create gmp-cluster --num-nodes=3 --zone={{{project_0.default_zone | ZONE}}}
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone | ZONE}}}
2. 创建命名空间 gmp-test:
kubectl create ns gmp-test
任务 2. 部署应用
此示例应用会在其 metrics 端口暴露 Prometheus 指标。该应用使用三个副本。
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/example-app.yaml
任务 3. 部署 Prometheus
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/prometheus.yaml
kubectl -n gmp-test get pod
部署成功后,您将看到类似如下的输出:等待所有 Pod 的状态变为“Running”(运行中)。
NAME READY STATUS RESTARTS AGE
prom-example-84c6f547f5-fglbr 1/1 Running 0 5m
prom-example-84c6f547f5-jnjp4 1/1 Running 0 5m
prom-example-84c6f547f5-sqdww 1/1 Running 0 5m
prometheus-test-0 2/2 Running 1 3m
任务 4. Prometheus 指标
运行以下命令,验证您是否可以通过 Prometheus metrics API 查看指标。
- 设置环境变量:
export PROJECT_ID=$(gcloud config get-value project)
- 使用以下 curl 命令:
curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/frontend.yaml |
sed "s/\$PROJECT_ID/$PROJECT_ID/" | kubectl apply -n gmp-test -f -
- 转发端口以查看 Prometheus 指标界面:
kubectl -n gmp-test port-forward svc/frontend 9090
- 在 Cloud Shell 编辑器中,点击“网页预览”图标,将端口切换为 9090,然后查看指标。
检查 Prometheus 是否已部署
检查指标是否出现
任务 5. 部署 Grafana
注意:请打开一个新的 Cloud Shell 标签页 (+) 运行以下命令。
- 克隆 kube-prometheus 代码库:
git clone https://github.com/prometheus-operator/kube-prometheus.git
- 将目录切换到 kube-prometheus:
cd kube-prometheus
- 运行以下命令,部署一个临时的 Grafana Deployment:
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.4.3-gke.0/examples/grafana.yaml
- 转发端口以查看 Grafana 界面:
kubectl -n gmp-test port-forward svc/grafana 3001:3000
- 在 Cloud Shell 编辑器中,点击“网页预览”图标,将端口切换为 3001,然后查看 Grafana 仪表板。
任务 6. Grafana
-
使用用户名 admin 和密码 admin 登录 Grafana。
-
当系统提示您设置新密码时,点击跳过。
任务 7. 配置数据源
要使用 Prometheus 前端界面作为身份验证代理,在 Grafana 中查询 Managed Service for Prometheus,您必须向 Grafana 添加一个新的数据源。如需为托管式服务添加数据源,请执行以下操作:
-
访问您部署的 Grafana。例如,您可以在浏览器中输入网址 http://localhost:3000,进入 Grafana 欢迎页面。
-
在 Grafana 主菜单中选择配置,然后选择数据源。

- 选择添加数据源,然后选择 Prometheus 作为时序数据库。

-
在 HTTP 窗格的网址字段中,输入 Managed Service for Prometheus 前端服务网址。如果您已将 Prometheus 界面配置为在端口 9090 上运行,则此字段的服务网址为 http://frontend.gmp-test.svc:9090。
-
在 HTTP 方法字段中选择 GET。

- 点击保存并测试,确认出现“数据源正常运行”的提示消息。

任务 8. Grafana 图表
您现在可以使用新数据源创建 Grafana 仪表板。您还可以将现有仪表板重定向到新数据源。下方屏幕截图中的 Grafana 图表展示了 up 指标。

检查指标是否出现
恭喜
您已经学习了如何部署 Managed Service for Prometheus、创建自行管理的数据采集以抓取指标,并使用 Grafana 查询 Prometheus 指标数据。
后续步骤/了解详情
如需进一步了解选择托管式数据收集或自行部署的数据收集时需要考虑的因素,请参阅使用 Managed Service for Prometheus 进行数据收集文档。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 4 月 18 日
上次测试实验的时间:2023 年 10 月 17 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。