Rozszerzenie Google Cloud Logging

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info

Wersja 2.0.2

zapisywać wpisy w logach Cloud Logging;

Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia.

Wymagania wstępne

Zanim użyjesz tego rozszerzenia w proxy interfejsu API, musisz:

  1. W IAM przypisz rolę Logowanie > Zapisujący logi członkowi projektu, który będzie reprezentować Twoje rozszerzenie w systemie Cloud Logging. Instrukcje przyznawania ról znajdziesz w artykule Przyznawanie ról kontu usługi w odniesieniu do określonych zasobów. Więcej informacji o rolach logowania znajdziesz w przewodniku po kontroli dostępu.

  2. Wygeneruj klucz konta usługi za pomocą konsoli Google Cloud.

  3. Podczas dodawania i konfigurowania rozszerzenia za pomocą dokumentacji konfiguracji użyj zawartości utworzonego pliku JSON z kluczem.

To rozszerzenie obsługuje wywoływanie przez zasadę ExtensionCallout znajdującą się w PostClientFlow. Jeśli chcesz użyć zasady ExtensionCallout, aby wywołać to rozszerzenie z poziomu PostClientFlow, upewnij się, że w Twojej organizacji flaga features.allowExtensionsInPostClientFlow jest ustawiona na true.

  • Jeśli jesteś klientem Apigee Edge w chmurze publicznej, musisz skontaktować się z zespołem pomocy Apigee Edge, aby upewnić się, że w Twojej organizacji flaga features.allowExtensionsInPostClientFlow ma wartość true.

  • Jeśli jesteś klientem Apigee Edge for Private Cloud, użyj interfejsu API Update organization properties (Aktualizowanie właściwości organizacji), aby ustawić flagę features.allowExtensionsInPostClientFlow na true.

Informacje o Cloud Logging

Cloud Logging jest częścią pakietu operacyjnego Google Cloud. Obejmuje on miejsce na dane logów, interfejs użytkownika o nazwie eksplorator logów i interfejs API do programowego zarządzania logami. Cloud Logging umożliwia odczytywanie i zapisywanie wpisów logu, wyszukiwanie i filtrowanie logów, eksportowanie logów oraz tworzenie wskaźników opartych na logach.

Rozszerzenie Cloud Logging zapisuje wpisy w logu. Więcej informacji znajdziesz w dokumentacji Cloud Logging.

Przykłady

Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud Logging za pomocą zasady ExtensionCallout.

Dziennik globalny

Poniższa zasada zapisuje komunikat This is a test w logu o nazwie example-log w zasobie globalnym Cloud. W praktyce wiadomość prawdopodobnie będzie zawarta w zmiennej przepływu, której wartość ustawisz w innym miejscu serwera proxy interfejsu API.

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

Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.

Działania

log

Zapisuje wiadomość w dzienniku.

Ta czynność zapisuje wpis logu Cloud Logging. Wpisy logów składają się z metadanych i danych wpisu. Więcej informacji o wpisach w dzienniku znajdziesz w dokumentacji wpisów. Informacje o zawartości właściwości metadata znajdziesz w dokumentacji Cloud Logging w sekcji dotyczącej obiektu LogEntry.

Składnia

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

Przykład: ciąg znaków

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

Przykład: JSON

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

Parametry żądania

Parametr Opis Typ Domyślny Wymagane
logName Nazwa logu, do którego należy ten wpis. Ciąg znaków Brak Tak
metadata Metadane wpisu w logu.
Więcej informacji o ustawianiu wartości typelabelsmetadata znajdziesz w artykule MonitoredResource.
JSON Brak Nie
message Dane, które mają być użyte jako wartość tego wpisu w dzienniku. Możesz podać ciąg znaków lub użyć JSON, aby zarejestrować bardziej złożony komunikat. Ciąg znaków lub JSON Brak Tak

Odpowiedź

None, jeśli wiadomość została zapisana w dzienniku. W przeciwnym razie żądanie zwróci błąd. Zobacz też Debugowanie rozszerzenia.

Informacje o konfiguracji

Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w proxy interfejsów API postępuj zgodnie z tymi instrukcjami.

Wspólne właściwości rozszerzeń

Dla każdego rozszerzenia dostępne są poniższe właściwości.

Usługa Opis Domyślnie Wymagany
name Nazwa nadana konfiguracji rozszerzenia. Brak Tak
packageName Nazwa pakietu rozszerzeń podana przez Apigee Edge. Brak Tak
version Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. Brak Tak
configuration Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń Brak Tak

Właściwości tego pakietu rozszerzeń

Określ wartości tych właściwości konfiguracji, które są specyficzne dla tego rozszerzenia.

Właściwość Opis Domyślny Wymagane
projectId Identyfikator projektu Google Cloud, w którym mają być tworzone logi. Brak Tak
credentials Po wpisaniu w konsoli Apigee Edge jest to zawartość pliku klucza konta usługi. W przypadku wysyłania za pomocą interfejsu Management API jest to wartość zakodowana w formacie base64 wygenerowana z pliku klucza konta usługi. Brak Tak