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:
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.
Generieren Sie mit der Google Cloud Console einen Schlüssel für das Dienstkonto.
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 auftrue
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
auftrue
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 |