Google Stackdriver Logging-Erweiterung

Sie lesen gerade die Apigee Edge-Dokumentation.
Zur Apigee X-Dokumentation.
info

Version 2.0.1

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 im Stackdriver Logging-System darstellt, die Berechtigung „Logging > Logs Writer“ 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. Generieren Sie mit der Google Cloud Console einen Schlüssel für das Dienstkonto.

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

Stackdriver Logging

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

Diese Erweiterung schreibt 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

Die folgende Richtlinie schreibt die Nachricht „This is a test“ in ein Log namens „example-log“ in der globalen Stackdriver-Ressource. In der Praxis wäre die Nachricht wahrscheinlich in einer Ablaufvariablen enthalten, deren Wert Sie an einer anderen 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 mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Aktionen

log

Schreibt eine Nachricht in das Log.

Diese Aktion schreibt einen Stackdriver-Logeintrag. Logeinträge bestehen aus Metadaten und den Eintragsdaten. Weitere Informationen zu Logeinträgen finden Sie in der Eintragsreferenz. Informationen zum Inhalt der metadata-Property finden Sie im LogEntry-Objekt 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: 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 String angeben oder JSON verwenden, um eine strukturiertere Nachricht zu protokollieren. String oder JSON Keine. Ja.

Antwort

Keine, 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 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

Eigenschaften für dieses Erweiterungspaket

Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die speziell für diese Erweiterung gelten.

Attribut Beschreibung Standard Erforderlich
projectId Die Google Cloud-Projekt-ID, unter der Logs erstellt werden sollen. Keine. Ja.
credentials Wenn in der Apigee Edge-Konsole eingegeben, ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn über die Management API gesendet, ist es ein base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wurde. Keine. Ja.