Estensione Google Cloud Logging

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Versione 1.6.1

Scrivi le voci nei log di Cloud Logging.

Questi contenuti forniscono 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 > Writer log al membro del progetto che rappresenterà l'estensione al sistema Cloud Logging. Per istruzioni su come concedere i ruoli, vedi Concessione di ruoli a un account di servizio per risorse specifiche. Per ulteriori informazioni sui ruoli di logging, consulta la guida al controllo dell'accesso.

  2. Utilizza la console Google Cloud per generare una chiave per l'account di servizio.

  3. Utilizza i contenuti del file JSON della chiave risultante durante l'aggiunta e la configurazione dell'estensione utilizzando il riferimento di configurazione.

Questa estensione supporta le chiamate da parte delle norme ExtensionCallout che si trovano in PostClientFlow. Se vuoi utilizzare il criterio 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 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 Apigee Edge per il cloud privato, 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, cercare e filtrare i log, esportare i log e creare metriche basate su log.

L'estensione Cloud Logging attualmente scrive le voci nel log. Per ulteriori informazioni, consulta la documentazione di Cloud Logging.

Samples

I seguenti esempi illustrano come configurare il supporto per le azioni dell'estensione Cloud Logging utilizzando il criterio ExtensionCallout.

Log globale

Il criterio seguente scrive il messaggio This is a test in un log denominato example-log nella risorsa globale Cloud. In uso, probabilmente il messaggio dovrebbe essere 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 riferimento per la configurazione e l'utilizzo di questa estensione. Per la procedura di configurazione di un'estensione utilizzando la console Apigee, consulta Aggiungere e configurare un'estensione.

Azioni

log

Scrive un messaggio nel log.

Questa azione scrive una voce di log di Cloud Logging. Le voci di log sono composte da metadati e dati voce. Per ulteriori informazioni sulle voci di log, consulta la sezione 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: stringa

<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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
logName Il nome del log a cui appartiene questa voce. Stringa Nessuno
metadata Metadati relativi alla voce di log.
Per ulteriori informazioni e opzioni sull'impostazione di type e labels in metadata, consulta MonitoredResource.
JSON Nessuno No
message Dati da utilizzare come valore per questa voce di log. Puoi specificare una stringa semplice 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 per la configurazione

Utilizza quanto segue durante la configurazione e il deployment di questa estensione per l'utilizzo nei proxy API.

Proprietà delle estensioni comuni

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à per questo pacchetto di estensioni

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

Proprietà Descrizione Predefinito Obbligatorie
projectId L'ID progetto Google Cloud in cui devono essere creati i log. Nessuno
credentials Una volta inseriti nella console Apigee Edge, questi saranno i contenuti del file della chiave dell'account di servizio. Quando viene inviato tramite l'API di gestione, si tratta di un valore con codifica Base64 generato dal file della chiave dell'account di servizio. Nessuno