Cloud Logging

Esta página explica como usar o Cloud Logging para coletar e consultar registros de clusters do Google Kubernetes Engine (GKE).

Visão geral

Quando o Logging está ativado no cluster, seus registros são mantidos em um armazenamento de dados permanente e dedicado. O projeto do Google Cloud inclui vários registros que são relevantes a um cluster do GKE. Isso inclui o registro de atividades do administrador, de acesso a dados e de eventos.

Um registro é um conjunto de entradas de registro, e cada uma delas se aplica a um determinado tipo de recurso. Estes são os tipos de recursos mais relevantes para os clusters do GKE:

Tipo de recurso Nome de exibição
k8s_cluster Cluster do Kubernetes
gke_cluster Operações de cluster do GKE
gke_container Contêiner do GKE
gke_nodepool Operações de pool de nós do GKE

Para informações detalhadas sobre entradas de registro que se aplicam aos tipos de recursos do cluster do Kubernetes e às operações do cluster do GKE, consulte Registro de auditoria.

O próprio GKE armazena os registros, mas eles não são mantidos permanentemente. Por exemplo, os registros de contêiner do GKE são removidos quando o pod de host é removido, quando o disco no qual eles são armazenados fica sem espaço ou quando eles são substituídos por registros mais recentes. Os registros do sistema são periodicamente removidos para liberar espaço para novos. Os eventos de cluster são removidos após uma hora.

Em contêineres e registros do sistema, o GKE implanta um agente de geração de registros por nó que lê registros de contêineres, adiciona metadados úteis e os armazena. O agente de geração de registros verifica se há registros de contêiner nas fontes abaixo:

  • Saídas e registros de erros padrão de processos em contêiner
  • kubelet e registros de ambiente de execução do contêineres
  • Registros de componentes do sistema, como scripts de inicialização de VM

Para eventos, o GKE usa uma implantação no namespace kube-system que coleta eventos automaticamente e os envia ao Logging.

O Logging é compatível com o formato JSON. Os registros ficam armazenados por até 30 dias.

Antes de começar

Prepare-se para a tarefa seguindo essas etapas:

  • Verifique se você ativou a API do Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região do Compute padrão:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize gcloud para a versão mais recente:
    gcloud components update
    • Siga o Guia de início rápido do Cloud Logging.

    Como ativar o Logging

    É possível criar um cluster com o Logging ativado ou habilitá-lo em um cluster atual.

    Como criar um cluster com o Logging

    gcloud

    Quando você cria um cluster, a sinalização --enable-cloud-logging é definida automaticamente. Isso ativa o Logging no cluster.

    Para desativar esse comportamento padrão, defina a sinalização --no-enable-cloud-logging.

    Console

    1. No Console do Cloud, acesse a página Kubernetes Engine > Clusters do Kubernetes:

      Acessar os clusters do Kubernetes

    2. Clique em Criar cluster.

    3. Configure o cluster conforme necessário.

    4. Clique em Opções avançadas. Na seção Recursos extras, ative o serviço do Stackdriver Logging.

    5. Clique em Criar.

    Como ativar o Logging para um cluster atual

    gcloud

    Para ativar o Logging para um cluster atual, execute o comando abaixo, em que [CLUSTER_NAME] é o nome do cluster.

    gcloud container clusters update [CLUSTER_NAME] --logging-service logging.googleapis.com

    Console

    1. No Console do Cloud, acesse a página Kubernetes Engine > Clusters do Kubernetes:

      Acessar os clusters do Kubernetes

    2. Clique em Editar.

    3. Defina o valor da lista suspensa Stackdriver Logging como Ativado.

    4. Clique em Salvar.

    Como visualizar registros

    É possível ver os registros no Visualizador de registros do Stackdriver no Console do Google Cloud.

    Para saber mais sobre a visualização de registros, incluindo como criar consultas básicas e avançadas, consulte Como visualizar registros na documentação do Logging.

    Consultas de exemplo

    • Registros de consulta dos pods rotulados como nginx-deployment:

      resource.type="container"
      resource.labels.pod_id:"nginx-deployment-"
    • Registros de consulta no namespace prod com gravidade WARNING ou superior:

      resource.type="container"
      resource.labels.namespace_id="prod"
      severity>WARNING

      Para mais informações sobre os níveis de gravidade, consulte Log Severity.

    • Registros de consulta de um contêiner específico, my-container, em um pod específico, my-pod, com um payload de texto:

      resource.type="container"
      resource.labels.container_name="my_container"
      resource.labels.pod_id="my_pod"
      textPayload:"abracadabra"

    Limitações

    As entradas de várias linhas (entradas com caracteres de avanço de linha) podem não ser processadas corretamente. Para evitar esse problema, incorpore seus registros em objetos JSON de uma única linha.

    Como desativar a geração de registros

    gcloud

    Para desativar o Logging e o Monitoring legados de um cluster atual, execute o seguinte comando, em que [CLUSTER_NAME] é o nome do cluster.

    gcloud beta container clusters update [CLUSTER_NAME] --logging-service none

    Ao executar o Cloud Operations para GKE no cluster, é preciso desativar o monitoramento e a geração de registro. Para isso, use o gcloud beta beta para definir os seguintes sinalizadores em seu cluster:

    gcloud beta container clusters update [CLUSTER_NAME] --logging-service none --monitoring-service none

    Console

    1. No Console do Cloud, acesse a página Kubernetes Engine > Clusters do Kubernetes:

      Acessar os clusters do Kubernetes

    2. Clique em Editar para o cluster que você quer alterar.

    3. Defina o valor da lista suspensa do Stackdriver Logging como Desativado.

    4. Clique em Salvar.

    A seguir