Google Stackdriver Logging-Erweiterung

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen.
info

Version 1.3.7

Einträge in Stackdriver Logging-Logs schreiben.

Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung.

Vorbereitung

Bevor Sie diese Erweiterung über einen API-Proxy verwenden können, müssen Sie Folgendes tun:

  1. Weisen Sie in IAM dem Projektmitglied, das Ihre Erweiterung für das Stackdriver Logging-System repräsentiert, die Rolle Logging > Logs Writer und Logging > Logs Viewer 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 im Leitfaden zur Zugriffssteuerung.

  2. Schlüssel für das Dienstkonto mit der GCP Console generieren

  3. Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung hinzufügen und konfigurieren. Weitere Informationen finden Sie in der Konfigurationsreferenz.

Diese Erweiterung kann von einer ExtensionCallout-Richtlinie aufgerufen werden, die sich im PostClientFlow befindet. Wenn Sie die ExtensionCallout-Richtlinie verwenden möchten, um diese Erweiterung über einen 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 features.allowExtensionsInPostClientFlow-Flag in Ihrer Organisation auf true gesetzt ist.

  • Wenn Sie Apigee Edge for Private Cloud-Kunde sind, verwenden Sie die API Update organization properties, um das Flag features.allowExtensionsInPostClientFlow auf true zu setzen.

Stackdriver Logging

Stackdriver Logging ist Teil der Stackdriver-Produktfamilie in der Google Cloud Platform (GCP). Es umfasst Speicher für Logs, eine Benutzeroberfläche namens „Log-Viewer“ und eine API zur programmatischen Verwaltung von Logs. Mit Stackdriver Logging können Sie Logeinträge lesen und schreiben, Logs durchsuchen und filtern, Logs exportieren und logbasierte Messwerte erstellen.

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

Beispiele

Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Stackdriver Logging-Erweiterungsaktionen mit der ExtensionCallout-Richtlinie konfigurieren.

Globales Log

Mit der folgenden Richtlinie wird die Meldung „This is a test“ in ein Log namens „example-log“ in der globalen Stackdriver-Ressource geschrieben. In der Praxis würden Sie die Nachricht wahrscheinlich in einer Ablaufvariablen speichern, deren Wert Sie an anderer Stelle im API-Proxy festlegen.

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

Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Eine Anleitung zum Konfigurieren einer Erweiterung über die Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Aktionen

log

Schreibt eine Nachricht in das Log.

Bei dieser 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 im Objekt LogEntry in der Stackdriver Logging-Dokumentation.

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. Nr.
Nachricht Daten, die als Wert für diesen Logeintrag verwendet werden sollen. String Keine. Ja.

Antwort

Keine, wenn die Nachricht ins Log geschrieben wurde. Andernfalls wird bei der Anfrage ein Fehler zurückgegeben. Weitere Informationen finden Sie unter Erweiterung debuggen.

Konfigurationsreferenz

Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen.

Allgemeine 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

Properties für dieses Erweiterungspaket

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

Attribut Beschreibung Standard Erforderlich
projectId Die GCP-Projekt-ID, unter der Logs erstellt werden sollen. Keine. Ja.
Anmeldedaten Wenn Sie diese in der Apigee Edge-Konsole eingeben, ist dies der Inhalt Ihrer Dienstkontoschlüsseldatei. Wenn er über die Management API gesendet wird, ist er ein base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wird. Keine. Ja.