Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Logging
  • Начало работы
    • Все руководства
    • Передача логов кластера Yandex Managed Service for Kubernetes в Cloud Logging
    • Передача логов с ВМ в Cloud Logging
    • Передача логов с COI в Cloud Logging
    • Передача логов через HTTP-вход Unified Agent в Cloud Logging
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Репликация логов в Object Storage с помощью Data Streams
    • Визуализация логов в Grafana с помощью плагина Yandex Cloud Logging
    • Интерактивная отладка функций Cloud Functions
    • Запись логов балансировщика в PostgreSQL
    • Настройки логирования для Ingress-контроллеров Application Load Balancer
    • Обработка логов Cloud Logging
    • Настройка реагирования в Cloud Logging и Yandex Cloud Functions
    • Поиск событий Yandex Cloud в Cloud Logging
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Обучающие курсы

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

  • Перед началом работы
  • Создайте поток данных Data Streams
  • Создайте лог-группу Cloud Logging
  • Запустите отправку данных в лог-группу
  • Подключите Query к потоку данных
  • Выполните запрос к данным
  • См. также
  1. Практические руководства
  2. Обработка логов Cloud Logging

Обработка логов Yandex Cloud Logging

Статья создана
Yandex Cloud
Обновлена 28 января 2025 г.
  • Перед началом работы
  • Создайте поток данных Data Streams
  • Создайте лог-группу Cloud Logging
  • Запустите отправку данных в лог-группу
  • Подключите Query к потоку данных
  • Выполните запрос к данным
  • См. также

Yandex Cloud Logging — это сервис, который позволяет читать и записывать логи сервисов Yandex Cloud и пользовательских приложений.

Логи можно отправить в поток Yandex Data Streams и далее обработать в реальном времени с помощью Yandex Query. Обработанные данные можно:

  • отправить в Yandex Monitoring для построения графиков и алертинга;
  • записать в поток Data Streams и далее отправить на обработку в Yandex Cloud Functions;
  • записать в поток Data Streams и далее передать в Yandex Data Transfer для отправки в различные системы хранения.

cloud-logging-to-yq

В этом сценарии вы отправите логи Cloud Logging в поток Data Streams, а затем выполните к ним запрос с помощью Query. В результате выполнения запроса вы получите количество сообщений по каждому хосту, сгруппированное по интервалам продолжительностью 10 секунд.

Для выполнения сценария:

  1. Создайте поток данных Data Streams.
  2. Создайте лог-группу Cloud Logging.
  3. Запустите отправку данных в лог-группу.
  4. Подключите Query к потоку данных.
  5. Выполните запрос к данным.

Перед началом работыПеред началом работы

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

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

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

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

Установите интерфейс командной строки Yandex Cloud.

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

Создайте поток данных c именем cloud-logging-stream.

Создайте лог-группу Cloud LoggingСоздайте лог-группу Cloud Logging

Создайте лог-группу c именем cloud-logging-group. При задании параметров лог-группы укажите созданный на предыдущем шаге поток данных cloud-logging-stream.

Запустите отправку данных в лог-группуЗапустите отправку данных в лог-группу

Чтобы запустить отправку данных в лог-группу, выполните следующую команду:

while true; do yc logging write \
  --group-name=cloud-logging-group \
  --message="test_message" \
  --timestamp="1s ago" \
  --level=INFO \
  --json-payload='{"request_id": "1234", "host":"test_host"}' \
  --folder-id b1kmrhakmf8a********; \
  sleep 1; \
done
  • --group-name — название лог-группы, в которую отправляются сообщения;
  • --message — текст сообщения;
  • --json_payload — дополнительные данные сообщения в формате JSON;
  • --folder-id — идентификатор каталога, в котором создана лог-группа.

Примечание

Флаги --group-name, --message, --json-payload можно опустить и указать только значения параметров. Например: cloud-logging-group "test_message" '{"request_id": "1234", "host":"test_host"}'.

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

  1. Создайте соединение с именем cloud-logging-connection и типом Data Streams.
  2. На странице создания привязки:
    • Выберите Автоматически заполнить настройки для Cloud Logging.
    • Введите имя привязки cloud-logging-binding.
    • Укажите поток данных cloud-logging-stream.
    • Задайте формат json-list.
  3. Нажмите кнопку Создать.

Выполните запрос к даннымВыполните запрос к данным

В редакторе запросов в интерфейсе Query выполните следующий запрос:

$cloud_logging_data = 
SELECT 
    CAST(JSON_VALUE(data, "$.timestamp") AS Timestamp) AS `timestamp`,
    JSON_VALUE(data, "$.jsonPayload.host") AS host
FROM bindings.`cloud-logging-binding`;

SELECT 
    host, 
    COUNT(*) AS message_count, 
    HOP_END() AS `timestamp`
FROM $cloud_logging_data
GROUP BY 
    HOP(`timestamp`, "PT10S", "PT10S", "PT10S"), 
    host
LIMIT 2;

Результат:

# host message_count timestamp
1 "test_host" 3 2023-05-09T10:34:00.000000Z
2 "test_host" 4 2023-05-09T10:34:10.000000Z

Примечание

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

См. такжеСм. также

  • Чтение данных из Data Streams с помощью соединений в Query.

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

Предыдущая
Настройки логирования для Ingress-контроллеров Application Load Balancer
Следующая
Настройка реагирования в Cloud Logging и Yandex Cloud Functions
Проект Яндекса
© 2025 ООО «Яндекс.Облако»