arrow_back

Análise de dados de registros no Google Cloud

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Análise de dados de registros no Google Cloud

Lab 1 hora universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1088

Laboratórios autoguiados do Google Cloud

Informações gerais

Neste laboratório, você vai conhecer os recursos e ferramentas que o Cloud Logging oferece para gerar insights sobre seus aplicativos.

Neste curso, você vai:

  • Aprender a usar o Cloud Logging de forma eficaz e aproveitar os insights sobre os aplicativos em execução no GKE
  • Aprender a criar e executar consultas de forma eficaz usando a Análise de dados de registros

O aplicativo de demonstração usado no laboratório

Para usar um exemplo concreto, vamos simular um cenário com base em um app de exemplo de demonstração de microsserviços implantado em um cluster do GKE. Nesse app, há diversos microsserviços com dependências entre eles.

gráfico demonstrando os diversos microsserviços e as dependências entre eles

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. 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ê verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    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.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. 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 GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias 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.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Tarefa 1: configuração da infraestrutura

Verifique o cluster do GKE

Conecte a um cluster do Google Kubernetes Engine e confirme se ele foi criado corretamente.

No Cloud Shell, defina a zona na gcloud:

gcloud config set compute/zone {{{project_0.default_zone|placeholder}}}
  1. Use o comando abaixo para conferir o status do cluster:
gcloud container clusters list

Um status semelhante a este vai aparecer:

NAME: day2-ops LOCATION: {{{project_0.default_zone|placeholder}}} MASTER_VERSION: 1.24.3-gke.2100 MASTER_IP: 34.68.183.6 MACHINE_TYPE: e2-standard-2 NODE_VERSION: 1.24.3-gke.2100 NUM_NODES: 4 STATUS: RUNNING

O status do cluster será EM EXECUÇÃO. Se ele ainda for EM PROVISIONAMENTO, aguarde um pouco e execute o comando acima outra vez. Repita esse processo até que o status mude para EM EXECUÇÃO.

Também é possível conferir o progresso no console do Cloud, em Menu de navegação > Kubernetes Engine > Clusters.

  1. Quando o status mudar para EM EXECUÇÃO, consulte as credenciais do cluster:
gcloud container clusters get-credentials day2-ops --region {{{project_0.default_region|placeholder}}}

(Saída)

Fetching cluster endpoint and auth data. kubeconfig entry generated for day2-ops.
  1. Verifique se os nós foram criados:
kubectl get nodes

A saída será parecida com esta:

NAME STATUS ROLES AGE VERSION gke-day2-ops-default-pool-b3081059-bskv Ready <none> 3m32s v1.24.3-gke.2100 gke-day2-ops-default-pool-b3081059-dt73 Ready <none> 3m30s v1.24.3-gke.2100 gke-day2-ops-default-pool-b3081059-g1m3 Ready <none> 3m31s v1.24.3-gke.2100 gke-day2-ops-default-pool-b3081059-wq4b Ready <none> 3m31s v1.24.3-gke.2100

Tarefa 2: implantar o aplicativo

Em seguida, você vai implantar um aplicativo de microsserviços chamado Online Boutique no seu cluster para criar um fluxo de trabalho que pode ser monitorado.

  1. Execute o seguinte comando para clonar o repositório:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
  1. Mude para o diretório microservices-demo:
cd microservices-demo
  1. Instale o app usando kubectl:
kubectl apply -f release/kubernetes-manifests.yaml
  1. Verifique se tudo está funcionando corretamente:
kubectl get pods

A saída será parecida com o exemplo a seguir. Antes de prosseguir para a próxima etapa, execute o comando até que todos os pods estejam com o status "Em execução".

NAME READY STATUS RESTARTS AGE adservice-55f94cfd9c-4lvml 1/1 Running 0 20m cartservice-6f4946f9b8-6wtff 1/1 Running 2 20m checkoutservice-5688779d8c-l6crl 1/1 Running 0 20m currencyservice-665d6f4569-b4sbm 1/1 Running 0 20m emailservice-684c89bcb8-h48sq 1/1 Running 0 20m frontend-67c8475b7d-vktsn 1/1 Running 0 20m loadgenerator-6d646566db-p422w 1/1 Running 0 20m paymentservice-858d89d64c-hmpkg 1/1 Running 0 20m productcatalogservice-bcd85cb5-d6xp4 1/1 Running 0 20m recommendationservice-685d7d6cd9-pxd9g 1/1 Running 0 20m redis-cart-9b864d47f-c9xc6 1/1 Running 0 20m shippingservice-5948f9fb5c-vndcp 1/1 Running 0 20m
  1. Execute o código a seguir para exibir o IP externo do aplicativo. Um endereço IP só é retornado quando o serviço é implantado. Logo, pode ser necessário repetir os comandos até que um endereço IP externo seja atribuído:
