arrow_back

创建基于日志的指标并设置提醒

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

创建基于日志的指标并设置提醒

实验 1 小时 30 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP091

Google Cloud 自定进度实验

概览

基于日志的指标指的是基于日志条目内容的 Cloud Monitoring 指标。这些指标有助于您识别趋势,从日志中提取数值。您还可以设置提醒,通过针对具体事件创建指标,在某个日志条目出现时收到通知。在 Cloud Monitoring 中创建图表和提醒政策时,既可以使用系统定义的基于日志的指标,也可以使用用户定义的基于日志的指标。

显示基于日志的指标的界面按指标类型分为两个窗格:系统指标和用户定义的指标。

系统定义的基于日志的指标由 Cloud Logging 提供,可供所有 Google Cloud 项目使用。这类指标仅根据 Logging 已注入的日志进行计算。如果某个日志已明确排除在注入范围之外,则这类指标中不会包括该日志中的数据。

用户定义的基于日志的指标由用户创建,旨在跟踪用户的 Google Cloud 项目中的特定内容。例如,您可以创建一个基于日志的指标来计算与给定过滤条件匹配的日志条目的数量。

如果选择根据指标创建提醒,您可以根据基于日志的指标创建提醒政策。

学习内容

在本实验中,您将学习如何完成以下操作:

  • 创建基于日志的提醒。
  • 创建基于日志的指标。
  • 创建基于指标的提醒。
  • 测试提醒。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google Cloud 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验详细信息面板中找到用户名

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验详细信息面板中找到密码

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

任务 1. 部署 GKE 集群

在此任务中,您将部署一个 Google Kubernetes Engine (GKE) 集群,以便在后续的任务中用于生成基于日志的指标。

  1. 在 Cloud Shell 中,为本实验环境设置可用区:
gcloud config set compute/zone {{{ project_0.default_zone | "ZONE" }}}

如果出现提示,点击授权,为 Cloud Shell 授权。

  1. 为本实验环境设置项目 ID:
export PROJECT_ID=$(gcloud info --format='value(config.project)')
  1. 部署一个标准 GKE 集群:
gcloud container clusters create gmp-cluster --num-nodes=1 --zone {{{ project_0.default_zone | "ZONE" }}}

集群部署完毕后,在输出结果中,这个名为 gmp-cluster 的集群的状态会显示为“正在运行”

注意:集群可能需要几分钟时间才能部署完毕。您可以继续完成任务 2,之后再回来使用以下检查选项来验证该任务的进度。

点击检查我的进度以验证是否完成了以下目标: 部署 GKE 集群

任务 2. 创建基于日志的提醒

基于日志的提醒可以在日志中出现特定消息时向您发送通知。您可以尝试设置一个基于日志的提醒,在虚拟机停止运行时发送通知。

  1. 在 Cloud 控制台的搜索栏中,输入 Logs explorer,然后点击结果中的 Logs Explorer

  2. 启用显示查询滑动条(如果尚未启用)。

  3. 复制以下参数并将其粘贴到查询窗口中,创建基于日志的提醒:

resource.type="gce_instance" protoPayload.methodName="v1.compute.instances.stop"
  1. 操作(位于“结果”部分顶部)下,点击创建日志提醒

  2. 添加以下参数;每添加一个值后,点击下一步即可进入下一部分:

  • 提醒政策名称:stopped vm
  • 选择要包含在提醒中的日志:此部分将自动填充您之前输入的查询
  • 设置通知频率和自动关闭时长:通知间隔时间设为 5 分钟突发事件自动关闭时长设为 1 小时
  1. 点击下一步

  2. Who should be notified(应通知的人员)部分,完成以下操作:

  • 点击通知渠道旁边的下拉箭头,然后点击管理通知渠道。系统将在新标签页中显示“通知渠道”页面。
  • 向下滚动页面,然后点击电子邮件部分的新增
  • 电子邮件地址字段中,输入电子邮件地址,然后输入显示名称。如果您想查看电子邮件,可以输入您的个人电子邮件地址;也可以提供实验用户名 (),但您将无法查看电子邮件。
  • 点击保存
  1. 点击通知渠道页面顶部的“X”图标关闭该页,您即会返回之前所在的“Logs Explorer”标签页。
  • 刷新通知渠道,然后选择您刚才创建的渠道。点击确定
  1. 点击保存

点击检查我的进度以验证是否完成了以下目标: 创建基于日志的提醒

