Google Stackdriver Logging-Erweiterung

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

Version 1.3.7

Schreiben Sie Einträge in Stackdriver 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 Stackdriver Logging-System darstellt, die Rollen Logging > Logautor und Logging > Loganzeige 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. Verwenden Sie die GCP Console, um einen Schlüssel für das Dienstkonto zu generieren.

  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 Stackdriver Logging

Stackdriver Logging ist Teil der Stackdriver-Produktsuite der Google Cloud Platform (GCP). Sie umfasst Speicher für Logs, eine Benutzeroberfläche namens „Loganzeige“ und eine API für die programmatische Verwaltung von Logs. Mit Stackdriver Logging können Sie Logeinträge lesen und schreiben, Logs suchen und filtern, exportieren und logbasierte Messwerte erstellen.

Diese Erweiterung schreibt derzeit Einträge in das Protokoll. Weitere Informationen finden Sie in der Dokumentation zu Stackdriver Logging.

Samples

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

Globales Log

Die folgende Richtlinie schreibt die Meldung „This is a test“ (Das ist ein Test) in ein Log namens example-log in der globalen Stackdriver-Ressource. In der Praxis wäre die Nachricht wahrscheinlich in einer Flussvariablen enthalten, 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>stackdriver-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 Stackdriver-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 Dokumentation zu Stackdriver Logging im Abschnitt zum Objekt LogEntry.

Syntax

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

Beispiel

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "stackdriver-log-name-to-use",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : "data-to-log-as-entry"
}]]></Input>

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
logName Der Name des Logs, zu dem dieser Eintrag gehört. String Keine. Ja.
Metadaten Metadaten zum Logeintrag.
Weitere Informationen und Optionen zum Festlegen von type und labels in metadata finden Sie unter MonitoredResource.
JSON Keine. Nein.
Nachricht Daten, die als Wert für diesen Logeintrag verwendet werden sollen. String 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 GCP-Projekt-ID, in der Logs erstellt werden sollen. Keine. Ja.
Anmeldedaten 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.