export EXTERNAL_IP=$(kubectl get service frontend-external -o jsonpath="{.status.loadBalancer.ingress[0].ip}") echo $EXTERNAL_IP

(Exemplo de saída)

35.222.235.86
  1. Por fim, verifique se o app está em execução:
curl -o /dev/null -s -w "%{http_code}\n" http://${EXTERNAL_IP}

A confirmação será parecida com esta:

200

Depois que o aplicativo for implantado, acesse o console do Cloud e confira o status.

  1. Na página Kubernetes Engine > Cargas de trabalho, todos os pods vão aparecer corretamente.
páginas de cargas de trabalho com pods no status OK
  1. Agora clique em Serviços e entrada e verifique se todos os serviços estão OK.

Abra o aplicativo

Em Serviço e entrada, clique no IP do Endpoint do serviço frontend-external:

destaque do endereço IP externo do serviço front-end-external

Isso vai abrir o aplicativo e exibir uma página como esta:

página da Web do aplicativo de demonstração

Selecione Verificar meu progresso para conferir o objetivo. Implantar o aplicativo

Tarefa 4: gerenciar bucket de registros

Há duas formas de ativar a Análise de dados de registros. Uma delas é fazer o upgrade de um bucket que já foi criado, e a outra é criar um novo bucket de registros com a Análise de dados de registros ativada.

Faça o upgrade de um bucket

As etapas a seguir podem ser usadas para fazer o upgrade de um bucket de registros que já foi criado.

  1. No menu à esquerda, clique em Logging e depois em Armazenamento de registros.

  2. Clique em FAZER UPGRADE de um bucket atual, por exemplo, _Default.

painel de detalhes do bucket com 2 caixas de seleção marcadas
  1. Clique em FAZER UPGRADE na janela pop-up.

  2. Aguarde a conclusão do upgrade. Inicialmente, o status vai mudar para Inelegível para upgrade e depois vai mudar para Com upgrade.

  3. Clique no botão ABRIR do menu suspenso.

  4. Clique na visualização _AllLogs para abrir a página de Análise de dados de registros.

Crie um novo bucket de registros

Alternativamente, é possível configurar o Cloud Logging para criar um novo bucket de registros com a Análise de dados de registros ativada.

  1. No menu à esquerda, clique em Logging e depois em Armazenamento de registros.

  2. Clique em CRIAR BUCKET DE REGISTROS na parte de cima.

  3. Dê um nome ao bucket, como day2ops-log.

  4. Marque Fazer upgrade para usar a Análise de dados de registros e Criar um conjunto de dados vinculado no BigQuery.

  5. Digite um nome para o conjunto de dados, como: day2ops_log

painel de detalhes do bucket com 2 caixas de seleção marcadas

Selecionar Criar um conjunto de dados vinculado no BigQuery vai criar um conjunto de dados para você no BigQuery, se nenhum existir. Dessa forma, você pode executar consultas no BigQuery.

  1. Por fim, clique em Criar bucket para criar o bucket de registros.

Selecione Verificar meu progresso para conferir o objetivo. Criar um bucket de registros

Faça gravações no novo bucket de registros

É possível criar um coletor de registros para usar o novo bucket de registros. Faça isso diretamente pelo Roteador de registros. Outro jeito fácil de fazer isso é pela Análise de registros. É possível executar consultas para selecionar e filtrar os registros que você quiser e criar um coletor em seguida. Uma coisa boa dessa abordagem é que a consulta de registros é automaticamente copiada como o filtro para a configuração do coletor.

  1. No canto superior direito da Análise de registros, ative a opção Exibir consulta e execute a seguinte consulta no campo de consulta:
resource.type="k8s_container"
  1. Clique em Criar coletor.
