Cette page décrit les journaux disponibles lors de l'utilisation de Cloud Run for Anthos sur Google Cloud et explique comment les afficher et les écrire.
Cloud Run for Anthos sur Google Cloud comporte deux types de journaux qui sont automatiquement envoyés à Cloud Logging :
- Journaux de requête : journaux des requêtes envoyées aux services Cloud Run for Anthos sur Google Cloud. Ces journaux sont créés automatiquement.
- Journaux de conteneur : journaux émis par les instances de conteneur, généralement à partir de votre propre code, écrits dans les emplacements compatibles, comme décrit dans la section Écrire des journaux de conteneur.
Afficher les journaux
Vous pouvez afficher les journaux de votre service de plusieurs manières :
- Utiliser la page "Cloud Run for Anthos sur Google Cloud" dans Cloud Console
- Utiliser la visionneuse de journaux de Cloud Logging dans Cloud Console
Ces deux méthodes de visualisation vous permettent d'examiner les mêmes journaux stockés dans Cloud Logging, mais la visionneuse de journaux de Cloud Logging fournit plus de détails et davantage de fonctionnalités de filtrage.
Afficher les journaux dans Cloud Run for Anthos sur Google Cloud
Pour afficher les journaux sur la page "Cloud Run for Anthos sur Google Cloud", procédez comme suit :
Cliquez sur le service souhaité dans la liste affichée.
Cliquez sur l'onglet JOURNAUX pour obtenir les journaux de requête et de conteneur pour toutes les révisions de ce service. Vous pouvez filtrer les journaux par niveau de gravité.
Afficher les journaux dans Cloud Logging
Pour afficher vos journaux Cloud Run for Anthos sur Google Cloud dans la visionneuse de journaux Cloud Logging, procédez comme suit :
Accédez à la page "Visionneuse de journaux" dans Cloud Console :
Sélectionnez un projet Google Cloud existant en haut de la page ou créez-en un.
À l'aide des menus déroulants, sélectionnez la ressource : Conteneur Kubernetes.
Pour plus d'informations, consultez la page Afficher les journaux de la console Logging de la suite des opérations Google Cloud.
Afficher les journaux dans Cloud Code
Pour afficher vos journaux dans Cloud Code, consultez les guides IntelliJ et Visual Studio Code.
Lire les journaux de manière automatisée
Si vous souhaitez lire les journaux de manière automatisée, vous pouvez utiliser l'une des méthodes suivantes :
- Utilisez un récepteur pour envoyer les journaux à Pub/Sub et un script pour les extraire de Pub/Sub.
- Appelez l'API Logging via les bibliothèques clientes de votre langage de programmation.
- Appelez directement les points de terminaison REST de l'API Logging.
Écrire des journaux de conteneur
Lorsque vous écrivez des journaux à partir de votre service, ils sont automatiquement récupérés par Cloud Logging à condition qu'ils soient écrits dans l'un des emplacements suivants :
- Flux de sortie standard (
stdout
) ou d'erreur standard (stderr
) - Tous les fichiers du répertoire
/var/log
- syslog (
/dev/log
) - Journaux écrits à l'aide des bibliothèques clientes Cloud Logging, disponibles dans de nombreux langages couramment utilisés
La plupart des développeurs sont censés écrire des journaux à l'aide des flux de résultat standard et d'erreur standard.
Les journaux de conteneur écrits dans ces emplacements compatibles sont automatiquement associés au service, à la révision et à l'emplacement Cloud Run for Anthos sur Google Cloud.
Corréler les journaux de conteneur avec un journal de requête
Dans la visionneuse de journaux, les journaux corrélés par la même propriété trace
sont visualisables au format "parent-enfant". Lorsque vous cliquez sur l'icône en forme de triangle située à gauche de l'entrée de journal de requête, les journaux de conteneur associés à cette requête sont imbriqués sous le journal de requête.
Les journaux de conteneur ne sont pas automatiquement corrélés avec les journaux de requête, sauf si vous utilisez une bibliothèque cliente Cloud Logging.
Pour mettre en corrélation des journaux de conteneur avec des journaux de requête sans utiliser de bibliothèque cliente, vous pouvez utiliser une ligne de journal JSON structurée contenant un champ logging.googleapis.com/trace
avec l'identifiant de trace extrait de l'en-tête X-Cloud-Trace-Context
, comme indiqué dans l'exemple ci-dessus pour la journalisation structurée.
Contrôler l'utilisation des ressources de journal de requête
Les journaux de requête sont créés automatiquement. Bien que vous ne puissiez pas contrôler la quantité de journaux de requête directement à partir de Cloud Run for Anthos sur Google Cloud, vous pouvez utiliser la fonctionnalité d'exclusion de journaux de Cloud Logging.
Remarque concernant les agents de journalisation
Si vous avez utilisé Cloud Logging avec certains produits Google Cloud, tels que Compute Engine, vous avez peut-être utilisé des agents de journalisation Cloud Logging. Cloud Run for Anthos sur Google Cloud n'utilise pas d'agents de journalisation, car il possède une compatibilité intégrée avec la collecte de journaux.
Ressource de journalisation
Lorsque vous cliquez sur une entrée de journal dans la visionneuse de journaux, une entrée de journal au format JSON s'ouvre. Vous pouvez ainsi accéder aux informations dont vous avez besoin.
Tous les champs d'une entrée de journal, tels que les horodatages, la gravité et httpRequest
, sont standards. Ils sont décrits dans la documentation concernant les entrées de journal.
Cependant, certains libellés ou libellés de ressources sont spécifiques à Cloud Run for Anthos sur Google Cloud. Nous les avons répertoriés ci-dessous avec des exemples de contenu :
{
httpRequest: {…}
insertId: "5c82b3d1000ece0000000000"
labels: {
instanceId: "00bf4bf00000fb59c906a00000c9e29c2c4e06dce91500000000056008d2b6460f163c0057b97b2345f2725fb2423ee5f0bafd36df887fdb1122371563cf1ff453717282afe000001"
}
logName: "projects/my-project/logs/kuberun/.googleapis.com%2Frequests"
receiveTimestamp: "2019-03-08T18:26:25.981686167Z"
resource: {
labels: {
configuration_name: "myservice"
location: "us-central1"
project_id: "my-project"
revision_name: "myservice-00002"
service_name: "myservice"
}
type: "k8s_container"
}
severity: "INFO"
timestamp: "2019-03-08T18:26:25.970397Z"
}
Champ | Valeurs et notes |
---|---|
instanceId |
Instance de conteneur qui a traité la requête. |
logName |
Identifie le journal, par exemple, le journal de requête, l'erreur standard, le résultat standard, etc. |
configuration_name |
Ressource Configuration qui a créé la révision et répondu à la requête. |
location |
Identifie l'emplacement GCP du service. |
project_id |
Projet sur lequel le service est déployé. |
revision_name |
Révision qui a desservi la requête. |
service_name |
Service qui a desservi la requête. |
type |
k8s_container . Type de ressource Cloud Run for Anthos sur Google Cloud. |