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

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

Версия 1.5.0

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

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

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

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

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

  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. Он включает в себя хранилище журналов, пользовательский интерфейс, называемый обозревателем журналов, и 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 см. в разделе Добавление и настройка расширения .

Действия

бревно

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

Это действие записывает запись в журнал Cloud Logging. Записи журнала состоят из метаданных и данных записи. Дополнительные сведения о записях журнала см. в разделе «Справочник по записям» . Информацию о содержимом свойства metadata см. в разделе об объекте 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 это содержимое файла ключей вашей учетной записи службы. При отправке через API управления это значение в кодировке Base64, созданное из файла ключей сервисного аккаунта. Никто Да