Guia de início rápido sobre o uso do SDK do Cloud.

Neste guia rápido, apresentamos alguns dos recursos do Stackdriver Logging e mostramos como:

  • gravar entradas de registro usando o SDK do Cloud;
  • visualizar e filtrar entradas de registro usando o Visualizador de registros;
  • listar entradas de registro usando o SDK do Cloud;
  • listar entradas de registro usando a API Logging.

Antes de começar

Você precisa ter um projeto do Google Cloud Platform com o faturamento ativado para concluir este guia de início rápido. Caso você não tenha um projeto do GCP ou não tenha o faturamento ativado para o projeto, faça o seguinte:
  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. Selecione ou crie um projeto do GCP.

    Acessar a página Gerenciar recursos

  3. Verifique se o faturamento foi ativado para o projeto.

    Saiba como ativar o faturamento

Primeiros passos

Use o ambiente do Cloud Shell ou uma instância de VM do Compute Engine para os comandos do SDK do Cloud neste guia de início rápido.

Cloud Shell

  1. O SDK do Cloud está pré-instalado no ambiente do Cloud Shell. Você não precisa instalar ou configurar nenhum outro software.

  2. Abra o Cloud Shell e verifique a configuração do projeto:

    1. No Console do GCP, clique no botão Ativar o Cloud Shell no canto superior direito:

      Ativar o Cloud Shell

      O Cloud Shell é aberto em uma janela e exibe uma mensagem de boas-vindas:

      Bem-vindo ao Cloud Shell

    2. A mensagem de boas-vindas exibe o código do projeto configurado. Se esse não for o projeto que você quer usar, execute o seguinte comando depois de substituir [PROJECT_ID] pelo código do projeto:

       gcloud config set project [PROJECT_ID]
      

Instância da VM

  1. Crie uma instância de VM do Compute Engine.

    1. No Console do GCP, selecione Compute Engine > Instâncias de VM. Selecione Criar. Se você vir a mensagem abaixo, aguarde até o Compute Engine estar pronto:

      Preparação do Compute

    2. No painel Identidade e acesso à API, selecione Definir acesso para cada API. Role a tela para baixo percorrendo as listagens no novo painel até você encontrar a API Stackdriver Logging. Altere o acesso de Somente gravação para Total:

      Preparação do Compute

    3. Deixe todas as outras configurações nos valores padrão e clique em Criar. Depois de um momento, a instância de VM estará pronta para seu uso.

  2. Para se conectar ao shell da instância de VM, acesse SSH > Abrir na janela do navegador. Depois de um momento, um shell do Debian GNU/Linux será aberto em uma janela exibindo uma mensagem de boas-vindas.

  3. O SDK do Cloud é pré-instalado na instância de VM do GCM. Verifique se o SDK do Cloud está configurado para o projeto do Compute Engine:

     gcloud config list
    
  4. Se o projeto listado não for o que você quer usar, execute o seguinte comando depois de substituir [PROJECT_ID] pelo código do projeto:

     gcloud config set project [PROJECT_ID]
    

Gravar entradas de registro usando o SDK do Cloud

A geração de registros aceita entradas de registro com dados estruturados e não estruturados. Os 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". Nos próximos passos, você usa o SDK do Cloud 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 em 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, você precisa incluir --payload-type=json. Se você omitir esse campo, o payload será interpretado como texto não estruturado.

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

Ver registros no Visualizador de registros

O Visualizador de registros é uma ferramenta para visualizar, filtrar e fazer o download das entradas de registro:

  1. Acesse a página "Visualizador de registros" no Console do Google Cloud Platform.

    Acessar a página "Visualizador de registros"

    A página "Visualizador de registros" é exibida:

    Visualizador de registros

    Verifique a barra de navegação do Google Cloud Platform e se certifique de que o projeto esteja selecionado. Use a lista suspensa do projeto para selecioná-lo, se necessário.

  2. Na lista suspensa do tipo de recurso, selecione Global para visualizar as entradas de registro que você escreveu:

    Visualizador de registros Global

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

  3. Para expandir uma entrada de registro, clique no botão Divulgação (arrow_right).

    Visualizador de registros

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

