Мониторинг состояния трансфера
Данные о состоянии трансфера доступны в консоли управления:
- Краткая информация представлена на временной шкале в разделе Обзор для выбранного трансфера в сервисе Data Transfer
. В правой верхней части шкалы вы можете выбрать интервал для просмотра — час, день или неделю. Интервал разбит на сегменты. Наведите курсор на сегмент, чтобы узнать сколько байт и строк перенес трансфер за соответствующий период времени или просмотреть сообщения об ошибках. - Подробная диагностическая информация представлена в виде графиков. Их можно посмотреть на вкладке Мониторинг страницы управления трансфером или в сервисе Yandex Monitoring.
Вы можете настроить алерты в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе трансфера. В Yandex Monitoring используются два порога срабатывания алерта: Warning
и Alarm
. При превышении заданного порога вы получите оповещения через настроенные каналы уведомлений.
Отслеживать состояние трансферов и получать логи их работы можно и в мобильном приложении Yandex Cloud.
Мониторинг состояния трансфера
- Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы. - Нажмите на имя нужного трансфера и выберите вкладку
Мониторинг. - Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку Открыть в Monitoring на панели сверху.
На странице появятся графики:
Number of source events
publisher.data.changeitems
Число событий на источнике, сгенерированных для переноса (события помимо переносимых данных могут содержать технические операции).
Number of target events
sinker.pusher.data.changeitems
Число событий, записанных в приемник (события помимо переносимых данных могут содержать технические операции).
Maximum data transfer delay
sinker.pusher.time.row_max_lag_sec
Максимальное отставание данных (в секундах).
Reads
publisher.data.bytes
Объем считанных из источника данных (в байтах).
Data transfer delay
sinker.pusher.time.row_lag_sec
Разница между временем появления записей на приемнике и временем их появления на источнике (в секундах). Гистограмма разбита на диапазоны (bin
). Допустим, в выбранный момент времени на гистограмме представлены два диапазона bin
45 и 60, со значением 50% каждый. Это означает, что половина переносимых в этот момент записей имела задержку передачи от 30 до 45 секунд, а половина — от 45 до 60 секунд.
Source buffer size
publisher.consumer.log_usage_bytes
Объем буфера или журнала опережающей записи (там, где он поддерживается) в источнике (в байтах).
Rows written to target, by table
sinker.table.rows
50 таблиц с максимальным количеством записанных в приемник строк.
Target response time
sinker.pusher.time.batch_push_distribution_sec
Полное время записи в приемник батча данных с учетом предварительной обработки (в секундах).
Rows awaiting transfer, by table
task.snapshot.remainder.table
Количество строк, ожидающих переноса.
Operation status
task.status
Тип выполняющейся операции: 1
— задача активна.
Настройка алертов в Yandex Monitoring
- В консоли управления
выберите каталог с трансфером, для которого нужно настроить алерты. - В списке сервисов выберите
Monitoring. - В блоке Сервисные дашборды выберите Data Transfer.
- На нужном графике нажмите на значок
и выберите пункт Создать алерт. - Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите Продолжить. Подробнее о языке запросов см. в документации Yandex Monitoring.
- Задайте значения порогов
Alarm
иWarning
для срабатывания алерта. - Нажмите кнопку Создать алерт.
Рекомендованные алерты
Число событий источника
Срабатывание алерта означает, что на протяжении окна вычисления база-источник не генерировала реплицируемых Data Transfer событий (отдельных элементов данных).
Возможные причины срабатывания:
- База-источник недоступна по сети для Data Transfer. Например, из-за отзыва доступов или из-за отказа базы-источника.
- На базе-источнике отсутствуют данные для репликации.
Параметры алерта:
-
Метрики:
<имя_облака> > <имя_каталога>
service = data-transfer
name = publisher.data.changeitems
derivative()
(в разделе Преобразование) -
Настройки алерта:
- Условие срабатывания —
Меньше или равно
. - Alarm —
0
. - Warning —
-
.
Можно дополнительно задать условие срабатывания
Warning
для ситуаций, когда число реплицируемых операций ниже ожидаемого значения.Дополнительные настройки:
- Функция агрегации —
Максимум
. - Окно вычисления —
5 минут
. Если в базе-источнике изменения происходят реже одного раза в 5 минут, увеличьте окно вычисления до максимально допустимого интервала между двумя DML-операциями с данными в источнике.
- Условие срабатывания —
Число событий приемника
Срабатывание алерта означает, что на протяжении окна вычисления в базу-приемник не записывались реплицируемые события Data Transfer.
Возможные причины срабатывания:
- База-источник или база-приемник недоступны по сети для Data Transfer. Например, из-за отзыва доступов или из-за отказа базы-источника или базы-приемника.
- На базе-источнике отсутствуют данные для репликации.
- Данные из базы-источника не могут быть реплицированы в базу-приемник. Например, из-за ограничений целевого типа данных в базе-приемнике.
Параметры алерта:
-
Метрики:
<имя_облака> > <имя_каталога>
service = data-transfer
name = sinker.pusher.data.changeitems
derivative()
(в разделе Преобразование) -
Настройки алерта:
- Условие срабатывания —
Меньше или равно
. - Alarm —
0
. - Warning —
-
.
Можно дополнительно задать условие срабатывания
Warning
для ситуаций, когда число реплицируемых операций ниже ожидаемого значения.Дополнительные настройки:
- Функция агрегации —
Максимум
. - Окно вычисления —
5 минут
. Если в базе-источнике изменения происходят реже одного раза в 5 минут, увеличьте окно вычисления до максимально допустимого интервала между двумя DML-операциями с данными в источнике.
- Условие срабатывания —
Максимальная задержка передачи данных
Срабатывание алерта означает, что на протяжении окна вычисления разница во времени между моментом исполнения операции со строками в источнике и в приемнике превысила заданный порог.
Возможные причины срабатывания:
- База-приемник недоступна по сети для Data Transfer. Например, из-за отзыва доступов или из-за отказа базы-приемника.
- Нехватка ресурсов для репликации. Например, нагрузка на базу-источник превышает возможности виртуальной машины, на которой запущена репликация Data Transfer.
- Данные из базы-источника не могут быть реплицированы в базу-приемник. Например, из-за ограничений целевого типа данных в базе-приемнике.
Параметры алерта:
-
Метрики:
<имя_облака> > <имя_каталога>
service = data-transfer
name = sinker.pusher.time.row_max_lag_sec
-
Настройки алерта:
- Условие срабатывания —
Больше или равно
. - Alarm —
15
. Если база-приемник медленная, или реплицируются сразу большие блоки данных, задайте максимально возможное значение. - Warning —
-
.
Дополнительные настройки:
- Функция агрегации —
Минимум
. - Окно вычисления —
1 минута
.
- Условие срабатывания —
Чтение
Срабатывание алерта означает, что на протяжении окна вычисления из источника не было прочитано ни одного байта данных.
Возможные причины срабатывания:
- База-источник недоступна по сети для Data Transfer. Например, из-за отзыва доступов или из-за отказа базы-источника.
- На базе-источнике отсутствуют данные для репликации.
Параметры алерта:
-
Метрики:
<имя_облака> > <имя_каталога>
service = data-transfer
name = publisher.data.bytes
derivative()
(в разделе Преобразование) -
Настройки алерта:
- Условие срабатывания —
Равно
. - Alarm —
0
. - Warning —
-
.
Дополнительные настройки:
- Функция агрегации —
Максимум
. - Окно вычисления —
15 минут
. Если в базе-источнике изменения происходят реже одного раза в 15 минут, увеличьте окно вычисления до максимально допустимого интервала между двумя DML-операциями с данными в источнике.
- Условие срабатывания —
Особенности работы с алертами
- Чтобы определить причины сбоя трансфера, проверьте все имеющиеся алерты. Информация о том, какие алерты сработали, а какие — нет, позволит определить причину более точно. Например, если алерт Число событий источника сработал, а алерт Число событий приемника не сработал, вероятнее всего проблема не на источнике.