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

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

Версия 1.6.1

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

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

Предварительные требования

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

  1. В IAM назначьте роль « Ведение журналов > Запись журналов» участнику проекта, который будет представлять ваше расширение для системы облачного ведения журналов. Инструкции по предоставлению ролей см. в разделе «Предоставление ролей учетной записи службы для определенных ресурсов ». Дополнительную информацию о ролях в системе ведения журналов см. в Руководстве по контролю доступа .

  2. Используйте консоль Google Cloud для генерации ключа для учетной записи службы .

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

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

  • Если вы являетесь клиентом Apigee Edge для публичного облака, вам необходимо связаться со службой поддержки Apigee Edge , чтобы убедиться, что флаг features.allowExtensionsInPostClientFlow установлен в true в вашей организации.

  • Если вы являетесь клиентом Apigee Edge for Private Cloud, используйте API обновления свойств организации , чтобы установить флаг features.allowExtensionsInPostClientFlow в true .

О облачном логировании

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

В настоящее время расширение Cloud Logging записывает записи в журнал. Для получения дополнительной информации см. документацию Cloud Logging .

Образцы

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

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

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

Действия

бревно

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

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

Синтаксис

<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-прокси используйте следующие параметры.

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

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

Свойства для этого пакета расширений

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

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