Para mais informações sobre os formatos de dados de entrada de registro, consulte Tipos de dados comuns a todos os registros.

Filtrar entradas de registro

É possível filtrar entradas de registro usando um campo de texto e com registros estruturados por chave e valor. Por exemplo, para exibir todas as entradas de registro que contenham o texto simple:

  1. Na caixa de filtro acima do seletor de registros, digite a string simple. A exibição mostra apenas a entrada de registro A simple entry.

  2. Depois de ver o registro, remova a string de filtro adicionada e clique no botão Atualizar (refresh) acima do seletor de registros. As entradas de registro são reexibidas na tela.

Para exibir todas as entradas de registro com dados estruturados que tenham uma chave de weather em que o campo value contenha partly:

  1. Alterne para o modo de filtro avançado ao clicar no botão Divulgação (arrow_drop_down) na extrema direita da caixa de filtro e ao selecionar Converter em filtro avançado.
  2. A caixa de filtro contém resource.type="global". Abaixo dessa linha, digite:

    jsonPayload.weather:partly
    
  3. Clique em Enviar filtro. O resultado é a única entrada de registro My second entry:

    Filtro avançado para entradas de registro

Para saber mais informações sobre filtros, consulte Filtros de registros avançados.

Listar entradas de registro usando o SDK do Cloud

Recupere entradas de registro do Logging e as exiba usando o SDK do Cloud. Por exemplo, para recuperar e exibir as entradas de log 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 API Explorer

Use o API Explorer para executar os métodos da API Logging sem gravar códigos. Para ler do Logging uma lista de entradas de registro:

  1. Na página de referência da API, procure o método de API entries.list:

    Acessar a página da API entries.list

  2. O widget do API Explorer é anexado à direita ou na parte inferior da página. Tem um cabeçalho Testar esta API. Copie e cole o texto a seguir no Corpo da solicitação. Antes de clicar em Executar, substitua PROJECT_ID.

      "resourceNames": [
        "projects/[PROJECT_ID]"
      ],
      "filter": "resource.type=global"
    

    Um exemplo de um corpo da solicitação preenchido com essas configurações é mostrado abaixo:

    Testar esta API

  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"
        }
      ]
    }
    

Solução de problemas

  • Os erros tipográficos e os nomes de campos desconhecidos resultam em comandos do SDK do Cloud preenchidos com mensagens de argumento inválido. Por exemplo, se você esquecer o ponto final em resource.type, isso resultará no erro:

     ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
    
  • Quando o Stackdriver Logging não tiver recebido as permissões de acesso necessárias, os comandos do SDK do Cloud serão concluídos com mensagens de permissão negada. Por exemplo, se uma instância de VM do Compute Engine estiver configurada com as configurações padrão da API Cloud, o comando list será concluído com um erro de permissão negada:

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

    Para resolver essa condição, modifique as permissões da instância da instância de VM do Compute Engine para conceder ao Stackdriver Logging a permissão de leitura:

    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 Stackdriver 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 autorização adicional, o API Explorer exibe uma mensagem ou um código do erro:

    • Código da resposta 200 e sem entradas: se a mensagem nextPageToken for exibida, ela indicará que a API Explorer não teve tempo para concluir a pesquisa. Adicione um pageToken à pesquisa, defina o valor como o mesmo indicado com a chave nextPageToken e repita o comando.
    • Código da resposta 400: o valor do filtro é inválido. Por exemplo, se você digitar incorretamente global como gloobal, a mensagem será Unsupported resource type: gloobal.
    • Código da resposta 404: o código da resposta é inválido. Verifique a ortografia do identificador de projeto.
    • Você pode ser solicitado a fazer login na conta do Google e permitir que o API Explorer acesse a conta.

Limpar

Para evitar cobranças na conta do GCP pelo uso de recursos neste guia de início rápido:

  1. (Opcional) Para excluir as entradas de registro criadas, execute o seguinte comando gcloud:

    gcloud logging logs delete my-test-log
    

    Se você não excluir as entradas de registro, elas expirarão e serão removidas. Consulte Política de cotas.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.