Establecer una alerta de tiempo de funcionamiento

En este tutorial vamos a aprender a configurar una alerta de tiempo de funcionamiento para la aplicación Hello World de Python utilizando Google Stackdriver. Las alertas de tiempo de funcionamiento permiten recibir notificaciones cuando la aplicación no esté atendiendo el tráfico. Este tutorial muestra cómo configurar una alerta de este tipo para la aplicación Hello World en el entorno flexible de App Engine. También puedes configurar alertas de funcionamiento para aplicaciones desplegadas en Google Compute Engine o Google Kubernetes Engine.

Objetivos

  • Desplegar una aplicación básica de Hello World.
  • Crear una comprobación de disponibilidad del servicio que supervise que la aplicación devuelva una respuesta HTTP 200.
  • Crear una política de alertas que le envíe un correo electrónico cuando falle la comprobación de disponibilidad del servicio.
  • Volver a desplegar la aplicación para que devuelva una respuesta 404 y active la alerta para que recibas un correo electrónico.

Costes

Este tutorial usa componentes facturables de Cloud Platform, entre los que se incluyen los siguientes:

  • Google App Engine
  • Google Stackdriver Monitoring

Stackdriver Monitoring se ofrece actualmente a los usuarios beta de forma gratuita.

Si quieres generar una estimación de costes en función del uso previsto, usa la calculadora de precios. Los nuevos usuarios de Cloud Platform pueden optar a una prueba gratuita.

Antes de empezar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

Clonar la aplicación de muestra

La aplicación 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. Accede al directorio de muestra:

    cd getting-started-python/1-hello-world
    

Como la aplicación simplemente devuelve "Hello World", no se requiere configuración y puedes desplegarla de inmediato.

gcloud app deploy

Ahora deberías poder ver el mensaje de Hello World:

https://[YOUR-PROJECT-ID].appspot.com

Crear una comprobación de disponibilidad del servicio

Una vez desplegada la aplicación, puedes usar Google Stackdriver Monitoring para crear una comprobación de disponibilidad del servicio que hará ping continuamente a tu aplicación y se asegurará de que está respondiendo correctamente. Para utilizar Stackdriver, tu proyecto debe estar en una cuenta de dicho servicio.

Para utilizar Stackdriver, tu proyecto debe estar en una cuenta de dicho servicio:

  1. En la consola de Google Cloud Platform, selecciona Stackdriver > Monitoring:

    Acceder a Stackdriver Monitoring

    Como tu proyecto no está en una cuenta de Stackdriver, verás el siguiente mensaje:

    No tienes una cuenta de Stackdriver

  2. Haz clic en Crear una cuenta nueva de Stackdriver y, a continuación, en Continuar. Verás la siguiente página:

    Crear una cuenta de Stackdriver

  3. Una vez que se muestre el nombre de tu proyecto, haz clic en Crear cuenta.

  4. En la página "Añadir proyectos de Google Cloud Platform para supervisarlos", haz clic en Continuar.

  5. En la página "Supervisar cuentas de AWS", haz clic en Listo para continuar.

  6. En unos segundos, verás el siguiente mensaje:

    Recopilación inicial finalizada

    Haz clic en Iniciar supervisión.

  7. En la página "Obtener informes por correo electrónico", haz clic en Sin informes y, después, en Continuar.

  8. Después, verás el panel de tu cuenta de Stackdriver. Cierra el banner "Bienvenido a Stackdriver" si no lo necesitas.

Ahora deberías ver la consola de Stackdriver y deberías poder crear una comprobación de disponibilidad del servicio. En Alertas, haz clic en Comprobación de disponibilidad del servicio y, a continuación, en Crear una comprobación.

  1. Puede aparecer una ventana para crear automáticamente una comprobación de disponibilidad del servicio. Para configurarla manualmente, haz clic en No, gracias.
  2. Pon un nombre a la comprobación, como "Primera comprobación".
  3. Como el despliegue se realizó en App Engine, cambia Tipo de recurso a App Engine en lugar de URL, que se usaría para dirigir una URL personalizada en una instancia de Compute Engine.
  4. Deja Ruta en blanco. De esta manera, se establece como predeterminada la página de índice principal.
  5. Define Frecuencia de comprobación en 1 minuto para que la demostración de la alerta funcione más rápido.

Crear una política de alertas

Después de crear la comprobación, se te pedirá automáticamente que crees una política de alertas asociada. Las políticas de alertas permiten gestionar la forma en que Stackdriver te informa sobre cualquier incidente, como una comprobación de disponibilidad del servicio fallida.

  1. Haz clic en Crear una política de alertas. Pon a la política un nombre como "Política de comprobación de disponibilidad del servicio de Hello World".

  2. Si has seguido las indicaciones, en el apartado Condiciones de la alerta deberían aparecer los datos de la comprobación de disponibilidad del servicio. De lo contrario, haz clic en Añadir otra condición > Comprobación de disponibilidad del servicio y vuelve a crearla.

  3. Si quieres recibir un correo electrónico para esta política de alertas, en Notificaciones, mantén el método Correo electrónico y haz clic en Añadir notificación para introducir tu dirección de correo electrónico.

  4. Haz clic en Guardar para guardar esta política.

Simular una interrupción

Una vez creada la comprobación, es posible simular una interrupción cambiando la aplicación para que responda con un error HTTP 404 Not Found en lugar de la respuesta 200 OK. Al observar la función de vista en nuestra aplicación Hello World, actualmente solo se devuelve un mensaje de "Hola, mundo" y el código de estado de la respuesta se establece en 200 OK.

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)

Para que devuelva un código de error HTTP 404, puedes cambiar la línea de retorno para añadir un valor 404 a la segunda parte del valor devuelto.

return 'Hello World', 404

Despliega la nueva aplicación rota intencionalmente:

gcloud app deploy

En el plazo de media hora verás un correo electrónico que indica que tu comprobación de disponibilidad del servicio está fallando.

Limpieza

Si deseas evitar que los recursos utilizados en este tutorial se carguen en tu cuenta de Google Cloud Platform, sigue estas instrucciones:

La forma más fácil de eliminar la facturación es eliminar el proyecto que has creado para el tutorial.

Para eliminar el proyecto, sigue las instrucciones que figuran a continuación:

  1. En la GCP Console, dirígete a la página Proyectos.

    Ir a la página Proyectos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar.
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...