Записать логи в журнал выполнения в API Gateway
Примечание
Логирование тарифицируется. Подробнее см. в документации Yandex Cloud Logging.
- В консоли управления
перейдите в каталог, в котором находится API-шлюз. - В списке сервисов выберите API Gateway.
- Выберите API-шлюз, для которого хотите настроить логирование.
- В верхней части страницы нажмите
Редактировать. - В блоке Логирование в поле Назначение выберите:
Не задано
— чтобы выключить логирование.Каталог
— чтобы записывать логи в лог-группу по умолчанию для каталога, в котором находится API-шлюз.- (Опционально) В поле Минимальный уровень логирования выберите минимальный уровень логирования.
Лог-группа
— чтобы записывать логи в пользовательскую лог-группу.- (Опционально) В поле Минимальный уровень логирования выберите минимальный уровень логирования.
- В поле Лог-группа выберите лог-группу, в которую будут записываться логи. Если у вас нет лог-группы, создайте ее.
- Нажмите кнопку Сохранить.
Если минимальный уровень логирования задан, в журнал выполнения записываются логи указанного уровня и выше. Если минимальный уровень логирования не задан, в журнал выполнения записываются все логи API-шлюза.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Назначение логирования
Если в параметрах API-шлюза не указана пользовательская лог-группа или логирование не отключено, API-шлюз автоматически пишет все логи в лог-группу по умолчанию для каталога, в котором он находится.
Чтобы записывать логи в пользовательскую лог-группу, укажите идентификатор лог-группы в параметре --log-group-id
при создании или изменении API-шлюза. Лог-группа должна находиться в том же каталоге, в котором находится API-шлюз.
Минимальный уровень логирования
Чтобы задать минимальный уровень логирования, укажите его в параметре --min-log-level
при создании или изменении API-шлюза.
Если минимальный уровень логирования задан, в журнал выполнения записываются логи указанного уровня и выше. Если минимальный уровень логирования не задан, в журнал выполнения записываются все логи API-шлюза.
Отключение логирования
Чтобы отключить логирование, при создании или изменении API-шлюза укажите параметр --no-logging
.
Пример команды
Чтобы записывать логи в пользовательскую лог-группу, выполните команду:
yc serverless api-gateway update <имя_или_идентификатор_API-шлюза> \
--log-group-id <идентификатор_лог-группы> \
--min-log-level <минимальный_уровень_логирования>
Где:
--log-group-id
— идентификатор лог-группы, в которую будут записываться логи.--min-log-level
— минимальный уровень логирования. Доступные уровни логирования:TRACE
,DEBUG
,INFO
,WARN
,ERROR
иFATAL
. Необязательный параметр.
Результат:
id: d5dr8k465604********
folder_id: b1g3f9i71bpm********
created_at: "2024-01-26T09:18:55.985Z"
name: example_gateway
status: ACTIVE
domain: d5dr8k465604********.apigw.yandexcloud.net
log_group_id: ckgsh1kdbvj1********
connectivity: {}
log_options:
log_group_id: e23u2vn449av********
min_level: ERROR
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Назначение логирования
Если в параметрах API-шлюза не указана пользовательская лог-группа или логирование не отключено, API-шлюз автоматически пишет все логи в лог-группу по умолчанию для каталога, в котором он находится.
Чтобы записывать логи в пользовательскую лог-группу, в блоке log_options
укажите идентификатор лог-группы в параметре log_group_id
при создании или изменении API-шлюза. Лог-группа должна находиться в том же каталоге, в котором находится API-шлюз.
Минимальный уровень логирования
Чтобы задать минимальный уровень логирования, укажите его в параметре log_group_id
блока log_options
при создании или изменении API-шлюза.
Если минимальный уровень логирования задан, в журнал выполнения записываются логи указанного уровня и выше. Если минимальный уровень логирования не задан, в журнал выполнения записываются все логи API-шлюза.
Отключение логирования
Чтобы отключить логирование, при создании или изменении API-шлюза в блоке log_options
укажите параметр disabled
со значением true
.
Пример
Чтобы записывать логи в пользовательскую лог-группу:
-
Откройте файл конфигурации Terraform и добавьте к описанию ресурса
yandex_api_gateway
блокlog_options
:Пример структуры конфигурационного файла:
resource "yandex_api_gateway" "<имя_API-шлюза>" { ... log_options { folder_id = "<идентификатор_каталога>" min_level = "<минимальный_уровень_логирования>" } ... }
Где:
folder_id
— идентификатор каталога.min_level
— минимальный уровень логирования. Доступные уровни логирования:TRACE
,DEBUG
,INFO
,WARN
,ERROR
иFATAL
. Необязательный параметр.
Более подробную информацию о параметрах ресурса
yandex_api_gateway
в Terraform см. в документации провайдера . -
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.
Чтобы записывать логи в журнал выполнения в Yandex API Gateway воспользуйтесь методом REST API update для ресурса ApiGateway или вызовом gRPC API ApiGatewayService/Update.