Checkpoints
Use Terraform to set up the necessary infrastructure
/ 50
View Logs in BigQuery
/ 50
Cloud Logging no Kubernetes Engine
- GSP483
- Informações gerais
- Arquitetura
- Configuração
- Tarefa 1: clonagem da demonstração
- Tarefa 2: implantação
- Tarefa 3: validação
- Tarefa 4: como gerar registros
- Tarefa 5: registros no Cloud Logging
- Tarefa 6: como acessar os registros exportados
- Tarefa 7: registros no Cloud Storage
- Tarefa 8: registros no BigQuery
- Tarefa 9: eliminação
- Tarefa 10: solução de problemas no seu ambiente de produção
- Parabéns
GSP483
Informações gerais
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:
- Cloud Storage
- Pub/Sub
- BigQuery
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.
Arquitetura
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:
Configuração
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).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
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.
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.
- Clique em 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:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Tarefa 1: clonagem da demonstração
- Na barra de cima do Cloud Shell, clique em Abrir em uma nova janela:
- Execute o comando abaixo para configurar seu ID do projeto do Google Cloud, substituindo
<YOUR_PROJECT_ID>
pelo ID do projeto do Qwiklabs:
- Agora, clone os recursos necessários para este laboratório:
- Mude seu diretório para esta demonstração:
Configure sua região e zona
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ê):
Tarefa 2: implantação
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.
Atualizar o arquivo provider.tf
-
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 scriptprovider.tf
terá esta aparência:
- Salve e feche o arquivo.
Implantar o cluster
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:
Testar a tarefa concluída
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.
Tarefa 3: validação
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.
Tarefa 4: como gerar registros
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:
- No Menu de navegação do console do Cloud, acesse a seção "Rede" e clique em Serviços de rede.
- Na página Balanceamento de carga padrão, clique no nome do balanceador de carga TCP configurado.
- Na página Detalhes do balanceador de carga, acesse a seção Front-end na parte de cima.
- Em "Front-end", copie o valor do URL
IP:Port
. Abra um novo navegador e cole o URL. O navegador vai abrir uma tela semelhante e esta:
Tarefa 5: registros no Cloud Logging
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:
- No console do Cloud, acesse o Menu de navegação, a seção "Operações" e clique em Geração de registros.
- Nessa página, defina
Resource type
como Contêiner do Kubernetes ecluster_name
como stackdriver-logging.
- Clique em Executar consulta.
- Em "Resultados da consulta", abra os itens do registro listados com marcadores para acessar mais detalhes sobre uma entrada.
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.
Tarefa 6: como acessar os registros exportados
A configuração do Terraform criou dois coletores de exportação de registro. Para acessar os coletores, siga estas etapas:
- Você ainda deve estar na página Geração de registros.
- No menu de navegação à esquerda, clique em Roteador de registros.
- A lista de exportações de registros deve conter quatro coletores.
- Eles podem ser editados ou visualizados. Para fazer isso, clique no menu de contexto (três pontos) à direita do coletor e selecione a opção Editar coletor.
- Também é possível criar outros coletores de exportação personalizados com a opção Criar coletor, na parte de cima da janela de navegação.
Tarefa 7: registros no Cloud Storage
É 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:
- No console do Cloud, no Menu de navegação, clique em Cloud Storage.
- Encontre o bucket com o nome
stackdriver-gke-logging-<random-Id>
e clique nele. - Infelizmente, a propagação dos coletores para o Cloud Storage leva um tempo. Por isso, é provável que os detalhes do registro não apareçam no seu bucket.
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.
Tarefa 8: registros no BigQuery
É 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:
- No Menu de navegação, na seção "Big Data", clique em BigQuery se a caixa de mensagem
Welcome to BigQuery in the Cloud Console
for aberta. Clique em Concluído. - No menu à esquerda, clique no nome do seu projeto. Um conjunto de dados chamado gke_logs_dataset vai aparecer. Abra esse conjunto de dados para conferir as tabelas. Observação: o conjunto de dados é criado imediatamente, mas as tabelas são geradas conforme os registros são gravados e de acordo com a necessidade.
- Clique em uma das tabelas para conferir os detalhes.
- No esquema da tabela, observe os nomes e os tipos de dados das colunas. Você vai usar essas informações na próxima etapa para consultar os dados na tabela.
- Clique em Consulta > Em uma nova guia no canto superior direito para fazer uma consulta personalizada na tabela.
- Uma consulta é adicionada ao editor de consultas, mas ela contém um erro de sintaxe.
- Na consulta, adicione um asterisco (*) após Select para extrair todos os detalhes da tabela atual. Observação: em geral, não recomendamos usar a consulta
Select *
por ser muito cara. Neste laboratório, o conjunto de dados é limitado apenas a uma hora de registros, por isso é relativamente pequeno. - Clique em Executar para executar a consulta e recuperar alguns resultados da tabela.
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.
Testar a tarefa concluída
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.
Tarefa 9: eliminação
- Embora o Qwiklabs se encarregue de desativar todos os recursos usados no laboratório, saiba como limpar seu ambiente para reduzir o custo e ser um bom usuário da nuvem:
Como o Terraform monitora todos os recursos que criou, ele pode eliminar tudo.
Tarefa 10: solução de problemas no seu ambiente de produção
Ocorre uma falha no script de instalação com a mensagem 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
.
O bucket do Cloud Storage não foi preenchido
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.
Nenhuma tabela foi criada no conjunto de dados do BigQuery
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.
Parabéns
Terminar a Quest
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.
Próximas etapas / Saiba mais
- Geração de registros do Kubernetes Engine
- Como visualizar registros
- Filtros de registro avançados
- Visão geral das exportações de registros
- Como processar registros em escala usando o Cloud Dataflow
- Provedor do Google Cloud do Terraform (link em inglês)
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 18 de outubro de 2023
Laboratório testado em 20 de outubro de 2023
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.