página de Análise de registros com o botão Criar coletor em destaque
  1. Dê um nome ao coletor, como day2ops-sink.

  2. Clique em PRÓXIMA.

  3. Selecione bucket do Cloud Logging na lista suspensa do serviço de coletor.

  4. Selecione o novo bucket de registros que você acabou de criar.

  5. Clique em PRÓXIMA.

A consulta do tipo de recurso já estará visível no filtro.

detalhes do coletor com o tipo de recurso exibido
  1. Clique em CRIAR COLETOR.

Espere um pouco até o seu coletor ser criado.

Selecione Verificar meu progresso para conferir o objetivo. Criar o coletor de registro

Faça leituras do novo bucket de registros

Volte para a Análise de registros. Há diversos tipos de recurso diferentes para os registros, como destacado na captura de tela a seguir.

tipos de recurso e botão de refinar escopos em destaque
  1. Para conferir os registros no novo bucket de registros, clique em REFINAR ESCOPO na parte de cima da página.

  2. Selecione Escopo por armazenamento e o novo bucket de registros que você criou.

  3. Clique em APLICAR.

Você vai perceber que contêineres Kubernetes são o único tipo de recurso restante e que há bem menos entradas de registro agora. Isso ocorre porque apenas os registros filtrados serão enviados para o bucket.

Tarefa 5: análise de registros

  • No lado esquerdo, em Logging, clique em Análise de dados de registros para acessar o recurso. Será exibido um resultado parecido com este:
a7afa6a91515d206.png

Se o campo da consulta ficar em branco ou se você esquecer a tabela que quer usar, clique no botão Consulta para retomar a consulta de amostra.

Agora é possível executar suas próprias consultas no campo de consulta. Confira alguns exemplos a seguir.

Importante: o nome da visualização de registro na cláusula FROM é diferente para os buckets de registros. É necessário confirmar se o nome de visualização correto está sendo usado. A etapa anterior pode ser usada para verificação.

Para encontrar os erros mais recentes:

Encontre os erros mais recentes dos contêineres:

SELECT TIMESTAMP, JSON_VALUE(resource.labels.container_name) AS container, json_payload FROM `logs_day2ops_US._AllLogs` WHERE severity="ERROR" AND json_payload IS NOT NULL ORDER BY 1 DESC LIMIT 50

Depois de executar a consulta, será exibida uma saída semelhante a:

resultados de consulta para encontrar erros recentes

Para descobrir as latências mínima, máxima e média:

É possível consultar as latências mínima, máxima e média em um prazo para o serviço de front-end:

SELECT hour, MIN(took_ms) AS min, MAX(took_ms) AS max, AVG(took_ms) AS avg FROM ( SELECT FORMAT_TIMESTAMP("%H", timestamp) AS hour, CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64 ) AS took_ms FROM `logs_day2ops_US._AllLogs` WHERE timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR) AND json_payload IS NOT NULL AND SEARCH(labels, "frontend") AND JSON_VALUE(json_payload.message) = "request complete" ORDER BY took_ms DESC, timestamp ASC ) GROUP BY 1 ORDER BY 1

Depois de executar a consulta, será exibida uma saída semelhante a:

resultados da consulta para encontrar as latências mínima, máxima e média

Número da visita à página do produto

Você quer saber quantas vezes os usuários acessaram uma determinada página de produto na última hora:

SELECT count(*) FROM `logs_day2ops_US._AllLogs` WHERE text_payload like "GET %/product/L9ECAV7KIM %" AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)

Depois de executar a consulta, será exibida uma saída semelhante a:

resultados da consulta de visitas à página do produto

Sessões com pagamento de carrinho de compras

Execute a consulta abaixo para conferir quantas sessões terminam em finalização de compra (chamada POST para o serviço de finalização/carrinho de compra):

SELECT JSON_VALUE(json_payload.session), COUNT(*) FROM logs_day2ops_US._AllLogs WHERE JSON_VALUE(json_payload['http.req.method']) = "POST" AND JSON_VALUE(json_payload['http.req.path']) = "/cart/checkout" AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR) GROUP BY JSON_VALUE(json_payload.session)

Depois de executar a consulta, será exibida uma saída semelhante a:

resultado da consulta para pagamento do carrinho de compras

Parabéns!

Agora você tem experiência no uso do Cloud Logging para receber insights sobre os aplicativos em execução no GKE, além de criar e executar consultas usando a Análise de dados de registros.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 26 de setembro de 2022

Laboratório testado em 26 de setembro de 2022

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.