Como configurar o Stackdriver Logging para PHP

É possível gravar registros diretamente no Stackdriver Logging por meio de aplicativos em PHP usando a biblioteca do Stackdriver Logging para PHP.

Antes de começar

  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

  4. Ativar Stackdriver Logging API.

    Ativar a API

Como instalar a biblioteca do Stackdriver Logging para PHP

A biblioteca do Stackdriver Logging para PHP oferece uma implementação de registrador PSR-3 simples para bibliotecas da Web do PHP.

Para registros a partir do seu aplicativo, adicione a biblioteca do Stackdriver Logging para PHP ao composer.json:

composer require google/cloud-logging

Como criar um registrador PSR-3

Use o código a seguir para criar um registrador PSR-3:

$logging = new LoggingClient([
    'projectId' => $projectId
]);
$logger = $logging->psrLogger('app');

Como ativar a opção de lote

O registrador PSR-3 envia os registros de maneira síncrona. Isso significa que, sempre que você emitir um registro, ele adicionará latência de RPC (remote procedure call) à solicitação do usuário. Se você emitir vários registros em uma única solicitação, a latência adicional será significativa. Portanto, o melhor é evitar isso.

O código a seguir cria um registrador PSR-3 que registrará em lote vários registros em uma única chamada RPC:

$logger = LoggingClient::psrBatchLogger('app');

Por padrão, esse registrador realiza um único processo para fazer registros em lote. No ambiente flexível do App Engine, configure a biblioteca do Stackdriver Logging para PHP para ter uma capacidade ainda maior e menos latência. Para ver detalhes, consulte Como configurar o daemon da geração de registros.

Como configurar a biblioteca de Stackdriver Logging para PHP

Personalize o comportamento da biblioteca do Stackdriver Logging para PHP. Consulte o documento de configuração para ver uma lista das opções possíveis.

Como usar o registrador PSR-3

Depois de criar o registrador, use-o no seu aplicativo:

$logger->info('Hello World');
$logger->error('Oh no');

Para mais informações sobre a instalação, consulte a documentação da biblioteca do Stackdriver Logging para PHP. Além disso, para informar erros, use o rastreador de problemas.

Como usar a biblioteca de cliente do Cloud diretamente

Para saber mais sobre como usar diretamente a biblioteca de cliente do Cloud do Stackdriver Logging para PHP, consulte esta página.

Como executar no Google Cloud Platform

O uso da biblioteca do Stackdriver Logging para PHP exige o papel de gravador de registros do Cloud IAM no GCP. A maioria dos ambientes do GCP oferece esse papel por padrão.

App Engine

O App Engine concede o papel de gravador de registros por padrão.

Use a biblioteca do Stackdriver Logging para PHP sem a necessidade de fornecer credenciais explicitamente.

O Stackdriver Logging é ativado automaticamente para aplicativos do App Engine. Nenhuma outra configuração é necessária.

No entanto, recomendamos usar o registrador PSR-3 porque ele adiciona metadados automaticamente aos registros. Dessa forma, os registros do aplicativo serão correlacionados aos da solicitação.

Como configurar o daemon para o ambiente flexível do App Engine

No ambiente flexível do App Engine, configure a biblioteca do Stackdriver Logging para PHP a fim de usar um programa de daemon externo e maximizar a capacidade do log e minimizar a latência do aplicativo. Para ativar esse recurso, adicione a linha abaixo à seção runtime_config em app.yaml:

enable_stackdriver_integration: true

Google Kubernetes Engine

No Google Kubernetes Engine, adicione o escopo de acesso logging.write ao criar o cluster:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Ao usar instâncias de VM do Compute Engine, adicione o escopo de acesso cloud-platform a cada instância. Ao criar uma nova instância por meio do Console do Google Cloud Platform, faça isso na seção de Identidade e acesso à API do painel Criar instância. Use a conta de serviço padrão do Compute Engine ou outra de sua escolha e selecione Permitir acesso total a todas as APIs do Cloud na seção Identidade e acesso à API. Seja qual for a conta de serviço selecionada, verifique se o papel de gravador de registros foi concedido a ela na seção IAM e administrador do Console do GCP.

Como executar localmente e em outro local

Para usar a biblioteca do Stackdriver Logging para PHP fora do Google Cloud Platform, o que inclui a execução da biblioteca na sua própria estação de trabalho, nos computadores do seu data center ou nas instâncias de VM de outro provedor de nuvem, você precisa fornecer o ID do projeto do GCP e as credenciais apropriadas da conta de serviço diretamente à biblioteca do Stackdriver Logging para PHP.

É possível criar e receber credenciais da conta de serviço manualmente. Ao especificar o campo Papel, use o papel de gravador de registros. Para mais informações sobre os papéis do Cloud Identity and Access Management, acesse o Guia de controle de acesso.

Como visualizar os registros

Após a implantação, você pode consultar os registros no visualizador de registros do Console do GCP.

Acessar o Visualizador de registros

No Visualizador de registros, é preciso especificar um ou mais recursos, mas a escolha de recursos pode não ser óbvia. Veja a seguir algumas dicas para ajudar você a começar:

  • Se você estiver implantando seu aplicativo no App Engine ou usando as bibliotecas específicas dele, defina seu recurso como aplicativo do GAE.

  • Se você estiver implantando seu aplicativo no Compute Engine, defina o recurso como Instância de VM do GCE.

  • Se você estiver implantando seu aplicativo no Google Kubernetes Engine, a configuração de geração de registros do cluster determinará o tipo de recurso das entradas de registro. Para ver uma discussão detalhada sobre as soluções do Stackdriver legado e do Stackdriver Kubernetes Monitoring e como essas opções afetam o tipo de recurso, consulte Como migrar para o Kubernetes Monitoring.

  • Se seu aplicativo estiver usando a API do Stackdriver Logging diretamente, o recurso dependerá da API e da sua configuração. Por exemplo, no seu aplicativo, é possível especificar um recurso ou usar um recurso padrão.

  • Se você não vir nenhum registro no Visualizador de registros, para ver todas as entradas de registro, alterne para o modo de filtro avançado e use um filtro vazio.

    1. Para alternar para o modo de filtro avançado, clique no menu (▾) na parte superior do Visualizador de registros e selecione Converter para filtro avançado.
    2. Limpe o conteúdo que aparece na caixa de filtro.
    3. Clique em Enviar filtro.

    É possível examinar as entradas individuais para identificar seus recursos.

Para mais informações, consulte Ver registros e Filtros de registro avançados.

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.