Estensione Google Cloud Logging

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Versione 2.0.2

Scrivi voci nei log di Cloud Logging.

Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione.

Prerequisiti

Prima di utilizzare questa estensione da un proxy API, devi:

  1. In IAM, assegna il ruolo Logging > Logs Writer al membro del progetto che rappresenterà la tua estensione nel sistema Cloud Logging. Per istruzioni su come concedere i ruoli, vedi Concessione dei ruoli a un service account per risorse specifiche. Per saperne di più sui ruoli di logging, consulta la guida al controllo dell'accesso.

  2. Utilizza la console Google Cloud per generare una chiave per il service account.

  3. Utilizza i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento alla configurazione.

Questa estensione supporta la chiamata da parte di un criterio ExtensionCallout che si trova in PostClientFlow. Se vuoi utilizzare la policy ExtensionCallout per chiamare questa estensione da un PostClientFlow, assicurati che il flag features.allowExtensionsInPostClientFlow sia impostato su true nella tua organizzazione.

  • Se sei un cliente di Apigee Edge per il cloud pubblico, devi contattare l'assistenza Apigee Edge per assicurarti che il flag features.allowExtensionsInPostClientFlow sia impostato su true nella tua organizzazione.

  • Se sei un cliente di Apigee Edge for Private Cloud, utilizza l'API Aggiorna proprietà organizzazione per impostare il flag features.allowExtensionsInPostClientFlow su true.

Informazioni su Cloud Logging

Cloud Logging fa parte della suite operativa di Google Cloud. Include spazio di archiviazione per i log, un'interfaccia utente chiamata Esplora log e un'API per la gestione dei log in modo programmatico. Con Cloud Logging puoi leggere e scrivere voci di log, eseguire ricerche e applicare filtri nei log, esportarli e creare metriche basate su log.

L'estensione Cloud Logging scrive le voci nel log. Per saperne di più, consulta la documentazione di Cloud Logging.

Esempi

Gli esempi seguenti illustrano come configurare il supporto per le azioni di estensione di Cloud Logging utilizzando il criterio ExtensionCallout.

Log globale

La seguente policy scrive il messaggio This is a test in un log chiamato example-log nella risorsa globale Cloud. Nell'utilizzo effettivo, probabilmente il messaggio sarà contenuto in una variabile di flusso il cui valore è impostato altrove nel proxy 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>

Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione. Per i passaggi per configurare un'estensione utilizzando la console Apigee, vedi Aggiunta e configurazione di un'estensione.

Azioni

log

Scrive un messaggio nel log.

Questa azione scrive una voce di log di Cloud Logging. Le voci di log sono costituite da metadati e dai dati della voce. Per saperne di più sulle voci di log, consulta il riferimento alle voci. Per informazioni sui contenuti della proprietà metadata, consulta l'oggetto LogEntry nella documentazione di Cloud Logging.

Sintassi

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

Esempio: String

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

Esempio: JSON

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

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
logName Il nome del log a cui appartiene questa voce. Stringa Nessuno
metadata Metadati sulla voce di log.
Per ulteriori informazioni e opzioni sull'impostazione di type e labels in metadata, consulta MonitoredResource.
JSON Nessuno No
message I dati da utilizzare come valore per questa voce di log. Puoi specificare una stringa o utilizzare JSON per registrare un messaggio più strutturato. Stringa o JSON Nessuno

Risposta

None se il messaggio è stato scritto nel log. In caso contrario, la richiesta restituirà un errore. Vedi anche Eseguire il debug di un'estensione.

Riferimento alla configurazione

Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API.

Proprietà comuni delle estensioni

Per ogni estensione sono presenti le seguenti proprietà.

Proprietà Descrizione Predefinito Obbligatorio
name Il nome che assegni a questa configurazione dell'estensione. Nessuno
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno

Proprietà di questo pacchetto di estensioni

Specifica i valori per le seguenti proprietà di configurazione specifiche di questa estensione.

Proprietà Descrizione Predefinito Obbligatorio
projectId L'ID progetto Google Cloud in cui devono essere creati i log. Nessuno
credentials Se inserito nella console Apigee Edge, questo è il contenuto del file della chiave dell'account di servizio. Se inviato utilizzando l'API Management, è un valore codificato in base64 generato dal file delle chiavi del service account. Nessuno