
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Use Terraform to set up the necessary infrastructure
/ 50
View Logs in BigQuery
/ 50
O Cloud Logging pode ser usado para agregar registros de todos os recursos do Google Cloud e de recursos personalizados em outras plataformas, possibilitando o armazenamento centralizado de todos os registros e métricas. Os registros são agregados e mostrados na interface do Cloud Logging. Eles também podem ser exportados para coletores com o intuito de oferecer suporte a casos de uso mais especializados. Atualmente, é possível fazer exportações do Cloud Logging para estes coletores:
Neste laboratório, você vai implantar um aplicativo de amostra no Kubernetes Engine que encaminha eventos de registro para o Cloud Logging usando o Terraform (link em inglês). Com essa ferramenta declarativa de infraestrutura como código, é possível usar arquivos de configuração para automatizar a implantação e a evolução da infraestrutura na nuvem. A configuração vai criar um bucket do Cloud Storage e um conjunto de dados do BigQuery para exportar os dados de registro.
O laboratório foi criado por engenheiros do GKE Helmsman para explicar melhor o funcionamento do Cloud Logging. Para conferir esta demonstração, execute os comandos gsutil cp -r gs://spls/gke-binary-auth/* .
e cd gke-binary-auth-demo
no Cloud Shell. Incentivamos todas as pessoas a contribuir com nossos recursos.
As configurações do Terraform criarão um cluster do Kubernetes Engine, que gera registros e métricas para consumo pelo Stackdriver. Os scripts também criarão coletores de exportação de registro para o Cloud Storage, o BigQuery e o Cloud Pub/Sub.
Confira o diagrama e o fluxo de dados neste gráfico:
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:
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:
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.
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
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.
Você também encontra a Senha no painel Detalhes do laboratório.
Clique em Seguinte.
Acesse as próximas páginas:
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
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.
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:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
Clique em Autorizar.
A saída será parecida com esta:
Saída:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
<YOUR_PROJECT_ID>
pelo ID do projeto do Qwiklabs:Alguns recursos do Compute Engine estão em regiões e zonas. As regiões são localizações geográficas específicas onde você executa seus recursos. Todas elas têm uma ou mais zonas.
Execute o comando a seguir para configurar a região e a zona do seu laboratório (use a região/zona mais adequada para você):
Seguindo os princípios de infraestrutura como código e de infraestrutura imutável (link em inglês), o Terraform possibilita gravar descrições declarativas do estado de infraestrutura desejado. Quando o descritor é aplicado, o Terraform usa as APIs do Google Cloud para provisionar e atualizar os recursos.
O Terraform compara o estado desejado com o atual para que mudanças incrementais possam ser feitas sem excluir tudo e começar de novo. Por exemplo, o Terraform pode criar projetos do Google Cloud e instâncias de computação etc., e até mesmo configurar um cluster do Kubernetes Engine e implantar aplicativos nele. Quando os requisitos mudam, o descritor pode ser atualizado para o Terraform fazer as devidas alterações na infraestrutura em nuvem.
Neste laboratório, um cluster do Kubernetes Engine será iniciado, e um aplicativo de amostra simples será implantado nele. Por padrão, os clusters do Kubernetes Engine no Google Cloud têm um coletor baseado no Fluentd (link em inglês) pré-configurado que encaminha os registros para o Cloud Logging. A interação com o app de amostra produz registros que são mostrados no Cloud Logging e em outros coletores de eventos de registro.
Remova a versão do provedor do Terraform do arquivo de script provider.tf
.
Na guia "Editor do Cloud Shell", selecione Arquivo>Abrir e clique em Abrir. No menu à esquerda, abra o arquivo /gke-logging-sinks-demo/terraform/provider.tf
.
Defina a versão como ~> 2.19.0
. Após as modificações, o arquivo de script provider.tf
terá esta aparência:
Este exemplo inclui três arquivos do Terraform.
O primeiro, main.tf
, é o ponto de partida do Terraform. Ele descreve as funcionalidades que serão usadas, os recursos que serão manipulados e as saídas resultantes.
O segundo arquivo, provider.tf
, indica o provedor de nuvem e a versão de destino dos comandos do Terraform, neste caso, o Google Cloud.
O último arquivo, variables.tf
, contém uma lista das variáveis usadas como entradas no Terraform. Quando main.tf
contém uma referência a uma variável que não tem padrões configurados em variables.tf
, o sistema solicita a variável ao usuário no ambiente de execução.
Você vai fazer uma pequena mudança em main.tf
. No menu à esquerda, abra o arquivo /gke-logging-sinks-demo/terraform/main.tf
.
Role para baixo até a linha 110 e encontre a seção "Create the Stackdriver Export Sink for Cloud Storage GKE Notifications".
Altere o resource.type
do filtro de container para k8s_container.
Faça o mesmo para o bigquery-sink na linha 119. Antes de continuar, confirme que as duas seções de sincronização da exportação têm esta aparência:
Salve e feche o arquivo.
Agora, para criar o ambiente executável usando o comando make
, execute:
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver implantado a infraestrutura necessária com o Terraform, uma pontuação de avaliação vai aparecer.
Se não houver erros durante a implantação, o cluster do Kubernetes Engine vai aparecer no console do Cloud após alguns minutos.
Acesse Menu de navegação > Kubernetes Engine > Clusters para conferir o cluster com o aplicativo de amostra implantado.
Para verificar se a demonstração foi implantada sem erros, execute:
A saída será semelhante a esta:
Agora que o aplicativo foi implantado no Kubernetes Engine, é possível gerar dados de registro que podem ser visualizados com o Cloud Logging ou outras ferramentas.
O aplicativo de amostra que o Terraform implantou disponibiliza uma página da Web simples.
Cada vez que você abre o app no seu navegador, o aplicativo publica eventos de registro no Cloud Logging. Quando você atualiza a página algumas vezes, isso produz vários eventos de registro.
Para acessar o URL da página do aplicativo:
IP:Port
. Abra um novo navegador e cole o URL. O navegador vai abrir uma tela semelhante e esta:O Cloud Logging tem uma interface para acessar os eventos de registro. Ele conta com recursos básicos de pesquisa e filtragem, que são úteis para depurar problemas no sistema.
O Cloud Logging é indicado para analisar eventos de registro mais recentes. Os usuários que precisam armazenar os eventos por períodos mais longos podem usar uma das ferramentas que conheceremos nas próximas seções.
Para acessar o console do Cloud Logging, siga estas etapas:
Resource type
como Contêiner do Kubernetes e cluster_name
como stackdriver-logging.No console do Cloud Logging, é possível fazer consultas no Criador de consultas ou testar vários recursos, como campos de registro, fuso horário etc.
A configuração do Terraform criou dois coletores de exportação de registro. Para acessar os coletores, siga estas etapas:
É possível armazenar eventos de registro no Cloud Storage, um sistema de armazenamento de objetos adequado para arquivamento de dados.
Você pode configurar políticas nos buckets do Cloud Storage para, por exemplo, excluir dados antigos e armazenar dados recentes com diversas classes de armazenamento que afetam preço e disponibilidade.
A configuração do Terraform criou um bucket do Cloud Storage chamado stackdriver-gke-logging-, para onde os registros serão exportados para arquivamento de médio e longo prazo.
Neste exemplo, a classe de armazenamento do bucket foi definida como "Nearline", porque o acesso aos registros não é frequente em um ambiente de produção normal (isso ajuda a controlar os custos de armazenamento de médio prazo). Em uma situação de produção, o bucket também poderia incluir uma política de ciclo de vida para mover o conteúdo para o Coldline Storage e reduzir o custo do armazenamento de longo prazo.
Para acessar os registros no Cloud Storage, siga estas etapas:
stackdriver-gke-logging-<random-Id>
e clique nele.Se você acessar o bucket novamente no fim do laboratório, talvez seja possível acessar pastas correspondentes aos pods executados no cluster (por exemplo, autoscaler, dnsmasq etc.).
Clique em qualquer uma das pastas para procurar detalhes específicos do registro, como heapster, kubedns, sidecar etc.
É possível configurar os eventos de registro para publicação no BigQuery, uma ferramenta de armazenamento em data warehouse que permite realizar consultas rápidas e sofisticadas em grandes conjuntos de dados.
A configuração do Terraform vai criar um conjunto de dados (link em inglês) do BigQuery chamado gke_logs_dataset
. Ele será configurado para incluir todos os registros relacionados do Kubernetes Engine de até uma hora atrás (para isso, definimos a "Expiração da tabela padrão" do conjunto de dados). Os registros do contêiner do Kubernetes Engine serão enviados para o conjunto de dados.
Para acessar os registros no BigQuery, siga estas etapas:
Welcome to BigQuery in the Cloud Console
for aberta. Clique em Concluído.Select *
por ser muito cara. Neste laboratório, o conjunto de dados é limitado apenas a uma hora de registros, por isso é relativamente pequeno.A janela de resultados deve exibir algumas linhas e colunas. Role pelas várias linhas de dados retornados. Se preferir, faça algumas consultas personalizadas que filtram dados específicos com base nos resultados da consulta original.
Clique em Verificar meu progresso para conferir a tarefa realizada. Se o coletor do BigQuery tiver gravado registros no conjunto de dados do BigQuery, uma pontuação de avaliação vai aparecer.
Como o Terraform monitora todos os recursos que criou, ele pode eliminar tudo.
Permission denied
na execução do Terraform.As credenciais que o Terraform está usando não concedem as permissões necessárias para criar recursos nos projetos selecionados.
Verifique se a conta listada em gcloud config list
tem as permissões necessárias para criar recursos.
Se tiver, gere novamente as credenciais padrão do aplicativo usando gcloud auth application-default login
.
Quando a configuração do Terraform é concluída, o bucket do Cloud Storage é criado, mas talvez ele não seja preenchido imediatamente com dados de registro do cluster do Kubernetes Engine.
Aguarde um pouco. Pode levar de 2 a 3 horas para as primeiras entradas aparecerem. Saiba mais sobre o Cloud Storage na documentação sobre a visualização de registros em destinos dos coletores.
Quando a configuração do Terraform é concluída, o conjunto de dados do BigQuery é criado, mas talvez ele não contenha nenhuma tabela no momento em que você conferir os resultados.
É raro as tabelas serem preenchidas imediatamente.
Aguarde um pouco (no mínimo 5 minutos) antes de considerar que algum erro ocorreu.
Este laboratório autoguiado faz parte das Quests Google Cloud's Operations Suite on GKE e Google Cloud Logging. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Caso você já tenha feito este laboratório, faça sua inscrição em uma Quest para ganhar os créditos de conclusão imediatamente. Consulte o catálogo do Google Cloud Ensina para conferir todas as Quests disponíveis.
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.
Copyright 2024 Google LLC. Este software é fornecido no estado em que se encontra, sem declarações nem garantias para qualquer uso ou finalidade. O uso do software está sujeito ao seu contrato com o Google.
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
One lab at a time
Confirm to end all existing labs and start this one