Расширение Google Cloud Logging

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Версия 1.6.0

Записывать записи в журналы Cloud Logging.

В нем приведена информация о том, как настроить и использовать это расширение.

Требования

Прежде чем использовать это расширение в прокси-сервере API, необходимо:

  1. В IAM назначьте роль Logging > Logs Writer (Ведение журналов > Запись журналов) участнику проекта, который будет представлять ваше расширение в системе Cloud Logging. Инструкции по предоставлению ролей приведены в статье Как предоставить сервисному аккаунту роли для определенных ресурсов. Подробнее о ролях для ведения журналов…

  2. Создайте ключ для сервисного аккаунта в консоли Google Cloud.

  3. Используйте содержимое полученного JSON-файла ключа при добавлении и настройке расширения, следуя инструкциям по настройке.

Это расширение можно вызвать с помощью правила ExtensionCallout, расположенного в PostClientFlow. Если вы хотите использовать правило ExtensionCallout, чтобы вызывать это расширение из PostClientFlow, убедитесь, что флаг features.allowExtensionsInPostClientFlow имеет значение true в вашей организации.

О Cloud Logging

Cloud Logging входит в Operations Suite Google Cloud. Он включает хранилище для журналов, пользовательский интерфейс под названием "Исследователь журналов" и API для программного управления журналами. С помощью Cloud Logging можно читать и записывать записи журнала, искать и фильтровать журналы, экспортировать их и создавать показатели на основе журналов.

Расширение Cloud Logging в настоящее время записывает записи в журнал. Подробнее о ведении журналов в облаке…

Примеры

В примерах ниже показано, как настроить поддержку действий расширений Cloud Logging с помощью правила ExtensionCallout.

Глобальный журнал

Следующая политика записывает сообщение This is a test в журнал example-log в глобальном ресурсе Cloud. В реальном использовании сообщение, скорее всего, будет содержаться в переменной потока, значение которой задается в другом месте прокси-сервера 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>

В нем приведена информация о том, как настроить и использовать это расширение. Инструкции по настройке расширения с помощью консоли Apigee приведены в разделе Добавление и настройка расширения.

Действия

log

Записывает сообщение в журнал.

Это действие записывает запись в журнале Cloud Logging. Записи журнала состоят из метаданных и данных записи. Подробнее о записях журнала… Информацию о содержимом свойства metadata можно найти в документации по Cloud Logging в разделе об объекте LogEntry.

Синтаксис

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

Пример: строка

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

Пример: JSON

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

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
logName Название журнала, к которому относится запись. Строка Нет Да
metadata Метаданные записи журнала.
Дополнительную информацию и варианты настройки type и labels в metadata можно найти в разделе MonitoredResource.
JSON Нет Нет
message Данные, которые будут использоваться в качестве значения для этой записи в журнале. Вы можете указать простую строку или использовать JSON, чтобы зарегистрировать более структурированное сообщение. Строка или JSON Нет Да

Ответ

None, если сообщение было записано в журнал. В противном случае запрос вернет ошибку. Также ознакомьтесь с информацией о том, как отлаживать расширения.

Ссылка на конфигурацию

При настройке и развертывании этого расширения для использования в прокси API следуйте приведенным ниже инструкциям.

Общие свойства расширений

Следующие свойства присутствуют для каждого расширения.

Свойство Описание По умолчанию Необходимый
name Имя, которое вы даете этой конфигурации расширения. Никто Да
packageName Имя пакета расширения, предоставленное Apigee Edge. Никто Да
version Номер версии пакета расширения, из которого вы настраиваете расширение. Никто Да
configuration Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. Никто Да

Свойства пакета расширения

Укажите значения для следующих свойств конфигурации, относящихся к этому расширению.

Свойство Описание По умолчанию Обязательно
projectId Идентификатор проекта Google Cloud, в котором должны создаваться журналы. Нет Да
credentials При вводе в консоли Apigee Edge это содержимое файла ключа сервисного аккаунта. При отправке через Management API это значение в кодировке base64, сгенерированное на основе файла ключа сервисного аккаунта. Нет Да