Настроить запись логов L7-балансировщика
Логи L7-балансировщика можно отправлять в сервис Yandex Cloud Logging.
Включить запись логов
- В консоли управления
выберите каталог, в котором находится балансировщик. - Выберите сервис Application Load Balancer.
- В списке выберите нужный балансировщик, нажмите
и выберите Редактировать. - В блоке Настройки логов:
-
Включите опцию Запись логов.
-
Выберите лог-группу Cloud Logging, в которую будут записываться логи балансировщика.
-
Нажмите кнопку Добавить правило отбрасывания логов и настройте его параметры:
- HTTP-коды — добавьте HTTP-коды.
- Классы HTTP-кодов — добавьте классы HTTP-кодов.
- gRPC-коды — добавьте gRPC-коды.
- Доля отбрасываемых логов — добавьте процент отбрасываемых логов.
Вы можете задать больше одного правила.
-
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для управления логированием в балансировщике:
yc alb load-balancer logging --help -
Включите логирование и установите параметры записи логов в Cloud Logging:
yc alb load-balancer logging <имя_балансировщика> \ --enable \ --log-group-id <идентификатор_лог-группы> \ --discard codes=[<HTTP-код>,<класс_HTTP-кода>,<gRPC-код>],percent=<доля_отбрасываемых_логов>Где:
-
--enable— параметр для включения логирования. -
--log-group-id— идентификатор лог-группы, в которую будут записываться логи балансировщика. -
--discard— правило отбрасывания логов. Параметры правила:codes— HTTP-коды, классы HTTP-кодов или gRPC-коды.percent— доля отбрасываемых логов в процентах.
Вы можете задать больше одного правила.
Результат:
done (42s) id: ds76g8b2op3f********* name: test-load-balancer ... log_options: log_group_id: e23p9bfj2kyr******** discard_rules: - http_codes: - "200" http_code_intervals: - HTTP_2XX grpc_codes: - OK discard_percent: "70" -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Добавьте к описанию балансировщика в конфигурационном файле блок
log_options:log_options { log_group_id = "<идентификатор_лог-группы>" discard_rule { http_codes = ["200"] http_code_intervals = ["HTTP_2XX"] grpc_codes = ["GRPC_OK"] discard_percent = 75 } }Где
log_options— параметры записи логов в Cloud Logging:-
log_group_id— идентификатор лог-группы, в которую будут записываться логи балансировщика. -
discard_rule— правило отбрасывания логов:http_codes— HTTP-коды.http_code_intervals— классы HTTP-кодов.grpc_codes— gRPC-коды.discard_percent— доля отбрасываемых логов в процентах.
Вы можете задать больше одного правила.
-
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
После этого в указанном балансировщике будет включено логирование. Проверить статус логирования и другие настройки балансировщика можно в консоли управления
или с помощью команды CLI:yc alb load-balancer get <имя_балансировщика>Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с балансировщиками Application Load Balancer 10 минутами.
Операции, которые длятся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию балансировщика блок
timeouts, например:resource "yandex_alb_load_balancer" "<имя_балансировщика>" { ... timeouts { create = "60m" update = "60m" delete = "60m" } } -
Чтобы включить запись логов, воспользуйтесь методом REST API update для ресурса LoadBalancer или вызовом gRPC API LoadBalancerService/Update.
Изменить параметры записи логов
- В консоли управления
выберите каталог, в котором находится балансировщик. - Выберите сервис Application Load Balancer.
- В списке выберите нужный балансировщик, нажмите
и выберите Редактировать. - В блоке Настройки логов:
-
Измените лог-группу Cloud Logging, в которую будут записываться логи балансировщика.
-
Измените правила отбрасывания логов:
- HTTP-коды — измените HTTP-коды.
- Классы HTTP-кодов — измените классы HTTP-кодов.
- gRPC-коды — измените gRPC-коды.
- Доля отбрасываемых логов — измените процент отбрасываемых логов.
Чтобы добавить еще одно правило, нажмите кнопку Добавить правило отбрасывания логов.
-
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для управления логированием в балансировщике:
yc alb load-balancer logging --help -
Измените параметры записи логов в Cloud Logging:
yc alb load-balancer logging <имя_балансировщика> \ --log-group-id <идентификатор_лог-группы> \ --discard codes=[<HTTP-код>,<класс_HTTP-кода>,<gRPC-код>],percent=<доля_отбрасываемых_логов>Где:
-
--log-group-id— идентификатор лог-группы, в которую будут записываться логи балансировщика. -
--discard— правило отбрасывания логов. Параметры правила:codes— HTTP-коды, классы HTTP-кодов или gRPC-коды.percent— доля отбрасываемых логов в процентах.
Вы можете задать больше одного правила.
Результат:
done (42s) id: ds76g8b2op3f******** name: test-load-balancer ... log_options: log_group_id: e23p9bfj2kyr******** discard_rules: - http_codes: - "200" http_code_intervals: - HTTP_2XX grpc_codes: - OK discard_percent: "70" -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
В конфигурационном файле с описанием балансировщика измените блок
log_optionsс новыми настройками логирования:log_options { log_group_id = "<идентификатор_лог-группы>" discard_rule { http_codes = ["200"] http_code_intervals = ["HTTP_2XX"] grpc_codes = ["GRPC_OK"] discard_percent = 75 } }Где
log_options— параметры записи логов в Cloud Logging:-
log_group_id— идентификатор лог-группы, в которую будут записываться логи балансировщика. -
discard_rule— правило отбрасывания логов:http_codes— HTTP-коды.http_code_intervals— классы HTTP-кодов.grpc_codes— gRPC-коды.discard_percent— доля отбрасываемых логов в процентах.
Вы можете задать больше одного правила.
-
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
После этого в указанном балансировщике будут изменены параметры логирования. Проверить настройки балансировщика можно в консоли управления
или с помощью команды CLI:yc alb load-balancer get <имя_балансировщика>Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с балансировщиками Application Load Balancer 10 минутами.
Операции, которые длятся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию балансировщика блок
timeouts, например:resource "yandex_alb_load_balancer" "<имя_балансировщика>" { ... timeouts { create = "60m" update = "60m" delete = "60m" } } -
Чтобы изменить параметры записи логов, воспользуйтесь методом REST API update для ресурса LoadBalancer или вызовом gRPC API LoadBalancerService/Update.
Выключить запись логов
- В консоли управления
выберите каталог, в котором находится балансировщик. - Выберите сервис Application Load Balancer.
- В списке выберите нужный балансировщик, нажмите
и выберите Редактировать. - В блоке Настройки логов выключите опцию Запись логов.
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для управления логированием в балансировщике:
yc alb load-balancer logging --help -
Выключите логирование:
yc alb load-balancer logging <имя_балансировщика> --disableГде
--disable— параметр для выключения логирования.Результат:
done (42s) id: ds76g8b2op3f******** name: test-load-balancer ... log_options: disable: true
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
В конфигурационном файле с описанием балансировщика удалите блок
log_options:log_options { ... } -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
После этого в указанном балансировщике будет выключено логирование. Проверить статус логирования и другие настройки балансировщика можно в консоли управления
или с помощью команды CLI:yc alb load-balancer get <имя_балансировщика>Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с балансировщиками Application Load Balancer 10 минутами.
Операции, которые длятся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию балансировщика блок
timeouts, например:resource "yandex_alb_load_balancer" "<имя_балансировщика>" { ... timeouts { create = "60m" update = "60m" delete = "60m" } } -
Чтобы выключить запись логов, воспользуйтесь методом REST API update для ресурса LoadBalancer или вызовом gRPC API LoadBalancerService/Update.