Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Serverless Integrations
    • Все инструкции
          • API Gateway
          • Cloud Functions
          • Cloud Logging
          • Data Streams
          • Message Queue
          • Serverless Containers
          • Workflows
        • Изменить правило
        • Включить правило
        • Выключить правило
        • Удалить правило
    • Просмотр операций с ресурсами сервиса
  • Правила тарификации
  • Справочник Terraform
  • История изменений
  1. Пошаговые инструкции
  2. EventRouter
  3. Управление правилом
  4. Создать правило
  5. Cloud Logging

Создать правило с приемником Yandex Cloud Logging

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
Консоль управления
CLI
Terraform
API
  1. В консоли управления перейдите в каталог, в котором хотите создать правило.

  2. Выберите сервис Serverless Integrations.

  3. На панели слева нажмите EventRouter.

  4. Выберите нужную шину.

  5. Перейдите на вкладку Правила.

  6. В правом верхнем углу нажмите Создать правило.

  7. (Опционально) Раскройте блок Фильтр и введите jq-выражение для фильтрации событий.

  8. В блоке Приёмники нажмите Добавить и настройте приемник:

    1. Укажите тип приемника Yandex Cloud Logging.
    2. Выберите лог-группу, в которую будут отправляться сообщения, соответствующие правилу, или каталог. Если выбран каталог, то сообщения будут отправляться в лог-группу по умолчанию для этого каталога.
    3. Выберите сервисный аккаунт, которому назначена роль logging.writer или выше на выбранную лог-группу, или создайте новый.
    4. (Опционально) Нажмите Настройки повторной отправки сообщений и укажите:

      • Количество попыток — количество повторных попыток отправки сообщений, которые будут сделаны, прежде чем EventRouter отправит сообщения в Dead Letter Queue (DLQ). Допустимые значения от 0 до 1 000, значение по умолчанию — 3.
      • Интервал — время в часах, через которое будет сделана повторная попытка отправить сообщения, если текущая завершилась неуспешно. Допустимые значения от 0 до 60 часов, значение по умолчанию — 10 минут.
    5. (Опционально) Раскройте поле Шаблон и введите jq-шаблон для преобразования событий. Если шаблон не указан, событие не преобразовывается.

    6. (Опционально) Раскройте блок Настройки обработки недоставленных сообщений:

      1. Укажите тип обработчика Yandex Message Queue.
      2. Выберите каталог и очередь DLQ, в которую будут перенаправляться сообщения, которые не смог обработать приемник.
      3. Выберите сервисный аккаунт, которому назначена роль ymq.writer или выше на выбранную очередь DLQ, или создайте новый.
  9. Раскройте блок Дополнительные параметры:

    1. Введите имя и описание правила. Требования к имени:

      • Длина — от 3 до 63 символов.
      • Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
      • Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.
    2. (Опционально) Добавьте метки:

      • Нажмите Добавить метку.
      • Введите метку в формате ключ: значение.
      • Нажмите Enter.
    3. (Опционально) Включите защиту от удаления. Пока опция включена, удалить правило невозможно.

  10. Нажмите Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания правила:

    yc serverless eventrouter rule create --help
    
  2. Создайте правило с приемником Yandex Cloud Logging:

    yc serverless eventrouter rule create \
      --bus-id <идентификатор_шины> \
      --filter '<jq-выражение>' \
      --logging-target \
    log-group-id=<идентификатор_лог-группы>,\
    service-account-id=<сервисный_аккаунт_очереди>,\
    retry-attempts=<количество_попыток>,\
    maximum-age=<интервал>,\
    transformer=<jq-шаблон>,\
    dlq-arn=<очередь_DLQ>,\
    dlq-service-account-id=<идентификатор_сервисного_аккаунта_DLQ> \
      --name <имя_правила> \
      --description "<описание_правила>" \
      --deletion-protection \
      --labels <список_меток>
    

    Где:

    • --bus-id — идентификатор шины EventRouter.
    • --filter — jq-выражение для фильтрации событий.
    • --logging-target — флаг для настройки приемника с типом Yandex Cloud Logging и его параметры:

      • log-group-id — идентификатор лог-группы, в которую будут отправляться сообщения, соответствующие правилу.

        Вместо параметра log-group-id можно указать параметр folder-id. Тогда сообщения будут отправляться в лог-группу по умолчанию для того каталога, идентификатор которого вы укажете в параметре folder-id.

      • service-account-id — идентификатор сервисного аккаунта, которому назначена роль logging.writer или выше на выбранную лог-группу.

      • retry-attempts — количество повторных попыток отправки сообщений, которые будут сделаны, прежде чем EventRouter отправит сообщения в Dead Letter Queue (DLQ). Допустимые значения от 0 до 1 000. Необязательный параметр.
      • maximum-age — время, через которое будет сделана повторная попытка отправить сообщения, если текущая завершилась неуспешно. Допустимые значения от 0 до 60 часов. Необязательный параметр.
      • transformer — jq-шаблон для преобразования событий. Если шаблон не указан, событие не преобразовывается. Необязательный параметр.
      • dlq-arn — ARN очереди DLQ в которую будут перенаправляться сообщения, которые не смог обработать приемник. Необязательный параметр.
      • dlq-service-account-id — идентификатор сервисного аккаунта, которому назначена роль ymq.writer или выше на выбранную очередь DLQ. Необязательный параметр.
    • --name — имя правила. Требования к имени:

      • Длина — от 3 до 63 символов.
      • Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
      • Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.
    • --description — описание правила. Необязательный параметр.

    • --deletion-protection — защита от удаления правила. По умолчанию защита выключена. Пока опция включена, удалить правило невозможно. Чтобы отключить защиту от удаления, укажите параметр --no-deletion-protection. Необязательный параметр.

    • --labels — список меток. Необязательный параметр.

      Можно указать одну или несколько меток через запятую в формате <ключ1>=<значение1>,<ключ2>=<значение2>.

    Результат:

    id: f66vfpjrkc35********
    bus_id: f66epjc9llqt********
    folder_id: b1g681qpemb4********
    cloud_id: b1gia87mbaom********
    created_at: "2025-02-26T14:04:47.710918Z"
    name: new-rule
    description: created via cli
    labels:
      owner: admin
      version: beta
    filter:
      jq_filter: .firstName == "Ivan"
    targets:
      - logging:
          log_group_id: e23di6hvn5fm********
          service_account_id: ajelprpohp7r********
        transformer:
          jq_transformer: .
        retry_settings:
          retry_attempts: "3"
          maximum_age: 600s
        dead_letter_queue:
          queue_arn: yrn:yc:ymq:ru-central1:b1g681qpemb4********:dlq-42
          service_account_id: ajelprpohp7r********
        status: ENABLED
    deletion_protection: true
    status: ENABLED
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы создать правило с приемником Yandex Cloud Logging:

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    resource "yandex_serverless_eventrouter_rule" "example_rule" {
      bus_id    = "<идентификатор_шины>"
      jq_filter = "<jq-выражение>"
    
      logging {
        log_group_id       = "<идентификатор_лог-группы>"
        service_account_id = "<идентификатор_сервисного_аккаунта>"
      }
    
      name        = "<имя_правила>"
      description = "<описание_правила>"
    
      labels = {
        <ключ_1> = "<значение_1>"
        <ключ_2> = "<значение_2>"
        ...
        <ключ_n> = "<значение_n>"
      }
    }
    

    Где:

    • bus_id — идентификатор шины EventRouter.

    • jq_filter — jq-выражение для фильтрации событий.

    • logging — блок для настройки приемника с типом Yandex Cloud Logging и его параметры:

      • log_group_id — идентификатор лог-группы, в которую будут отправляться сообщения, соответствующие правилу.

        Вместо параметра log_group_id можно указать параметр folder_id. Тогда сообщения будут отправляться в лог-группу по умолчанию для того каталога, идентификатор которого вы укажете в параметре folder-id.

      • service_account_id — идентификатор сервисного аккаунта, которому назначена роль logging.writer или выше на выбранную лог-группу.

    • name — имя правила. Требования к имени:

      • Длина — от 3 до 63 символов.
      • Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
      • Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.
    • description — описание правила. Необязательный параметр.

    • labels — список меток. Метки задаются в формате <ключ> = "<значение>". Необязательный параметр.

    Более подробную информацию о параметрах ресурса yandex_serverless_eventrouter_rule см. в документации провайдера.

  2. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

    Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления или с помощью команды CLI:

    yc serverless eventrouter rule list
    

Чтобы создать правило с приемником Yandex Cloud Logging, воспользуйтесь методом REST API Create для ресурса rule или вызовом gRPC API rule/Create.

По умолчанию правило создается включенным. Чтобы события, которые соответствуют правилу, перестали перенаправляться в приемник, выключите правило.

Была ли статья полезна?

Предыдущая
Cloud Functions
Следующая
Data Streams
Проект Яндекса
© 2025 ООО «Яндекс.Облако»