Como configurar um alerta de tempo de atividade

Neste tutorial, mostramos como configurar um alerta de tempo de atividade no aplicativo "Hello World" usando Python em execução no ambiente flexível do App Engine usando o Cloud Monitoring. Os alertas de tempo de atividade informam quando seu app não está enviando tráfego. Também é possível configurar alertas de tempo de atividade para apps em execução no Compute Engine ou no Google Kubernetes Engine (GKE).

Objetivos

  • Executar um app "Hello World" básico.
  • Criar uma verificação de tempo de atividade que monitore o retorno de um código de status HTTP 200 pelo app.
  • Criar um alerta que envie uma mensagem de e-mail quando a verificação de tempo de atividade falhar.
  • Reiniciar o app para acionar o alerta.

Custos

Atualmente, o Monitoring é oferecido gratuitamente aos usuários da versão Beta.

Antes de começar

  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.

Como clonar o app de amostra

O app de amostra está disponível no GitHub em GoogleCloudPlatform/getting-started-python.

  1. Clone o repositório.

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. Acesse o diretório da amostra.

    cd getting-started-python/gce
    
  3. Como o app mostra apenas a mensagem"Hello World!", ele não requer configuração, e você pode executá-lo imediatamente.

    gcloud app deploy
    
  4. Para ver a mensagem, digite o seguinte URL no seu navegador:

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

    Substitua:

Como configurar o Cloud Monitoring para seu projeto

Depois de configurar o Monitoring e implantar o aplicativo, use-o para criar uma verificação de tempo de atividade. A verificação faz ping continuamente no app implantado para garantir que ele esteja retornando uma resposta íntegra.

Para acessar o Cloud Monitoring, faça o seguinte:
  1. No Console do Cloud, selecione seu projeto do Google Cloud.
    Acessar o Console do Cloud
  2. No painel de navegação, selecione Monitoring.

Como criar uma verificação do tempo de atividade

  1. No Console do Cloud, acesse Monitoramento.

    Acessar Monitoring

  2. No painel de navegação, clique em Verificações de tempo de atividade e em Criar uma verificação de tempo de atividade.

  3. Dê um título à verificação, como Check Hello World, e clique em Avançar.

  4. Na seção Target, especifique a verificação de tempo de atividade a ser monitorada:

    1. Como você implantou no App Engine, altere o Tipo de recurso para App Engine no lugar de URL. (URL é usado para gerar um URL personalizado em uma instância do Compute Engine.)
    2. Selecione o Serviço que será monitorado pela verificação de tempo de atividade.
    3. Deixe Caminho em branco, o que definirá a página de índice principal como padrão.
    4. Deixe a opção Frequência de verificação com o padrão 1 minuto.
    5. Clique em Next.
  5. Deixe os campos Validação de resposta nos valores padrão e clique em Avançar.

  6. Na seção Alerta e notificação, especifique como você será notificado se um alerta ocorrer:

    • Verifique se o rótulo do seletor é O alerta está ativado.
    • Deixe os campos de nome e duração nos valores padrão.
    • Para adicionar um canal de notificação à política de alertas, na caixa de texto Canais de notificação, clique em Menu. Selecione os canais a serem adicionados e clique em OK. As notificações são agrupadas em ordem alfabética para cada tipo de canal.

      Para adicionar uma entrada à lista de caixas de seleção, clique em Gerenciar canal de notificação e siga as instruções. Ao retornar a essa caixa de diálogo, clique em Atualizar .

  7. Clique em Criar. Quando a ação de criação for bem-sucedida, a mensagem Verificação e alerta criados e a página do painel Verificações de tempo de atividade serão exibidas.

    A nova verificação de tempo de atividade será listada no painel de verificações de tempo de atividade. Se você clicar no nome da verificação, a visualização de detalhes dessa verificação de tempo de atividade será aberta. Essa visualização exibe vários gráficos, mostra a porcentagem de tempo de atividade e informações de configuração, assim como lista as políticas de alerta configuradas. Para ver uma política específica, clique no nome dela.

    Também é possível visualizar a política de alertas na página Alertas. Na página de alertas, o painel Políticas lista um subconjunto de políticas. Para ver uma lista de todas as políticas, clique em Ver todas as políticas.

Como simular uma interrupção

Agora que a verificação de tempo de atividade foi criada, você pode simular uma interrupção alterando seu app para responder com um erro HTTP 404 Sorry, we can't find that page em vez de HTTP 200 OK.

  1. O código a seguir mostra onde o app Hello World retorna apenas uma mensagem "Hello World!" e que o código de status da resposta é padronizado como 200 OK. Para visualizar esse código no app Hello World, use a função de visualização.

    # 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 fazer com que o app Hello World retorne um código de erro HTTP 404, altere a linha de retorno adicionando um valor 404 à segunda parte do valor de retorno.

    return 'Hello World', 404
  3. Implante o novo app interrompido intencionalmente.

    gcloud app deploy

    Em meia hora, você receberá uma mensagem de e-mail informando que sua verificação de tempo de atividade está falhando.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

A maneira mais fácil de evitar cobranças é excluir o projeto criado para o tutorial.

Para excluir o projeto:

  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.