设置正常运行时间提醒

本教程介绍如何使用 Cloud Monitoring 为在 App Engine 柔性环境中运行的 Python Hello World 应用设置正常运行时间提醒。正常运行时间提醒可让您在应用不提供流量时接收通知。您还可以为在 Compute EngineGoogle Kubernetes Engine (GKE) 上运行的应用设置正常运行时间提醒。

目标

  • 运行基本的 Hello World 应用。
  • 创建一个监视应用是否返回 HTTP '200' 状态码的正常运行时间检查。
  • 创建一个在正常运行时间检查失败时向您发送电子邮件的提醒。
  • 重新启动该应用以触发提醒。

费用

Monitoring 目前免费提供给 Beta 版用户。

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册新帐号

  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到项目选择器页面

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

克隆示例应用

示例应用可在 GitHub 上的 GoogleCloudPlatform/getting-started-python 下找到。

  1. 克隆代码库。

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. 转到示例目录。

    cd getting-started-python/1-hello-world
    
  3. 由于应用仅返回“Hello World!”,因此您无需配置即可立即运行应用。

    gcloud app deploy
    
  4. 要查看返回的消息,请在浏览器中输入以下网址:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    替换以下内容:

为您的项目配置 Cloud Monitoring

配置 Monitoring 并部署应用后,您可以使用 Monitoring 创建正常运行时间检查。该检查会持续对已部署的应用进行 ping 操作,以确保其返回正常响应。

如需为您的项目配置 Cloud Monitoring 工作区,请执行以下操作:
  1. 在 Cloud Console 中,选择您的 Google Cloud 项目。
    转到 Cloud Console
  2. 在导航窗格中,选择 Monitoring

    如果您从未使用过 Cloud Monitoring,那么您在 Google Cloud Console 中首次访问 Monitoring 时,系统会自动创建一个工作区,并将您的项目与该工作区相关联。否则,如果您的项目未与工作区关联,则系统会显示一个对话框,您可以创建一个工作区,也可以将您的项目添加到现有工作区。我们建议您创建一个工作区。完成选择后,请点击添加

创建正常运行时间检查

  1. 在 Cloud Console 中,转到 Monitoring

    转到“监控”

  2. 在导航窗格中,点击正常运行时间检查,然后点击创建正常运行时间检查

  3. 检查标题(例如 Check Hello World),然后点击下一步

  4. 目标部分中,您可以指定要监控的正常运行时间检查:

    1. 由于您已部署到 App Engine,因此请将资源类型更改为 App Engine,而不是网址。(网址用于在 Compute Engine 实例上生成自定义网址。)
    2. 选择要通过正常运行时间检查监控的服务
    3. 路径留空,以默认为主索引页面。
    4. 检查频率保留为默认值 1 分钟。
    5. 点击下一步
  5. 保留响应验证字段的默认值,然后点击下一步

  6. 提醒和通知部分,您可以指定在发生提醒时要如何接收通知:

    • 确保切换开关的标签为已启用提醒 (Alerting is enabled)。
    • 保留名称和时长字段的默认值。
    • 要向提醒政策添加通知渠道,请在通知渠道文本框中点击菜单。选择要添加的渠道,然后点击确定。系统会针对每种渠道类型按字母顺序排列通知。

      要向复选框列表添加条目,请点击管理通知渠道,然后按照说明操作。返回此对话框后,点击刷新

  7. 点击创建。创建操作成功后,会显示检查和提醒已创建消息,然后显示正常运行时间检查信息中心页面。

    正常运行时间检查信息中心内会列出新的正常运行时间检查。点击检查名称可打开该正常运行时间检查的详细信息视图。此视图会显示多个图表,显示正常运行时间百分比和配置信息,并列出已配置的提醒政策。如需查看某个政策,请点击其名称。

    您还可以从提醒页面查看提醒政策。在提醒页面中,政策窗格会列出一部分政策。如需查看所有政策的列表,请点击查看所有政策

模拟中断

现在您已创建一个正常运行时间检查,您可以通过更改应用以响应 HTTP 404 Sorry, we can't find that page 错误(而不是 HTTP 200 OK 响应)来模拟中断。

  1. 以下代码显示了 Hello World 应用仅返回“Hello World!”消息的位置,并且响应的状态码默认为 200 OK。要在 Hello World 应用中查看此代码,请使用查看功能。

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello():
        """Return a friendly HTTP greeting."""
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080)
  2. 要使 Hello World 应用返回 HTTP 404 错误代码,请在返回值的第二部分添加 404 值以更改返回行。

    return 'Hello World', 404
  3. 部署故意损坏后的新应用。

    gcloud app deploy

    在半小时内,您会收到一封电子邮件,指出您的正常运行时间检查失败。

清理

为避免因本教程中使用的资源导致您的 Google Cloud Platform 帐号产生费用,请执行以下操作:

为了避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  1. 在 Cloud Console 中,转到管理资源页面。

    转到“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。