Gravar e consultar entradas de registros com a gcloud CLI

Este documento apresenta alguns dos recursos do Cloud Logging e mostra como fazer o seguinte:

  • Gravar entradas de registro usando a Google Cloud CLI.
  • Listar entradas de registro usando a CLI gcloud.
  • listar entradas de registro usando a API Logging;
  • visualizar e consultar entradas de registros usando o Logs Explorer.

Antes de começar

Você precisa ter um projeto do Google Cloud com faturamento ativado para concluir este guia de início rápido. Se você não tem um projeto do Google Cloud ou não tem com o faturamento ativado para seu projeto do Google Cloud e faça o seguinte:
  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

Primeiros passos

A CLI gcloud tem um grupo de comandos, gcloud logging, que fornecem uma interface de linha de comando para a API Cloud Logging.

É possível usar o ambiente do Cloud Shell ou uma máquina virtual do Compute Engine (VM) para os comandos da CLI gcloud neste quickstart. A CLI gcloud vem pré-instalada do Cloud Shell.

Cloud Shell

Verifique se a CLI gcloud está configurada para usar Projeto do Google Cloud:

  1. No console do Google Cloud, clique em Ative o Cloud Shell:

    Captura de tela do botão do Cloud Shell no console do Google Cloud.

    O Cloud Shell é aberto em uma janela e exibe uma mensagem de boas-vindas: A mensagem de boas-vindas reflete o ID do projeto configurado:

    Captura de tela do Cloud Shell exibindo uma mensagem de recepção.

  2. Se você quiser usar um projeto do Google Cloud diferente listados na mensagem de boas-vindas e execute o comando a seguir substituindo PROJECT_ID pelo ID do projeto:

       gcloud config set project PROJECT_ID
       

    Para encontrar o ID do projeto, consulte Como identificar projetos.

Instância de VM

Para criar uma instância de VM do Compute Engine no console do Google Cloud: siga estas etapas:

  1. No console do Google Cloud, selecione Compute Engine e e selecione Instâncias de VM.

  2. Selecione Criar instância.

  3. Em Identidade e acesso à API, em Escopos de acesso, selecione Definir acesso para cada API

  4. Percorra a listagem até encontrar a API Stackdriver Logging. Mude o acesso para Full.

  5. Deixe todas as outras configurações com os valores padrão e clique em Criar. A instância da sua VM está pronta para uso.

  6. Clique em SSH para se conectar ao shell da instância de VM. Depois de um momento, um shell do Debian GNU/Linux é aberto em uma janela e exibe uma mensagem mensagem.

  7. Execute o comando a seguir para verificar se CLI gcloud está configurados para seu projeto do Compute Engine:

    gcloud config list
    
  8. Se quiser usar outro projeto do Google Cloud, execute o comando a seguir depois de substituir PROJECT_ID pelo seu ID do projeto:

      gcloud config set project PROJECT_ID
      

    Para encontrar o ID do projeto, consulte Como identificar projetos.

Gravar entradas de registro usando a CLI gcloud

A geração de registros aceita entradas de registro com dados estruturados e não estruturados. Dados estruturados consistem em uma estrutura de dados JSON. por exemplo, {"weather": "partly cloudy"}: Os dados não estruturados são uma string de caracteres (por exemplo, "A simple entry"). Nas próximas etapas, você vai usar a CLI gcloud para gravar uma entrada de registro com dados não estruturados e uma entrada de registro com dados estruturados:

  1. Grave uma entrada de registro com dados não estruturados no registro my-test-log:

    gcloud logging write my-test-log "A simple entry."
    

    Depois que o comando for concluído, você verá a mensagem: Created log entry.

  2. Grave uma entrada de registro com dados estruturados no registro my-test-log:

    gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
    

    Ao gravar uma entrada de registro com dados estruturados, é preciso incluir --payload-type=json. Se você omitir esse campo, o Logging interpreta o payload como dados não estruturados.

Se my-test-log não existir, o Logging criará o registro quando a entrada for recebida.

Listar entradas de registro usando a CLI gcloud

É possível recuperar as entradas de registro do Logging e exibi-las usando a CLI gcloud. Por exemplo, para recuperar e exibir o registro entradas com um tipo de recurso global, execute o seguinte comando:

gcloud logging read "resource.type=global"

O comando retorna um resultado semelhante ao seguinte:

---
insertId: jpj9zjf73t1mn
jsonPayload:
  message: My second entry
  weather: partly cloudy
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
resource:
  labels:
    project_id: myloggingproject
  type: global
timestamp: '2018-11-01T18:39:31.114507977Z'
---
insertId: vd4m1if7h7u1a
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
resource:
  labels:
    project_id: myloggingproject
  type: global
textPayload: A simple entry
timestamp: '2018-11-01T18:39:19.718100792Z'

Listar entradas de registro usando o APIs Explorer

