Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Object Storage
    • Все руководства
    • Получение статистики запросов к объекту с использованием S3 Select
    • Получение статистики посещения сайта с использованием S3 Select
    • Получение статистики запросов к объектам с использованием Yandex Query
    • Анализ поресурсной детализации расходов
    • Шифрование на стороне сервера
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Анализ логов с использованием DataLens
    • Монтирование бакетов к файловой системе хостов Yandex Data Processing
    • Использование Object Storage в Yandex Data Processing
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Подключение бакета как диска в Windows
    • Миграция данных из Yandex Data Streams с помощью Yandex Data Transfer
    • Использование гибридного хранилища в Yandex Managed Service for ClickHouse®
    • Загрузка данных из Yandex Managed Service for OpenSearch в Yandex Object Storage с помощью Yandex Data Transfer
    • Автоматическое копирование объектов из бакета в бакет
    • Регулярное асинхронное распознавание аудиофайлов в бакете
    • Обучение модели в Yandex DataSphere на данных из Object Storage
    • Подключение к Object Storage из VPC
    • Перенос данных в Yandex Managed Service for PostgreSQL с использованием Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for Greenplum® с помощью Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Обмен данными между Yandex Managed Service for ClickHouse® и Yandex Data Processing
    • Загрузка данных из Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Хостинг статического сайта на фреймворке Gatsby в Object Storage
    • Миграция базы данных из Managed Service for PostgreSQL в Object Storage
    • Обмен данными между Yandex Managed Service for ClickHouse® и Yandex Data Processing
    • Импорт данных из Yandex Managed Service for PostgreSQL в Yandex Data Processing с помощью Sqoop
    • Импорт данных из Yandex Managed Service for MySQL® в Yandex Data Processing с помощью Sqoop
    • Миграция данных из Yandex Object Storage в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
    • Миграция базы данных из Yandex Managed Service for MySQL® в Yandex Object Storage
    • Выгрузка данных Greenplum® в холодное хранилище Yandex Object Storage
    • Загрузка данных из Яндекс Директ в витрину Yandex Managed Service for ClickHouse® с использованием Yandex Cloud Functions, Yandex Object Storage и Yandex Data Transfer
    • Миграция данных из Elasticsearch в Yandex Managed Service for OpenSearch
    • Загрузка состояний Terraform в Object Storage
    • Блокировка состояний Terraform с помощью Managed Service for YDB
    • Визуализация данных Yandex Query
    • Публикация обновлений для игр
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Резервное копирование в Object Storage с помощью CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veeam Backup
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Резервное копирование кластера Managed Service for Kubernetes в Object Storage
    • Разработка пользовательской интеграции в API Gateway
    • Сокращатель ссылок
    • Хранение журналов работы приложения
    • Разработка навыка Алисы и сайта с авторизацией
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Telegram-бота
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Репликация логов в Object Storage с помощью Data Streams
    • Загрузка аудитных логов в SIEM ArcSight
    • Загрузка аудитных логов в SIEM Splunk
    • Создание сервера MLFlow для логирования экспериментов и артефактов
    • Работа с данными с помощью Yandex Query
    • Федеративные запросы к данным с помощью Query
    • Распознавание архива изображений в Vision OCR
    • Конвертация видео в GIF на Python
    • Автоматизация задач с помощью Managed Service for Apache Airflow™
    • Обработка файлов детализации в сервисе Yandex Cloud Billing
    • Развертывание веб-приложения с JWT-авторизацией в API Gateway и аутентификацией в Firebase
    • Поиск событий Yandex Cloud в Yandex Query
    • Поиск событий Yandex Cloud в Object Storage
    • Создание внешней таблицы на базе таблицы из бакета с помощью конфигурационного файла
    • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте бакет для хранения журналов
  • Создайте поток данных
  • Создайте трансфер
  • Установите Fluentd
  • Подключите Fluentd к потоку данных
  • Проверьте отправку и получение данных
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Хранение журналов работы приложения

Хранение журналов работы приложения

Статья создана
Yandex Cloud
Обновлена 14 марта 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте бакет для хранения журналов
  • Создайте поток данных
  • Создайте трансфер
  • Установите Fluentd
  • Подключите Fluentd к потоку данных
  • Проверьте отправку и получение данных
  • Как удалить созданные ресурсы

Важно

Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.

Чтобы анализировать информацию о событиях приложений за произвольный период, журналы работы приложений необходимо надежно хранить.

Обычно приложения не отправляют журналы в системы хранения напрямую, а используют агрегаторы: fluentd, fluentbit, logstash и другие. Агрегаторы могут записывать данные непосредственно в системы хранения, но для увеличения надежности данные отправляются сначала в промежуточный буфер (шина потоков данных, брокер сообщений), а уже оттуда — в системы хранения.

Такой подход позволяет разработчикам сосредоточиться на функциональности приложения, а поставку и хранение журналов предоставить специализированным системам.

С помощью этой инструкции вы научитесь сохранять журналы работы приложений в Yandex Object Storage.

Чтобы настроить хранение журналов работы приложения:

  1. Подготовьте облако к работе.
  2. Настройте окружение.
  3. Создайте бакет для хранения журналов.
  4. Создайте поток данных.
  5. Создайте трансфер.
  6. Установите Fluentd.
  7. Подключите Fluentd к потоку данных.
  8. Проверьте отправку и получение данных.

Если хранение журналов вам больше не нужно, удалите используемые им ресурсы.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки хранения журналов приложений входит:

  • плата за обслуживание потока данных (см. тарифы Yandex Data Streams);
  • плата за перенос данных между источниками и приемниками (см. тарифы Yandex Data Transfer);
  • плата за хранение данных (см. тарифы Yandex Object Storage).

