Vous pouvez écrire des journaux dans Cloud Logging à partir d'applications PHP en utilisant directement la bibliothèque Cloud Logging pour PHP.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
Si vous déployez votre application sur App Engine ou utilisez les bibliothèques propres à App Engine, définissez votre ressource sur Application GAE.
Si vous déployez votre application sur Compute Engine, définissez la ressource sur Instance de VM GCE.
Si vous déployez votre application sur Google Kubernetes Engine, la configuration de la journalisation de votre cluster détermine le type de ressource des entrées de journal. Pour en savoir plus sur les solutions Kubernetes Monitoring de l'ancienne Google Cloud Observability et de Google Cloud Observability, ainsi que sur l'incidence de ces options sur le type de ressource, consultez la page Migrer vers Google Cloud Observability Kubernetes Monitoring.
Si votre application utilise directement l'API Cloud Logging, la ressource dépend de l'API et de votre configuration. Par exemple, dans votre application, vous pouvez spécifier une ressource ou utiliser une ressource par défaut.
Si aucun journal ne s'affiche dans l'explorateur de journaux, passez en mode de requête avancée et utilisez une requête vide pour voir toutes les entrées de journal.
- Pour passer en mode de requête avancée, cliquez sur le menu (▾) en haut de l'explorateur de journaux, puis sélectionnez Convertir en filtre avancé.
- Effacez le contenu qui apparaît dans le champ de filtre.
- Cliquez sur Envoyer le filtre.
Vous pouvez examiner les entrées individuelles pour identifier vos ressources.
Installation de la bibliothèque Cloud Logging pour PHP
La bibliothèque Cloud Logging pour PHP fournit une simple implémentation de l'enregistreur PSR-3 pour les frameworks Web PHP.
Pour écrire des journaux à partir de votre application, ajoutez la bibliothèque Cloud Logging pour PHP à votre fichier composer.json :
composer require google/cloud-logging
Créer un enregistreur PSR-3
Utilisez le code suivant pour créer un enregistreur PSR-3 :
Activer l'option de traitement par lots
L'enregistreur PSR-3 écrit dans les journaux en mode synchrone. Chaque écriture dans le journal rajoute de la latence RPC à la requête de l'utilisateur. S'il y en a plusieurs dans la même requête, la latence induite devient non négligeable, phénomène que vous voudrez probablement éviter.
Le code suivant crée un enregistreur PSR-3 qui va regrouper plusieurs journaux en un seul appel RPC :
Par défaut, cet enregistreur regroupe les journaux dans un seul processus. Dans l'environnement flexible App Engine, vous pouvez configurer la bibliothèque Cloud Logging pour PHP pour un débit encore plus élevé et une latence plus faible. Pour plus d'informations, consultez la section Configurer le daemon de journalisation.
Configuration de la bibliothèque Cloud Logging pour PHP
Vous pouvez personnaliser le comportement de la bibliothèque Cloud Logging pour PHP. Consultez le document de configuration pour obtenir la liste des options de configuration possibles.
Utiliser l'enregistreur PSR-3
Une fois que l'enregistreur est créé, vous pouvez l'utiliser dans votre application :
Pour plus d'informations sur l'installation, consultez la documentation de la bibliothèque Cloud Logging pour PHP. Vous pouvez également signaler d'éventuels problèmes à l'aide de l'outil de suivi des problèmes.
Écrire des journaux avec la bibliothèque cliente Cloud Logging
Pour savoir comment utiliser directement la bibliothèque cliente Cloud Logging pour PHP, consultez la page Bibliothèques clientes Cloud Logging.
Exécuter sur Google Cloud
Pour qu'une application puisse écrire des journaux à l'aide de la bibliothèque Cloud Logging pour PHP, le compte de service de la ressource sous-jacente doit disposer du rôle Rédacteur de journaux (roles/logging.logWriter
) IAM.
La plupart des environnements Google Cloud configurent automatiquement le compte de service par défaut pour qu'il dispose de ce rôle.
App Engine
Cloud Logging est automatiquement activé pour App Engine et le compte de service par défaut de votre application dispose des autorisations IAM par défaut permettant d'écrire des entrées de journal.
Pour en savoir plus, consultez Écrire et afficher des journaux.
Cependant, nous vous recommandons d'utiliser l'enregistreur PSR-3 qui ajoute automatiquement des métadonnées à vos journaux, afin que ceux de votre application soient corrélés aux journaux de la requête.
Configurer le daemon pour l'environnement flexible App Engine
Dans l'environnement flexible App Engine, vous pouvez configurer la bibliothèque Cloud Logging pour PHP afin qu'elle utilise un programme daemon externe pour optimiser le débit des journaux et minimiser la latence de l'application. Pour activer cette fonctionnalité, ajoutez la ligne suivante à la section runtime_config
dans app.yaml
:
Google Kubernetes Engine (GKE)
GKE attribue automatiquement le rôle IAM Rédacteur de journaux (roles/logging.logWriter
) au compte de service par défaut.
Si vous utilisez Workload Identity Federation for GKE avec ce compte de service par défaut pour permettre aux charges de travail d'accéder à des APIGoogle Cloud spécifiques, aucune configuration supplémentaire n'est requise.
Toutefois, si vous utilisez la fédération d'identité de charge de travail pour GKE avec un compte de service IAM personnalisé, assurez-vous que ce compte dispose du rôle "Rédacteur de journaux" (roles/logging.logWriter
).
Si nécessaire, vous pouvez également utiliser la commande suivante pour ajouter le niveau d'accès logging.write
lors de la création du cluster :
gcloud container clusters create example-cluster-name \
--scopes https://www.googleapis.com/auth/logging.write
Compute Engine
Lorsque vous utilisez des instances de VM Compute Engine, ajoutez le niveau d'accès cloud-platform
à chaque instance. Lorsque vous créez une instance via la consoleGoogle Cloud , vous pouvez le faire dans la section Identité et accès à l'API du panneau Créer une instance. Utilisez le compte de service par défaut de Compute Engine ou un autre compte de service de votre choix, puis sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud dans la section Identité et accès à l'API. Quel que soit le compte de service sélectionné, vérifiez qu'il dispose du rôle Rédacteur de journaux dans la section IAM et administration de la consoleGoogle Cloud .
Exécuter en local et depuis un autre emplacement
Pour utiliser la bibliothèque Cloud Logging pour PHP en dehors de Google Cloud, y compris pour exécuter la bibliothèque sur votre propre poste de travail, sur les ordinateurs de votre centre de données ou sur les instances de VM d'un autre fournisseur de cloud, vous devez configurer les Identifiants par défaut de l'application (ADC) dans votre environnement local pour vous authentifier auprès de la bibliothèque Cloud Logging pour PHP.
Pour en savoir plus, consultez Configurer les ADC pour un fournisseur sur site ou un autre fournisseur cloud.
Afficher les journaux
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Dans l'explorateur de journaux, vous devez spécifier une ou plusieurs ressources, mais leur sélection peut ne pas être évidente. Voici quelques conseils pour vous aider à faire vos premiers pas :
Pour en savoir plus, consultez Utiliser l'explorateur de journaux.