设置正常运行时间提醒

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

目标

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

费用

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

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

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

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

    转到“项目选择器”

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

克隆示例应用

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

  1. 克隆代码库。

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

    cd getting-started-python/gce
    
  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

创建正常运行时间检查

  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 应用中查看此代码,请使用查看功能。

    # Copyright 2019 Google LLC All Rights Reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/', methods=['GET'])
    def say_hello():
        return "Hello, world!"
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080, debug=True)
    
  2. 要使 Hello World 应用返回 HTTP 404 错误代码,请在返回值的第二部分添加 404 值以更改返回行。

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

    gcloud app deploy

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

清除数据

为避免因本教程中使用的资源导致您的 Google Cloud 帐号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。

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

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

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

    转到“管理资源”

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