Como usar o Cloud Logging com o Container-Optimized OS

A partir do marco 67, o Container-Optimized OS inclui o agente legado do Logging do pacote de operações do Google Cloud, que exporta registros do sistema e de contêineres para Cloud Logging Para mais detalhes, consulte a origem da configuração específica do Container-Optimized OS ou a documentação do pacote de operações do Google Cloud. Este documento se concentra em como usar o agente do Logging no Container-Optimized OS e como acessar os registros.

Como criar uma nova instância com o agente de geração de registros ativado

Console

Para executar uma instância do Compute Engine no Container-Optimized OS com o agente de geração de registros ativado, faça o seguinte:

  1. Abra a página de criação de instâncias do Compute Engine no Console do Google Cloud.

    Crie uma nova instância do Compute Engine

  2. Especifique um Nome para sua instância.

  3. Na seção Disco de inicialização, selecione uma imagem do Container-Optimized OS.

  4. Clique em Gerenciamento, segurança, discos, rede, locatário único para expandir as opções adicionais.

  5. Na guia Gerenciamento, role até a seção Metadados. Adicione uma nova entrada de metadados, com Key como google-logging-enabled e Value como true.

  6. Se quiser, especifique outras opções para seu caso de uso. Consulte Como criar e configurar instâncias para mais detalhes.

  7. Clique em Criar para criar e inicializar a instância.

gcloud

Para executar uma instância do Compute Engine no Container-Optimized OS com o agente de geração de registros ativado, use o comando gcloud compute instances create e inclua google-logging-enabled=true nos metadados. Exemplo:

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --zone compute-zone \
    --metadata google-logging-enabled=true

Substitua:

Para mais informações sobre o comando gcloud, consulte a documentação de referência da gcloud compute instances create. Para mais detalhes sobre como criar instâncias do Container-Optimized OS, consulte Como criar e configurar instâncias.

Como atualizar uma instância existente para ativar ou desativar o agente do Logging

Console

  1. Acesse a página "Instâncias de VMs".

    Acessar a página "Instâncias de VM"

  2. Clique no nome da instância do Container-Optimized OS que você quer atualizar.

  3. Clique em "Editar" na barra superior de Detalhes da instância de VM.

  4. Na seção Metadados personalizados, adicione uma nova entrada de metadados, com Chave como google-logging-enabled e Valor como true para ativar ou false para desativar.

  5. Clique em Save.

gcloud

Para ativar ou desativar o agente do Logging em uma instância atual, use o comando gcloud compute instances add-metadata:

gcloud compute instances add-metadata instance-name \
    --zone compute-zone \
    --metadata google-logging-enabled=enabled-value

Substitua:

  • enabled-value: true para ativar, false para desativar.
  • instance-name: o nome da instância de VM.
  • compute-zone: a zona de computação da instância.

Como acessar os registros

Console

  1. Acesse a página "Instâncias de VMs".

    Acessar a página "Instâncias de VM"

  2. Clique no nome da instância do Container-Optimized OS que você quer acessar.

  3. Na seção Registros, clique em "Cloud Logging".

  4. Isso abre o Explorador de registros para a instância especificada. Para mais informações, consulte Como usar o Explorador de registros.

gcloud

Para acessar os registros, use o comando gcloud logging read. Exemplo:

gcloud logging read \
"resource.type=gce_instance AND resource.labels.instance_id=instance-id" \
    --limit 10 \
    --format json \
    --freshness 30d

Substitua:

  • instance-id: o ID da sua instância de VM.

Esse comando tenta ler registros da instância de VM com instance-id, limitando-se a 10 registros, no formato JSON, dos últimos 30 dias.

Para mais informações sobre o comando gcloud, consulte a documentação de referência da gcloud logging read.

Limitações conhecidas

Compatibilidade com o driver gcplogs

A partir do marco 89, se o agente de geração de registros incluído no SO otimizado para contêineres estiver ativado e o driver de geração de registros gcplogs do Docker estiver ativado para um ou mais contêineres, o excesso registros de aviso podem ser emitidos pelo agente de registro incluído. Isso pode criar ruído de registro e/ou aumentar cobranças relacionadas ao Cloud Logging.

Uma solução alternativa é não usar gcplogs como um driver de geração de registros do Docker e, em vez disso, usar o driver padrão, conforme configurado pelo Container-Optimized OS. O agente de geração de registros incluído no Container-Optimized OS exportará os registros de contêineres para o Cloud Logging. Portanto, não é necessário usar as duas soluções simultaneamente.