Configura una alerta de tiempo de actividad

En este instructivo, se muestra cómo configurar una alerta de tiempo de actividad para la app de Hello World de Python que se ejecuta en el entorno flexible de App Engine mediante Cloud Monitoring. Las alertas de tiempo de actividad te permiten saber cuándo tu app no está entregando tráfico. También puedes configurar alertas de tiempo de actividad para apps que se ejecuten en Compute Engine o Google Kubernetes Engine (GKE).

Objetivos

  • Ejecuta una app de Hello World básica.
  • Crea una verificación de tiempo de actividad que supervise si la aplicación muestra un código de estado HTTP “200”.
  • Crea una alerta que te envíe un mensaje de correo electrónico cuando falle la verificación de tiempo de actividad.
  • Reinicia la app para activar la alerta.

Costos

Monitoring está disponible para los usuarios de la versión beta sin cargo.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

Clona la app de muestra

La app de muestra está disponible en GitHub en GoogleCloudPlatform/getting-started-python.

  1. Clona el repositorio.

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. Ve al directorio de muestra.

    cd getting-started-python/gce
    
  3. Debido a que la app solo muestra “Hello World!”, no requiere configuración y puedes ejecutarla de inmediato.

    gcloud app deploy
    
  4. Para ver el mensaje devuelto, ingresa la siguiente URL en el navegador:

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

    Reemplaza lo siguiente:

Configura Cloud Monitoring en tu proyecto

Después de configurar Monitoring e implementar tu app, puedes usar Monitoring para crear una verificación de tiempo de actividad. La verificación hace ping continuo a tu app implementada para garantizar que muestre una respuesta de buen estado.

Para acceder a Cloud Monitoring, sigue estos pasos:
  1. En Cloud Console, selecciona tu proyecto de Google Cloud.
    Ir a Cloud Console
  2. En el panel de navegación, selecciona Monitoring.

Crea una verificación de tiempo de actividad

  1. En Cloud Console, ve a Monitoring.

    Ir a Monitoring

  2. En el panel de navegación, haz clic en Verificaciones de tiempo de actividad y, luego, en Crear una verificación de tiempo de actividad.

  3. Asigna un título, como Check Hello World, a la verificación y, luego, haz clic en Siguiente.

  4. En la sección Destino, debe especificar la verificación de tiempo de actividad que se debe supervisar:

    1. Debido a que implementaste en App Engine, cambia el Tipo de recurso a App Engine en lugar de URL. (URL es para generar una URL personalizada en una instancia de Compute Engine).
    2. Selecciona el servicio que quieres supervisar la verificación de tiempo de actividad.
    3. Deja en blanco el campo predeterminado Ruta de acceso para ir a la página de índice principal.
    4. Deje la opción Checkfrecuencia con la configuración predeterminada de 1 minuto.
    5. Haga clic en Next.
  5. Deja los campos de Validación de respuesta en sus valores predeterminados y haz clic en Siguiente.

  6. En la sección Alerta, debes especificar cómo se te notifica si ocurre una alerta:

    • Asegúrate de que la etiqueta para activar o desactivar esté como Alertas habilitadas.
    • Deja los campos de nombre y duración en sus valores predeterminados.
    • Para agregar un canal de notificación a la política de alertas, en el cuadro de texto etiquetado Canales de notificaciones, haz clic en Menú. Selecciona los canales que quieres agregar y haz clic en Aceptar. Los canales de notificaciones se agrupan alfabéticamente por cada tipo de canal.

      Para agregar una entrada a la lista de casillas de verificación, haz clic en Administrar canales de notificaciones y sigue las instrucciones. Cuando regreses a este cuadro de diálogo, haz clic en Actualizar .

  7. Haga clic en Crear. Cuando la acción de creación se realiza correctamente, se muestra el mensaje Verificar y alerta creada y, luego, se muestra la página del panel Verificaciones de tiempo de actividad.

    En el panel de verificaciones de tiempo de actividad, aparece la nueva verificación de tiempo de actividad. Si haces clic en el nombre de la verificación, abre la vista detallada para esa verificación. En esta vista, se muestran varios gráficos, el porcentaje de tiempo de actividad y la información de configuración, y se enumeran las políticas de alertas configuradas. Para ver una política en particular, haz clic en su nombre.

    También puedes ver la política de alertas desde la página Alertas. En la página de alertas, en el panel Políticas, se muestra un subconjunto de políticas. Para ver una lista de todas las políticas, haz clic en Ver todas las políticas.

Simular una interrupción

Ahora que se creó la verificación de tiempo de actividad, puedes simular una interrupción. Para ello, cambia la app para que responda con un error HTTP 404 Sorry, we can't find that page en lugar de una respuesta HTTP 200 OK.

  1. El siguiente código muestra dónde la app de Hello World muestra solo un mensaje de Hello World" y que el código de estado de la respuesta sea 200 OK de forma predeterminada. Para ver este código en la app de Hello World, usa la función de vista.

    # 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. Para hacer que la app de Hello World muestre un código de error HTTP 404, cambia la línea que se muestra; para ello, agrega un valor 404 a la segunda parte del valor de muestra.

    return 'Hello World', 404
  3. Implementa la app nueva que tiene un error intencional:

    gcloud app deploy

    En un plazo de media hora, recibirás un mensaje de correo electrónico que indica que tu verificación de tiempo de actividad falla.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haz lo siguiente:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.