Informações gerais
Neste laboratório, você implanta um aplicativo no App Engine e cria políticas de alertas para receber notificações caso o aplicativo não esteja acessível ou esteja gerando erros.
Objetivos
Neste laboratório, você aprenderá a fazer o seguinte:
- Fazer o download de um app de exemplo no GitHub.
- Implantar um aplicativo no App Engine.
- Criar alertas e verificações de tempo de atividade.
- Opcionalmente, criar uma política de alertas com a CLI.
Configuração e requisitos
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento.
No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}}
Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}}
Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar uma lista de produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo ou digite o nome do serviço ou produto no campo Pesquisar.
Depois que você concluir as etapas iniciais de login, o painel do projeto será exibido.

Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.
O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
-
No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

-
Clique em Continuar.
O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- Para listar o nome da conta ativa, use este comando:
gcloud auth list
Saída:
Credentialed accounts:
- @.com (active)
Exemplo de saída:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Para listar o ID do projeto, use este comando:
gcloud config list project
Saída:
[core]
project =
Exemplo de saída:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Observação:
a documentação completa da gcloud está disponível no
guia com informações gerais sobre a gcloud CLI
.
Execute os comandos a seguir para atualizar o ambiente de Python
python3 -m pip install --upgrade pip
python3 -m venv myenv
source myenv/bin/activate
Tarefa 1: fazer o download e o teste de um app de exemplo do GitHub
-
Clone o Google Training Data Analyst do GitHub para o ambiente do Cloud Shell. O repositório contém um aplicativo simples que é ideal para os requisitos deste exercício.
git clone --depth 1 https://github.com/GoogleCloudPlatform/training-data-analyst.git
-
Após a clonagem, mude para a pasta deploying-apps-to-gcp no repositório que contém o app de exemplo:
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
-
Abra o arquivo main.py no editor do Cloud Shell. Se for solicitado, clique em Abrir em uma nova janela. Reserve um momento para analisar o aplicativo Python Flask básico "Hello GCP".
edit main.py
-
Feche o editor e volte ao terminal do Cloud Shell. Clique em Abrir terminal no canto superior direito para abrir a janela do terminal. Para testar o programa, carregue todas as dependências do aplicativo em Python e inicie-o.
pip3 install -r requirements.txt
python3 main.py
-
Para conferir o programa em execução, clique no botão Visualização na Web na barra de ferramentas do Cloud Shell e selecione Visualizar na porta 8080.

O programa deve abrir uma nova guia do navegador e exibir a mensagem Hello GCP.
- Feche a guia, volte ao Cloud Shell e pressione CTRL+C para sair do servidor Flask em execução.
Tarefa 2: implantar um aplicativo no App Engine
Agora que sabemos que o aplicativo funciona, é hora de implantá-lo no App Engine.
-
Mude para (ou reabra) o editor de código do Cloud Shell. Expanda a pasta training-data-analyst/courses/design-process/deploying-apps-to-gcp na árvore do explorador à esquerda.
-
No menu Arquivo, selecione Novo arquivo e dê o nome app.yaml ao arquivo.
-
Cole isto no arquivo recém-criado:
runtime: python312
-
Para verificar se o arquivo foi salvo, selecione Arquivo > Salvar.
Para ser usado, todo projeto precisa primeiro criar um aplicativo do App Engine. Isso é feito apenas uma vez por projeto no console ou usando o comando gcloud app create. De qualquer forma, você precisa especificar a região em que o aplicativo será criado.
-
Execute o comando a seguir no terminal do Cloud Shell. Talvez seja necessário autorizar o Cloud Shell para fazer essa mudança:
gcloud app create --region={{{project_0.startup_script.app_region|Region}}}
-
Implante o aplicativo básico no App Engine. O comando a seguir procura o aplicativo no diretório atual. Ele observa que o arquivo app.yaml declara o aplicativo como Python e presume que o restante da pasta contém o próprio aplicativo, com ponto de partida em main.py. Ele carrega as dependências, empacota o aplicativo e o implanta no App Engine como serviço.
gcloud app deploy --version=one --quiet
-
Aguarde a conclusão da implantação do aplicativo.
-
Na janela do console do Google Cloud, no Menu de navegação (
), clique em Mostrar todos os produtos > Sem servidor > App Engine > Painel.
-
No canto superior direito do painel, haverá um link para o aplicativo semelhante ao exibido abaixo.

Observação: por padrão, a URL de um App Engine tem o formato https://project-id.wl.r.appspot.com.
-
Clique no link para testar o aplicativo que foi implantado. Ele deve funcionar exatamente como quando foi executado no Cloud Shell.
-
Clique em "Atualizar" várias vezes para que o Google Cloud possa coletar alguns dados de amostra.
Clique em Verificar meu progresso para conferir o objetivo.
Implantar um aplicativo no App Engine.
Tarefa 3: examinar os registros do App Engine
-
Volte ao console e, à esquerda, em App Engine, clique no link Versões.
-
Selecione Registros na coluna Diagnosticar.