Настройте окружениеНастройте окружение

  1. Создайте сервисный аккаунт и назначьте ему роль editor на ваш каталог.
  2. Создайте статический ключ доступа.

Идентификатор и секретный ключ понадобятся вам на следующих шагах.

Создайте бакет для хранения журналовСоздайте бакет для хранения журналов

  1. В консоли управления выберите каталог, в котором хотите создать бакет.
  2. В списке сервисов выберите Object Storage.
  3. Нажмите кнопку Создать бакет.
  4. Укажите имя бакета.
  5. В полях Доступ на чтение объектов, Доступ к списку объектов и Доступ на чтение настроек выберите Ограниченный.
  6. В поле Класс хранилища выберите Холодное.
  7. Нажмите кнопку Создать бакет.

Создайте поток данныхСоздайте поток данных

  1. В консоли управления выберите каталог, в котором хотите создать поток данных.
  2. Выберите сервис Yandex Data Streams.
  3. Нажмите кнопку Создать поток.
  4. Укажите существующую бессерверную базу данных YDB или создайте новую. Если вы создали новую базу данных, после ее создания нажмите кнопку Обновить для обновления списка баз.
  5. Введите имя потока данных.
  6. Нажмите кнопку Создать.

Дождитесь запуска потока данных. Когда поток станет готов к использованию, его статус изменится с CREATING на ACTIVE.

Создайте трансферСоздайте трансфер

  1. На странице созданного потока данных нажмите кнопку Действия и выберите Создать трансфер данных.
  2. Создайте эндпоинт-источник:
    1. В поле Направление выберите Источник.
    2. Укажите имя эндпоинта.
    3. В списке Тип базы данных выберите Yandex Data Streams.
    4. Выберите базу данных для источника.
    5. Введите имя созданного ранее потока данных.
    6. Выберите созданный ранее сервисный аккаунт.
    7. Нажмите кнопку Создать.
  3. Создайте эндпоинт-приемник:
    1. Нажмите кнопку Создать эндпоинт.
    2. В поле Направление выберите Приемник.
    3. Укажите имя эндпоинта.
    4. В списке Тип базы данных выберите Object Storage.
    5. Введите имя созданного ранее бакета.
    6. Выберите созданный ранее сервисный аккаунт.
    7. Нажмите кнопку Создать.
  4. Создайте трансфер:
    1. На панели слева выберите Трансферы.
    2. Нажмите кнопку Создать трансфер.
    3. Введите имя трансфера.
    4. Выберите созданный ранее эндпоинт-источник.
    5. Выберите созданный ранее эндпоинт-приемник.
    6. Нажмите кнопку Создать.
    7. Нажмите на значок рядом с именем созданного трансфера и выберите Активировать.

Дождитесь активации трансфера. Когда трансфер станет готов к использованию, его статус сменится с Создается на Реплицируется.

Установите FluentdУстановите Fluentd

  1. Скачайте и установите Fluentd.
  2. Установите плагин Fluentd для поддержки протокола AWS Kinesis Data Streams. По этому протоколу будет осуществляться поставка данных.
sudo td-agent-gem install fluent-plugin-kinesis

Подключите Fluentd к потоку данныхПодключите Fluentd к потоку данных

  1. На странице созданного потока данных нажмите кнопку Подключиться и перейдите на вкладку Fluentd.
  2. Скопируйте пример файла конфигурации и вставьте его в файл /etc/td-agent/td-agent.conf. Вместо <key_id> и <secret> введите полученные ранее идентификатор и секретный ключ.
Пример файла конфигурации
<system>
  log_level debug
</system>
<source>
  @type http
  @id input_http
  port 8888
</source>
<match kinesis>
  @type copy
  <store>
    @type stdout
  </store>
  <store>
    @type kinesis_streams

    aws_key_id <key_id>
    aws_sec_key <secret>

    # kinesis stream name
    stream_name /ru-central1/b1gia92mbaom********/etnhstu01nin********/my-stream

    # region
    region ru-central-1

    endpoint https://yds.serverless.yandexcloud.net

    <buffer>
      flush_interval 5s
    </buffer>
  </store>
</match>

Проверьте отправку и получение данныхПроверьте отправку и получение данных

Чтобы отправить данные в поток через Fluentd, выполните команду:

curl --request POST --data 'json={"user_id":"user1", "score": 100}' http://localhost:8888/kinesis

Если настройка выполнена успешно, в логе работы Fluentd /var/log/td-agent/td-agent.log появятся сообщения о получении данных и записи их в Yandex Data Streams по протоколу AWS Kinesis Data Streams:

...
2022-04-20 19:36:37.770311035 +0000 kinesis: {"user_id":"user1","score":100}
2022-04-20 19:36:42 +0000 [debug]: #0 /ru-central1/b1gia92mbaom********/etnhstu01nin********/my-stream: Write chunk 5dd1b1ca1bd788e49185aa681e8132b9 /   1 records /    0 KB
2022-04-20 19:36:42 +0000 [debug]: #0 /ru-central1/b1gia92mbaom********/etnhstu01nin********/my-stream: Finish writing chunk
...

В созданном бакете появится файл, который содержит отправленное сообщение.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за используемые ресурсы:

  1. Удалите трансфер.
  2. Удалите эндпоинты.
  3. Удалите поток данных.
  4. Удалите бакет.

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

Предыдущая
Сокращатель ссылок
Следующая
Разработка навыка Алисы и сайта с авторизацией
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»