如需测试此基于日志的提醒,请先关停虚拟机。

  1. 打开一个新的 Google Cloud 控制台浏览器标签页,前往导航菜单 > Compute Engine > 虚拟机实例

  2. 勾选 instance1 旁边的复选框,点击页面顶部的停止,然后在弹出式窗口中再次点击停止

    此过程可能需要一些时间。当实例停止运行后,绿色对勾标记将变成灰色圆圈。

  3. 在搜索栏中输入监控,然后选择监控(基础架构和应用质量检查)选项。

  4. 日志记录的左侧菜单中,点击检测下方的提醒

    您会发现您的提醒已经注册。

  5. 政策下,点击查看所有政策,您将看到之前创建的基于日志的提醒 stopped vm

任务 3. 部署可发出指标的简单应用

借助基于日志的指标,您可以定义一个指标来跟踪日志中的错误,以便在最终用户有所察觉之前主动应对类似的问题和症状。

  1. 运行以下命令,以检查您在任务 1 中部署的集群是否已完全预配完毕:
gcloud container clusters list 注意:如果您的集群状态显示为正在预配,请稍等片刻,然后再次运行上述命令。重复运行命令,直到集群状态显示为正在运行,此时您就可以继续执行后续步骤了。
  1. 对集群进行身份验证:
gcloud container clusters get-credentials gmp-cluster

您应该会看到以下消息:

Fetching cluster endpoint and auth data. kubeconfig entry generated for gmp-cluster.
  1. 创建一个命名空间以供使用:
kubectl create ns gmp-test
  1. 现在,运行以下命令,以部署一个可在 /metrics 端点发出指标的简单应用:
kubectl -n gmp-test apply -f https://storage.googleapis.com/spls/gsp091/gmp_flask_deployment.yaml kubectl -n gmp-test apply -f https://storage.googleapis.com/spls/gsp091/gmp_flask_service.yaml
  1. 验证命名空间是否准备就绪并发出指标:
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

点击检查我的进度以验证是否完成了以下目标: 部署可发出指标的简单应用

  1. 重新运行该命令,直到 External-IP 列中填充地址。

  2. 运行以下命令,检查 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

任务 4. 创建基于日志的指标

  1. 返回 Logs Explorer

  2. 操作下,点击创建指标链接。

  3. 在“创建指标”页面上,输入以下内容:

  • 指标类型:保留默认设置(计数器
  • 基于日志的指标名称:hello-app-error
  • 过滤器选择:构建过滤条件窗口中提供以下信息:
severity=ERROR resource.labels.container_name="hello-app" textPayload: "ERROR: 404 Error page not found"
  1. 点击创建指标

点击检查我的进度以验证是否完成了以下目标: 创建基于日志的指标

任务 5. 创建基于指标的提醒

  1. 日志记录的左侧菜单中,点击配置下方的基于日志的指标

  2. 在用户定义的指标中,点击 hello-app-error 指标旁的更多操作(3 个竖点),然后选择根据指标创建提醒

  3. 选择一个指标下,系统会自动填充指标参数。

  • 将“滚动窗口”更新为 2 分钟
  • 接受其他默认设置。
  • 点击两次下一步
  1. 使用您之前在实验中创建的渠道设置通知。

  2. 将提醒政策命名为:log based metric alert

  3. 点击创建政策

点击检查我的进度以验证是否完成了以下目标: 创建基于指标的提醒

任务 6. 生成一些错误

接下来,您需要生成一些错误,使其匹配您所创建的基于日志的指标,从而触发基于指标的提醒。

  1. 在 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'
  1. 返回 Logs Explorer 页面,查看左下方的“严重级别”部分。

  2. 点击错误严重级别。

    现在,您可以搜索 404 Error page not found 错误。展开其中一条 404 错误消息,查看更多信息。

  3. 返回监控页面,然后点击提醒

    您将看到您之前创建的 2 项政策。

  4. 提醒政策下,点击查看全部

    您应该会在“突发事件”部分看到两个提醒。

  5. 点击突发事件可查看详细信息。

注意:对于基于日志的指标所触发的提醒,相关问题最终将会自行解决。如果您需要更多时间来进行调查,可以再次运行代码来生成错误,然后等待该提醒再次被触发。

点击检查我的进度以验证是否完成了以下目标: 生成一些错误

恭喜!

在本实验中,您创建了一个基于日志的提醒、一个系统定义的基于日志的指标、一个用户定义的基于日志的指标和一个基于指标的提醒。此外,您还生成了一些错误来触发提醒。最后,您学习了如何查看与提醒相关的突发事件及详细信息。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2024 年 11 月 12 日

本实验的最后测试时间:2024 年 11 月 12 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您