Extension Google Cloud Logging

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.

Version 2.0.2

Écrivez des entrées dans les journaux Cloud Logging.

Ce contenu fournit des informations de référence pour configurer et utiliser cette extension.

Prérequis

Avant d'utiliser cette extension à partir d'un proxy d'API, vous devez :

  1. Dans IAM, attribuez le rôle Logging > Rédacteur de journaux au membre du projet qui représentera votre extension dans le système Cloud Logging. Pour savoir comment attribuer des rôles, consultez Attribuer des rôles à un compte de service pour des ressources spécifiques. Pour en savoir plus sur les rôles Logging, consultez le guide du contrôle des accès.

  2. Utilisez la console Google Cloud pour générer une clé pour le compte de service.

  3. Utilisez le contenu du fichier JSON de clé obtenu lorsque vous ajoutez et configurez l'extension à l'aide de la documentation de référence sur la configuration.

Cette extension peut être appelée par une règle ExtensionCallout située dans PostClientFlow. Si vous souhaitez utiliser la règle ExtensionCallout pour appeler cette extension à partir d'un PostClientFlow, assurez-vous que l'indicateur features.allowExtensionsInPostClientFlow est défini sur true dans votre organisation.

  • Si vous êtes un client Apigee Edge pour le cloud public, vous devez contacter l'assistance Apigee Edge pour vous assurer que l'indicateur features.allowExtensionsInPostClientFlow est défini sur true dans votre organisation.

  • Si vous êtes un client Apigee Edge pour le cloud privé, utilisez l'API Update organization properties pour définir l'indicateur features.allowExtensionsInPostClientFlow sur true.

À propos de Cloud Logging

Cloud Logging fait partie de la suite d'opérations Google Cloud. Il comporte un espace de stockage de journaux, une interface utilisateur appelée explorateur de journaux et une API permettant une gestion programmatique des journaux. Avec Cloud Logging, vous pouvez lire et écrire des entrées de journal, rechercher et filtrer vos journaux, les exporter et créer des métriques basées sur les journaux.

L'extension Cloud Logging écrit des entrées dans le journal. Pour en savoir plus, consultez la documentation Cloud Logging.

Exemples

Les exemples suivants illustrent la configuration de la prise en charge des actions d'extension Cloud Logging à l'aide de la règle ExtensionCallout.

Journal global

La stratégie suivante écrit le message This is a test dans un journal appelé example-log dans la ressource globale Cloud. En pratique, vous incluez probablement le message dans une variable de flux dont vous définissez la valeur ailleurs dans le proxy d'API.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>cloud-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test."
    }]]></Input>
</ConnectorCallout>

Ce contenu fournit des informations de référence pour configurer et utiliser cette extension. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez Ajouter et configurer une extension.

Actions

log

Écrit un message dans le journal.

Cette action écrit une entrée de journal Cloud Logging. Les entrées de journal se composent de métadonnées et des données de l'entrée. Pour en savoir plus sur les entrées de journal, consultez la documentation de référence sur les entrées. Pour en savoir plus sur le contenu de la propriété metadata, consultez l'objet LogEntry dans la documentation Cloud Logging.

Syntaxe

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

Exemple : String

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

Exemple : JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

Paramètres de requête

Paramètre Description Type Valeur par défaut Obligatoire
logName Nom du journal auquel appartient cette entrée. Chaîne Aucun Oui
metadata Métadonnées concernant l'entrée de journal.
Pour en savoir plus et découvrir les options de configuration de type et labels dans metadata, consultez MonitoredResource.
JSON Aucun Non
message Données à utiliser comme valeur pour cette entrée de journal. Vous pouvez spécifier une chaîne ou utiliser JSON pour enregistrer un message plus structuré. Chaîne ou JSON Aucun Oui

Réponse

None si le message a été écrit dans le journal. Sinon, la requête renverra une erreur. Consultez également Déboguer une extension.

Documentation de référence sur la configuration

Utilisez les éléments suivants lorsque vous configurez et déployez cette extension pour l'utiliser dans des proxys d'API.

Propriétés d'extension courantes

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui

Propriétés de ce package d'extension

Spécifiez les valeurs des propriétés de configuration suivantes propres à cette extension.

Propriété Description Par défaut Obligatoire
projectId ID du projet Google Cloud dans lequel les journaux doivent être créés. Aucun Oui
credentials Lorsqu'il est saisi dans la console Apigee Edge, il s'agit du contenu du fichier de clé de votre compte de service. Lorsqu'il est envoyé à l'aide de l'API Management, il s'agit d'une valeur encodée en base64 générée à partir du fichier de clé du compte de service. Aucun Oui