Configura Stackdriver Logging para PHP

Puedes escribir registros en Stackdriver Logging de forma directa desde las aplicaciones de PHP con la biblioteca de Stackdriver Logging para PHP.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a GCP project.

    Go to the Project selector page

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Stackdriver Logging API necesarias.

    Habilita las API

Instala la biblioteca de Stackdriver Logging para PHP

La biblioteca de Stackdriver Logging para PHP proporciona una implementación de registrador PSR-3 simple para los marcos de trabajo web de PHP.

A fin de escribir registros desde tu app, agrega la biblioteca de Stackdriver Logging para PHP a tu composer.json:

composer require google/cloud-logging

Crea un registrador PSR-3

Usa el siguiente código para crear un registrador PSR-3:

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

Habilita la opción de agrupación por lotes

El registrador PSR-3 envía los registros de forma sincronizada. Esto significa que cuando emitas un registro, agregará latencia de RCP a la solicitud del usuario. En particular, si emites varios registros en una sola solicitud, la latencia agregada será significativa. Es probable que quieras evitar eso.

El siguiente código crea un registrador PSR-3 que agrupará por lotes a varios registros en una sola llamada RCP:

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

De forma predeterminada, este registrador agrupa a los registros dentro de un solo proceso. En el entorno flexible de App Engine, puedes configurar la biblioteca de Stackdriver Logging para PHP incluso para una capacidad de procesamiento más grande y menor latencia. Para obtener más información, consulta Configura el daemon de registro.

Configura la biblioteca de Stackdriver Logging para PHP

Puedes personalizar el comportamiento de la biblioteca de Stackdriver Logging para PHP. Consulta el documento de configuración si quieres obtener una lista de las opciones de configuración posibles.

Usa el registrador PSR-3

Una vez que se crea el registrador, puedes usar el registrador en tu aplicación:

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

Si deseas obtener más información sobre la instalación, consulta la documentación de la biblioteca de Stackdriver Logging para PHP. También puedes informar sobre problemas con seguimiento de problemas.

Usa la biblioteca cliente de Cloud directamente

Si deseas obtener información sobre el uso de la biblioteca cliente de Cloud en Stackdriver Logging para PHP de forma directa, consulta Bibliotecas cliente de Stackdriver Logging.

Ejecuta en Google Cloud Platform

Usar la biblioteca de Stackdriver Logging para PHP requiere la función de Escritor de registros de Cloud IAM en GCP. La mayoría de los entornos de GCP proporcionan esta función de forma predeterminada.

App Engine

App Engine otorga la función de Escritor de registros de forma predeterminada.

La biblioteca de Stackdriver Logging para PHP se puede usar sin tener que proporcionar credenciales de forma explícita.

Stackdriver Logging se habilita de forma automática para las aplicaciones de App Engine. No se requiere ninguna configuración adicional.

Sin embargo, te recomendamos que uses el registrador PSR-3 que agrega a tus registros metadatos de forma automática para que los registros de tu aplicación estén correlacionados con los registros de solicitud.

Configura el daemon para el entorno flexible de App Engine

En el entorno flexible de App Engine puedes configurar la biblioteca de Stackdriver Logging para PHP de modo que use un programa daemon externo y así maximizar la capacidad de procesamiento de registro y minimizar la latencia de la app. Para habilitar esta característica, agrega la siguiente línea a la sección runtime_config en app.yaml:

enable_stackdriver_integration: true

Google Kubernetes Engine

En Google Kubernetes Engine, debes agregar el nivel de acceso logging.write cuando creas el clúster:

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

Compute Engine

Cuando uses las instancias de VM de Compute Engine, agrega el nivel de acceso cloud-platform a cada instancia. Cuando creas una instancia nueva mediante Google Cloud Platform Console, puedes hacer esto en la sección Identidad y acceso a la API del panel Crear instancia. Usa la cuenta de servicio predeterminada de Compute Engine o una cuenta de servicio diferente y selecciona Permitir acceso total a las API de Cloud en la sección Identidad y acceso a la API. Sin importar la cuenta de servicio que selecciones, asegúrate de que se le otorgue la función de Escritor de registros en la sección IAM y Administración de GCP Console.

Ejecuta de forma local y en otros lugares

A fin de usar la biblioteca de Stackdriver Logging para PHP fuera de GCP, debes proporcionar tu ID del proyecto de GCP y las credenciales correspondientes de tu cuenta de servicio directamente a la biblioteca de Stackdriver Logging para PHP. Esto se aplica a la ejecución del agente en tu estación de trabajo, en las computadoras de tus centros de datos o en las instancias de VM de otros proveedores de servicios en la nube. Para obtener más información, consulta Obtén y proporciona credenciales de cuenta de servicio de forma manual.

Mira los registros

Después de la implementación, podrás ver los registros en el visor de registros de GCP Console.

Ir al visor de registros

Para obtener más información, consulta Visualiza los registros.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Stackdriver Logging
Si necesitas ayuda, visita nuestra página de asistencia.