Google Cloud Logging-Erweiterung

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Version 1.6.1

Schreiben Sie Einträge in Cloud Logging-Logs.

In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden.

Voraussetzungen

Bevor Sie diese Erweiterung von einem API-Proxy verwenden, müssen Sie:

  1. Weisen Sie in IAM dem Projektmitglied, das Ihre Erweiterung für das Cloud Logging-System darstellt, die Rolle Logging > Logautor zu. Eine Anleitung zum Zuweisen von Rollen finden Sie unter Einem Dienstkonto Rollen für bestimmte Ressourcen zuweisen. Weitere Informationen zu Logging-Rollen finden Sie in der Anleitung zur Zugriffssteuerung.

  2. Generieren Sie mit der Google Cloud Console einen Schlüssel für das Dienstkonto.

  3. Verwenden Sie den Inhalt der resultierenden JSON-Schlüssel-JSON-Datei beim Hinzufügen und Konfigurieren der Erweiterung mithilfe der Konfigurationsreferenz.

Diese Erweiterung unterstützt den Aufruf durch eine ExtensionCallout-Richtlinie in PostClientFlow. Wenn Sie die ExtensionCallout-Richtlinie verwenden möchten, um diese Erweiterung aus einem PostClientFlow aufzurufen, muss das Flag features.allowExtensionsInPostClientFlow in Ihrer Organisation auf true gesetzt sein.

  • Wenn Sie Apigee Edge for Public Cloud-Kunde sind, müssen Sie sich an den Apigee Edge-Support wenden, um sicherzustellen, dass das Flag features.allowExtensionsInPostClientFlow in Ihrer Organisation auf true gesetzt ist.

  • Wenn Sie ein Kunde von Apigee Edge für Private Cloud sind, verwenden Sie die API Organisationsattribute aktualisieren, um das Flag features.allowExtensionsInPostClientFlow auf true zu setzen.

Informationen zu Cloud Logging

Cloud Logging ist Teil der Operations-Suite von Google Cloud. Dazu gehören Speicher für Logs, eine Benutzeroberfläche namens „Log-Explorer“ und eine API für die programmatische Verwaltung von Protokollen. Mit Cloud Logging können Sie Logeinträge lesen und schreiben, Logs suchen und filtern, exportieren und logbasierte Messwerte erstellen.

Die Cloud Logging-Erweiterung schreibt derzeit Einträge in das Log. Weitere Informationen finden Sie in der Cloud Logging-Dokumentation.

Samples

Die folgenden Beispiele veranschaulichen, wie die Unterstützung für Cloud Logging-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfiguriert wird.

Globales Log

Die folgende Richtlinie schreibt die Nachricht This is a test in ein Log namens example-log in der globalen Cloud-Ressource. In der Praxis würde die Nachricht wahrscheinlich in einer Flussvariablen enthalten sein, deren Wert Sie an anderer Stelle im API-Proxy festgelegt haben.

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

In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Aktionen

log

Schreibt eine Nachricht in das Protokoll.

Durch diese Aktion wird ein Cloud Logging-Logeintrag geschrieben. Logeinträge bestehen aus Metadaten und den Eintragsdaten. Weitere Informationen zu Logeinträgen finden Sie in der Eintragsreferenz. Informationen zum Inhalt des Attributs metadata finden Sie in der Cloud Logging-Dokumentation unter dem Objekt LogEntry.

Syntax

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

Beispiel: String

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

Beispiel: JSON

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

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
logName Der Name des Logs, zu dem dieser Eintrag gehört. String Keine Ja
metadata Metadaten zum Logeintrag.
Weitere Informationen und Optionen zum Festlegen von type und labels in metadata finden Sie unter MonitoredResource.
JSON Keine Nein
message Daten, die als Wert für diesen Logeintrag verwendet werden sollen. Sie können einen einfachen String angeben oder JSON verwenden, um eine strukturiertere Nachricht zu protokollieren. String oder JSON Keine Ja

Antwort

None, wenn die Nachricht in das Log geschrieben wurde. Andernfalls gibt die Anfrage einen Fehler zurück. Weitere Informationen finden Sie unter Fehlerbehebung bei einer Erweiterung.

Konfigurationsreferenz

Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen.

Häufige Erweiterungseigenschaften

Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.

Attribut Beschreibung Standard Erforderlich
name Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. Ja
packageName Name des Erweiterungspakets, wie von Apigee Edge angegeben. Ja
version Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. Ja
configuration Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. Ja

Eigenschaften dieses Erweiterungspakets

Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die spezifisch für diese Erweiterung sind.

Property Beschreibung Standard Erforderlich
projectId Die ID des Google Cloud-Projekts, in dem Logs erstellt werden sollen. Keine Ja
credentials Bei Eingabe in die Apigee Edge-Konsole ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn er über die Verwaltungs-API gesendet wird, ist er ein base64-codierter Wert, der aus der Schlüsseldatei des Dienstkontos generiert wird. Keine Ja