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

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

Версия 2.0.1

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

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

Предпосылки

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

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

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

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

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

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

  • Если вы являетесь клиентом Apigee Edge для частного облака, используйте 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. Записи журнала состоят из метаданных и данных записи. Для получения дополнительной информации о записях журнала см. справочник Entry . Для получения информации о содержимом свойства 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.

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

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

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

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

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

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