本教程介绍如何使用 Cloud Monitoring为在 App Engine 柔性环境中运行的 Python Hello World 应用设置正常运行时间提醒。 正常运行时间提醒可让您在应用不提供流量时接收通知。您还可以为在 Compute Engine 或 Google Kubernetes Engine (GKE) 上运行的应用设置 正常运行时间提醒。
目标
- 运行基本的 Hello World 应用。
- 创建一个监视应用是否返回 HTTP '200' 状态码的正常运行时间检查。
- 创建一个在正常运行时间检查失败时向您发送电子邮件的提醒。
- 重新启动该应用以触发提醒。
费用
Monitoring 目前免费提供给 Beta 版用户。
准备工作
- 登录您的 Google Cloud 账号。如果您是新手 Google Cloud, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
克隆示例应用
示例应用可在 GitHub 上的 GoogleCloudPlatform/getting-started-python 下找到。
克隆代码库。
git clone https://github.com/GoogleCloudPlatform/getting-started-python.git转到示例目录。
cd getting-started-python/gce由于应用仅返回“Hello World!”,因此您无需配置即可立即运行应用。
gcloud app deploy要查看返回的消息,请在浏览器中输入以下网址:
https://PROJECT_ID.REGION_ID.r.appspot.com替换以下内容:
PROJECT_ID:您的 Google Cloud 项目 ID。REGION_ID:App Engine 分配给您的应用的代码
创建正常运行时间检查
部署应用后,您可以使用 Monitoring 创建一个正常运行时间检查。该检查会持续对已部署的应用进行 ping 操作,以确保其返回正常响应。
-
在 Google Cloud 控制台中,前往
拨测 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控 的结果。
- 点击创建拨测 。
检查标题(例如
Check Hello World),然后点击下一步 。在目标部分中,您可以指定要监控的正常运行时间检查:
- 由于您已部署到 App Engine,因此请将资源类型更改为 App Engine,而不是网址。(网址用于在 Compute Engine 实例上生成自定义网址。)
- 选择要通过正常运行时间检查监控的服务。
- 将路径留空,以默认为主索引页面。
- 将检查频率保留为默认值 1 分钟。
- 点击下一步。
保留响应验证字段的默认值,然后点击下一步。
在提醒和通知部分,您可以指定在发生提醒时要如何接收通知:
- 确保切换开关的标签为已启用提醒 (Alerting is enabled)。
- 保留名称和时长字段的默认值。
要向提醒政策添加通知渠道,请在通知渠道文本框中点击菜单。选择要添加的渠道,然后点击确定。系统会针对每种渠道类型按字母顺序排列通知。
要向复选框列表添加条目,请点击管理通知渠道,然后按照说明操作。返回此对话框后,点击刷新 refresh。
点击创建。创建操作成功后,会显示检查和提醒已创建消息,然后显示正常运行时间检查信息中心页面。
正常运行时间检查信息中心内会列出新的正常运行时间检查。点击检查名称可打开该正常运行时间检查的详细信息视图。此视图会显示多个图表,显示正常运行时间百分比和配置信息,并列出已配置的提醒政策。如需查看某个政策,请点击其名称。
您还可以从提醒页面查看提醒政策。在提醒页面中,政策窗格会列出一部分政策。如需查看所有政策的列表,请点击查看所有政策。
模拟中断
现在您已创建一个正常运行时间检查,您可以通过更改应用以响应 HTTP 404 Sorry, we can't find that page 错误(而不是 HTTP 200 OK 响应)来模拟中断。
以下代码显示了 Hello World 应用仅返回“Hello World!”消息的位置,并且响应的状态码默认为
200 OK。要在 Hello World 应用中查看此代码,请使用查看功能。要使 Hello World 应用返回 HTTP
404错误代码,请在返回值的第二部分添加404值以更改返回行。return 'Hello World', 404
部署故意损坏后的新应用。
gcloud app deploy
在半小时内,您会收到一封电子邮件,指出您的正常运行时间检查失败。
清除数据
为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
要删除项目,请执行以下操作:
- 在 Google Cloud 控制台中,前往 管理资源 页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击 关闭以删除项目。