Para executar métodos da API Logging sem escrever códigos, consulte Usar o APIs Explorer Para ler uma lista de entradas de registro do Logging, faça o seguinte:

  1. Acesse a página de referência da API sobre o método de API entries.list:

    Acessar a página da "API entries.list"

  2. Configure e execute o comando da API:

    1. Substitua PROJECT_ID no seguinte texto:

      "resourceNames": [
      "projects/PROJECT_ID"
      ],
      "filter": "resource.type=global",
      "orderBy": "timestamp desc"
      
    2. Copie o texto atualizado da etapa anterior e cole-o no campo Corpo da solicitação do APIs Explorer.

    3. Clique em Executar.

    O método retorna uma resposta semelhante à seguinte:

    {
      "entries": [
        {
          "textPayload": "A simple entry",
          "insertId": "vd4m1if7h7u1a",
          "resource": {
            "type": "global",
            "labels": {
              "project_id": "myloggingproject"
            }
          },
          "timestamp": "2018-11-01T18:39:19.718100792Z",
          "logName": "projects/myloggingproject/logs/my-test-log",
          "receiveTimestamp": "2018-11-01T18:39:19.718100792Z"
        },
        {
          "insertId": "jpj9zjf73t1mn",
          "jsonPayload": {
            "message": "My second entry",
            "weather": "partly cloudy"
          },
          "resource": {
            "type": "global",
            "labels": {
              "project_id": "myloggingproject"
            }
          },
          "timestamp": "2018-11-01T18:39:31.114507977Z",
          "logName": "projects/myloggingproject/logs/my-test-log",
          "receiveTimestamp": "2018-11-01T18:39:31.114507977Z"
        }
      ]
    }
    

Ver entradas de registro no Explorador de registros

Para conferir as entradas de registro no console do Google Cloud, use o Análise de registros. A maioria dos projetos do Google Cloud armazena muitos registros. é possível selecionar certas entradas de registro escrevendo uma consulta.

Para visualizar as entradas de registro que você gravou usando a Análise de registros, faça o seguintes:

  1. No console do Google Cloud, acesse a página Análise de registros:

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

    Verifique se o projeto do Google Cloud está selecionado no Google Cloud barra de navegação. Se necessário, use a lista suspensa do projeto do Google Cloud para selecionar seu projeto do Google Cloud.

  2. No menu Recurso, selecione Global.

    Se a opção de menu Global ou as entradas de registro não forem exibidas, aguarde alguns minutos e atualize a página. Pode demorar alguns minutos para o Logging receber entradas de registro.

  3. Para acessar os detalhes de uma entrada de registro, clique no Menu.

    A primeira entrada de registro tem os dados armazenados em textPayload. O segundo registro a entrada contém dados estruturados armazenados em jsonPayload. O o payload estruturado contém as chaves message e weather.

Para informações sobre o formato de dados das entradas de registro, consulte a Tipo LogEntry.

Consultar entradas de registro no Explorador de registros

É possível consultar entradas de registro usando o editor de consultas e, com registros estruturados, pela chave e pelo valor. Por exemplo, para exibir todas as entradas de registro que contêm o enviar a mensagem simple, faça o seguinte:

  1. No console do Google Cloud, acesse a página Análise de registros:

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. No menu Recurso, selecione Global.

  3. No Editor de consultas, insira a string simple entre aspas. Apenas a entrada de registro A simple entry. será exibida.

  4. Após visualizar o registro, remova a string de consulta adicionada e Clique em Executar consulta. As entradas de registro são reexibidas na tela.

Para mostrar todas as entradas de registro com dados estruturados que têm uma chave de weather em que o campo value contiver partly, faça o seguinte:

  1. O editor de consultas contém a linha resource.type="global". Digite este comando:

    jsonPayload.weather:partly
    
  2. Clique em Executar consulta. O resultado é a única entrada de registro My second entry.

O Explorador de registros também oferece consultas salvas, sugeridas e recentes. Para mais informações sobre consultas, acesse Criar consultas no Explorador de registros.

Para ver exemplos de consultas, veja Amostra de consultas usando o Explorador de registros.

Solução de problemas

  • Erros tipográficos e nomes de campos desconhecidos resultam na CLI gcloud completos com mensagens de argumentos inválidos. Por exemplo, se você esquecer o ponto em resource.type, ele resulta no erro:

     ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
    
  • Quando o Cloud Logging não tiver recebido as permissões de acesso necessárias, os comandos da CLI gcloud completos mensagens de permission denied. Por exemplo, se uma VM do Compute Engine estiver definida com as configurações padrão da API, então o list comando é concluído com um erro de permissão negada:

     ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
    

    Para corrigir essa condição, modifique sua instância de VM do Compute Engine para dar permissão de leitura ao Cloud Logging realizando o seguintes:

    1. Acesse a página Detalhes da instância de VM. Clique em Interromper. Essa ação pode levar um ou dois minutos para ser concluída.
    2. Para modificar a configuração, clique em Editar.
    3. Procure o cabeçalho Escopos de acesso da API Cloud e clique em Detalhes para exibir as configurações de cada API. Altere a entrada da API Cloud Logging para Total. Clique em Salvar.
    4. Para reiniciar a instância de VM, clique em Iniciar. Depois de alguns momentos, sua VM estará pronta para uso.
  • Quando não consegue concluir seu comando ou requer outras autorizações, as APIs Explorer exibe uma mensagem ou um código de erro:

    • Código de resposta 200 e nenhuma entrada: se a mensagem nextPageToken for exibido, isso indica que o APIs Explorer não teve tempo de para concluir a pesquisa. Adicione um pageToken à solicitação, defina o valor para ser o mesmo fornecido com a chave nextPageToken e, em seguida, tente executar o comando novamente.
    • Código de resposta 400: o valor da consulta é inválido. Por exemplo, se você digite global incorretamente como gloobal, então a mensagem será Unsupported resource type: gloobal
    • Código de resposta 404: o código do projeto é inválido. Verifique a ortografia do identificador de projeto.
    • Você pode ser solicitado a fazer login na conta do Google e permitir que as APIs Explorer acessem a conta.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. (Opcional) Para excluir as entradas de registro que você criou, execute o seguinte comando do gcloud:

    gcloud logging logs delete my-test-log
    

    Se você não excluir suas entradas de registro, elas expirarão e serão removidas. Para mais informações, consulte Cotas e limites.

A seguir