Como configurar o Cloud Logging para PHP

É possível gravar registros no Cloud Logging de aplicativos PHP usando a biblioteca do Cloud Logging para PHP diretamente.

Antes de começar

  1. Faça login na sua conta do Google.

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

  2. No Console do Cloud, na página do seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

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

  4. Ative a Cloud Logging API.

    Ative a API

Como instalar a biblioteca do Cloud Logging para PHP

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

Para registros a partir do aplicativo, adicione a biblioteca do Cloud 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 vai 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, é possível configurar a biblioteca do Cloud Logging para PHP para uma capacidade ainda maior e menor latência. Para ver detalhes, consulte Como configurar o daemon da geração de registros.

Como configurar a biblioteca do Cloud Logging para PHP

Personalize o comportamento da biblioteca do Cloud 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 Cloud Logging para PHP (em inglês). Além disso, use o rastreador de problemas (em inglês) para informá-los.

Como usar a biblioteca de cliente do Cloud diretamente

Para informações sobre como usar diretamente a biblioteca de cliente do Cloud Logging para PHP, consulte Bibliotecas de cliente do Cloud Logging (em inglês).

Como executar no Google Cloud

O uso da biblioteca do Cloud Logging para PHP requer o papel de gravador de registros do IAM no Google Cloud. A maioria dos ambientes do Google Cloud fornece esse papel por padrão.

App Engine

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

A biblioteca do Cloud Logging para PHP pode ser usada sem a necessidade de fornecer credenciais explicitamente.

O Cloud 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 Cloud 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 esta linha à seção runtime_config em app.yaml:

enable_stackdriver_integration: true

Google Kubernetes Engine

No Google Kubernetes Engine, você precisa adicionar 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, é possível adicionar o escopo na seção 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 completo a todas as APIs do Cloud na seção Identidade e acesso à API. Independentemente da conta de serviço selecionada, verifique se ela recebeu o papel de gravador de registros na seção IAM e administrador do Console do Cloud.

Execução local e em outro lugar

Para usar a biblioteca do Cloud Logging para PHP fora do Google Cloud (incluindo a execução da biblioteca na sua própria estação de trabalho, nos computadores do seu centro de dados ou nas instâncias de VM de outro provedor de nuvem), forneça o código do projeto do Google Cloud e as credenciais da conta de serviço apropriada diretamente para a biblioteca do Cloud 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 de gerenciamento de identidade e acesso, consulte o Guia de controle de acesso.

Como visualizar os registros

Após a implantação, é possível usar o visualizador de registros do Console do Cloud.

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 da 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 uma discussão detalhada sobre o pacote de operações do Google Cloud legado e as soluções do Kubernetes Monitoring do pacote de operações do Google Cloud, e sobre como essas opções afetam o tipo de recurso, consulte Como migrar para o Kubernetes Monitoring do pacote de operações do Google Cloud.

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

  • Se você não vir registros no visualizador, para ver todas as entradas, alterne para o modo de consulta avançada e use uma consulta vazia.

    1. Para alternar para o modo de consulta avançada, 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 Como visualizar registros e Consultas avançadas de registros.