- Nos registros, são exibidas as solicitações que você acabou de fazer. Se você chegar aqui muito rápido, aguarde alguns segundos e clique no botão Ir para momento atual.
Tarefa 4: criar um alerta de latência do App Engine
Agora que o aplicativo está em execução, é hora de criar um alerta para observar latências excepcionalmente altas. Para começar, vamos analisar a latência atual do aplicativo.
Verificar a latência atual do aplicativo no Metrics Explorer
-
No console do Google Cloud, no menu de navegação, clique em Mostrar todos os produtos e acesse Observabilidade > Monitoramento > Metrics Explorer.
-
Clique no menu suspenso Selecionar uma métrica e desmarque a opção Ativa.
-
Defina Métrica como Aplicativo GAE > HTTP > Latência de resposta. Clique em Aplicar. Verifique se esta é uma métrica do App Engine e não uma métrica de verificação de tempo de atividade. Como não há uma verificação de tempo de atividade no momento, a segunda opção não vai funcionar.
-
No campo Agregação, clique no menu suspenso e selecione 99º percentil.
-
Reserve um momento para analisar o gráfico.
Não temos muitos dados, mas há provavelmente o suficiente para exibir uma linha de gráfico com o tempo médio que o aplicativo levou para retornar uma resposta a 99% das solicitações mais rápidas, eliminando 1% das anomalias.
Criar um alerta com base na mesma métrica
Agora, o aplicativo está funcionando conforme o esperado. Embora possa ter havido algumas respostas lentas quando o aplicativo foi iniciado pela primeira vez, você deve observar tempos de resposta inferiores a 200 ms em média.
Agora é hora de criar um alerta para receber avisos quando houver tempos de resposta superiores a 5s por mais de um minuto.
-
No console do Google Cloud, no Menu de navegação (
), clique em Ver todos os produtos > Observabilidade > Monitoring > Alertas.
-
Na parte superior, clique em Editar canais de notificação e acesse a seção "E-mail". Use Adicionar novo para adicionar seu endereço de e-mail como um canal de notificação válido. Em Nome de exibição, escolha qualquer nome e clique em Salvar.
-
Volte à página principal de Alertas e clique em Criar política.
-
Clique em Selecionar uma métrica e desmarque a opção Ativa para mostrar a mesma página do Metrics Explorer. Mais uma vez, defina Métrica como Aplicativo GAE > HTTP > Latência de resposta. Clique em Aplicar. Defina Janela contínua como 1 min e clique em Próxima.
Observe a nova seção Configuration que foi adicionada à janela padrão do Metrics Explorer no canto inferior esquerdo.
-
Configure uma condição para que um alerta seja acionado se Alguma série temporal causar a violação em que a Threshold position esteja definida como Above threshold e o Threshold value seja 8.000 ms.
-
Defina condition name como Latência de resposta [MÉDIA] para 99% em oito segundos.
-
Reserve um momento para analisar o gráfico do alerta. É o mesmo gráfico criado anteriormente com o Metrics Explorer, mas deve haver uma linha de alerta desenhada aos oito segundos desta vez.
-
Clique em Próxima.
-
Em Notifications and name, expanda Notification Channel e faça uma verificação por conta própria clicando em OK (o canal de notificação que você criou anteriormente nesta seção).
-
Dê ao alerta o nome Hello too slow e clique em Próxima. Revise o alerta e clique em Criar política.
-
Atualize o código do aplicativo para adicionar um atraso. Volte ao editor de código do Cloud Shell. Expanda a pasta training-data-analyst/courses/design-process/deploying-apps-to-gcp na árvore do explorador à esquerda.
-
Clique em main.py para abri-lo no editor. Perto do topo da linha 2, adicione as seguintes instruções de importação (algumas serão usadas posteriormente no exercício):
import time
import random
import json
-
Substitua a função main() atual pela função abaixo. Esta nova versão adiciona um comando sleep que pausa o código por 10 segundos no meio de cada solicitação. Isso estará bastante acima do limite.
@app.route("/")
def main():
model = {"title": "Hello GCP."}
time.sleep(10)
return render_template('index.html', model=model)
-
Agora reimplante o aplicativo executando novamente o seguinte:
gcloud app deploy --version=two --quiet
-
Aguarde o comando concluir a reimplantação.
-
Após a conclusão do comando, retorne a Sem servidor > App Engine > Painel e verifique se o link funciona.
-
Para gerar uma carga consistente, insira o seguinte comando no Cloud Shell:
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
Observação: esse comando faz solicitações ao aplicativo App Engine continuamente em loop. Se a solicitação funcionar, o comando grep exibirá o título da página. Se ela não funcionar, ele exibirá o erro. A cada iteração, a linha de execução fica suspensa por um período aleatório de menos de um segundo, mas com o atraso de 10 segundos no tempo de resposta, ela parecerá muito mais longa.
-
Aguarde alguns minutos (normalmente cerca de 5) e você receberá um e-mail de notificação sobre o alerta. Quando isso acontecer, volte ao terminal do Cloud Shell e use CTRL+C para interromper o loop do testador de carga.
-
No console do Google Cloud, no Menu de navegação (
), clique em Ver todos os produtos > Observabilidade > Monitoring > Alertas.
Observe o alerta acionado e como ele criou um incidente.
-
Clique no incidente para conferir os detalhes.
-
Analise a página de detalhes, role até a parte de cima e selecione Incidente de confirmação.
-
Volte à página principal de Alertas e observe as alterações.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um alerta de latência do App Engine.
Tarefa 5 (opcional): criar uma política de alertas com a CLI
A CLI (e a API) de alertas pode ser muito eficaz ao aplicar políticas de alertas com códigos ou scripts.
-
Volte ao editor de código do Cloud Shell. Selecione a pasta training-data-analyst/courses/design-process/deploying-apps-to-gcp na árvore do explorador à esquerda.
-
No menu Arquivo, selecione Novo arquivo e dê a ele o nome app-engine-error-percent-policy.json.
-
Crie uma política de alertas que divida o número de 500 erros pelo número total de respostas e seja acionada quando os 500 erros excederem 1%. Cole isto no arquivo recém-criado:
{
"displayName": "HTTP error count exceeds 1 percent for App Engine apps",
"combiner": "OR",
"conditions": [
{
"displayName": "Ratio: HTTP 500s error-response counts / All HTTP response counts",
"conditionThreshold": {
"filter": "metric.label.response_code>=\"500\" AND metric.label.response_code<\"600\" AND metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"aggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"denominatorFilter": "metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"denominatorAggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"comparison": "COMPARISON_GT",
"thresholdValue": 0.01,
"duration": "0s",
"trigger": {
"count": 1
}
}
}
]
}
-
Salve o arquivo. Verifique se você está na pasta correta e se a política de alertas foi salva nela.
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
ls
-
Implante a política de alertas com o seguinte comando:
gcloud alpha monitoring policies create --policy-from-file="app-engine-error-percent-policy.json"
-
No console do Google Cloud, no Menu de navegação (
), clique em Observabilidade > Monitoring > Alertas. Na seção Políticas, a política de alertas que você acabou de implantar será exibida.
-
Clique na política Erro HTTP… para conferir os detalhes dela. Edite o canal de notificação para receber um e-mail quando o alerta for acionado.
-
Implante o aplicativo App Engine com um erro aleatório para testar a política. Volte ao editor de código do Cloud Shell. Expanda a pasta training-data-analyst/courses/design-process/deploying-apps-to-gcp na árvore do explorador à esquerda.
-
Abra o arquivo main.py no editor do Cloud Shell.
-
Substitua a função main() atual pela função abaixo. Esta nova função remove o comando sleep e usa o gerador de números aleatórios para retornar um erro 500 cerca de 2% das vezes. Isso deve ser suficiente para acionar a política de contagem de erros HTTP.
@app.route("/")
def main():
num = random.randrange(49)
if num == 0:
return json.dumps({"error": 'Error thrown randomly'}), 500
else:
model = {"title": "Hello GCP."}
return render_template('index.html', model=model)
-
Reimplante o aplicativo com o seguinte comando:
gcloud app deploy --version=two --quiet
-
Aguarde o comando para concluir a reimplantação.
-
Após a conclusão do comando, retorne ao App Engine > Painel e verifique se o link funciona.
-
No Cloud Shell, execute novamente o comando do gerador de carga anterior:
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
No Cloud Shell, um erro aparecerá aleatoriamente em cerca de 2% das vezes. Deixe o comando em execução.
-
No console do Google Cloud, no Menu de navegação (
), clique em Observabilidade > Monitoramento > Alertas e espere mais alguns minutos. Um incidente de alerta será acionado. Você também deve receber um e-mail. Isso não acontecerá imediatamente, por isso, seja paciente.
-
Depois de receber o e-mail e de o incidente ser acionado, volte ao Cloud Shell e pressione CTRL+C para interromper as solicitações.
Ao esperar mais alguns minutos, o incidente é resolvido por conta própria e você recebe outro e-mail.
-
Para não receber mais e-mails após a exclusão do projeto, exclua os canais de notificação. Clique na política Contagem de erros HTTP… para conferir os detalhes dela. Clique no link Editar, expanda o canal de notificação e desmarque-se. Desative Use notification channel. Salve as alterações e exclua a política.
-
Repita a etapa anterior para a política de alertas de verificação de tempo de atividade.
Revisão
Neste exercício, você usou o console do Google Cloud e a CLI para criar e testar políticas de alertas. Bom trabalho!
Finalize o laboratório
Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.
Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.
O número de estrelas indica o seguinte:
- 1 estrela = muito insatisfeito
- 2 estrelas = insatisfeito
- 3 estrelas = neutro
- 4 estrelas = satisfeito
- 5 estrelas = muito satisfeito
Feche a caixa de diálogo se não quiser enviar feedback.
Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.
Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.