Рекомендации по анализу метрик
Этот раздел предназначен для системных администраторов, которые отвечают за стабильную работу кластеров и компонентов TCF. Здесь собраны рекомендации по интерпретации метрик, собираемых с кластеров, и действиям в случае отклонений от нормы. Рекомендации помогут быстрее реагировать на инциденты, а также использовать метрики как инструмент для проактивного мониторинга, оценки производительности и планирования ресурсов.
Эти метрики помогают выявлять проблемы с задержками репликации, некорректным состоянием кластеров, а также общим здоровьем технологических ролей TCF-worker и TCF-coordinator.
Метрика | Описание возможной проблемы | Решение |
|---|---|---|
| Кластер работает в пассивном режиме, когда должен быть активен | Убедитесь, что кластер действительно должен быть активным. + Проверьте конфигурацию кластеров. + При необходимости вручную переключите нужный кластер в активное состояние. Начальное состояние кластера при запуске указано в конфигурации опции initial_status. |
| Задержка в репликации. Значение метрики отстает от | Проверьте состояние кластеров, возможны проблемы с мастер-узлами. + Посмотрите журналы Gateway и Destination. + Отслеживайте динамику: растет ли отставание со временем. + Если задержка большая или продолжает увеличиваться, проверьте состояние сети и доступность кластеров. + «Большим» отставанием можно считать значение от ~1000, но порог может зависеть от нагрузки и частоты изменений. |
| Ошибки при работе HTTP-интерфейсов компонентов | Найдите путь ( |
| Значение метрики не растет при ожидании активности | Возможна перегрузка, зависание или отсутствие клиентских изменений от исходного кластера. |
| Значение примененной сигнатуры | Если значение метрики отстает от |
Метрики отслеживают общее состояние репликации между кластерами: от чтения данных на стороне Gateway до доставки и обработки их в Destination.
Метрика | Описание возможной проблемы | Решение |
|---|---|---|
| Ошибки при отправке данных на Destination. Значение метрики растет | Проверьте записи журнала типа |
| Ошибки при чтении из исходного кластера. Значение метрики растет | Проверьте записи журнала Gateway. + Убедитесь, что исходный кластер доступен. |
| Ошибки HTTP API Gateway: метрика показывает рост ошибок | Убедитесь, что используемые методы и пути API корректны. +
При появлении ошибок |
| Количество событий, отправленных из Destination | Используйте в паре с |
| Количество событий, полученных от Gateway | Сравните с |
| Текущее состояние репликации, полученное от Gateway | Следите за ростом. +
Если не растет — проверьте записи журнала, |
| Состояние репликации, отправленное в целевой кластер | Следите за ростом. +
Если роста нет — возможны ошибки |
| Ошибки при получении данных | Перезапустите Gateway или проверьте соединение. |
| Ошибки при отправке данных на целевой кластер | Проверьте записи журнала Destination. + Убедитесь, что целевой кластер доступен. |
| Ошибки API Destination: метрика показывает рост | Проверьте методы и корректность запросов. +
При |
| Метрика отсутствует в Grafana/Prometheus или отображается не у всех компонентов | Убедитесь, что метрика есть у всех компонентов (Gateway, Destination). +
Проверьте лейблы |
Системные метрики Go runtime позволяют мониторить внутреннее состояние и производительность приложений, написанных на Go – в данном случае компонентов Gateway и Destination. Тип: gauge.
Метрика | Описание возможной проблемы | Решение |
|---|---|---|
| Значение метрики растет даже при стабильной нагрузке | Следите за ростом значения. Скачкообразный или постоянный рост может сигнализировать об утечках или блокировках. + Проверьте нагрузку и проанализируйте записи журнала. |
| Значение метрики аномально выросло относительно типичных значений кластера | Рост может указывать на проблемы с управлением потоками. +
Ограничьте число потоков через |
| Память используется все активнее и значение постоянно растет | Следите за ростом — возможна утечка памяти. Проверьте, освобождаются ли объекты ( |
| Резкий рост значения метрики | Накопительный счетчик, не требует действий, но резкий рост значения — повод обратить внимание на частоту выделения памяти. |
| Приложение удерживает все больше системной памяти, даже после сборки мусора | Следите за значением, рост значения может быть признаком неэффективного использования ресурсов. Используйте профилирование или принудительную сборку |
| Значение метрики стабильно растет без снижения | Если наблюдается устойчивый рост без снижения: +
— вручную вызовите сборщик мусора ( |
| Значение метрики быстро растет, особенно при низкой активности приложения | Используется для оценки частоты выделения памяти. Проанализируйте записи журнала. |
| Значение метрики отстает от | Должно расти примерно в той же пропорции, что и |
| Резкий рост метрики может сопровождаться падением производительности | Не критично. Вспомогательная метрика. |
| Используемая память в куче растет и не уменьшается после сборки мусора | Если значение увеличивается, возможна утечка памяти. Проанализируйте записи журнала. |
| Рост метрики без снижения после сборки мусора | При росте значения оптимизируйте использование памяти и настройте |
| Значение метрики высокое и не снижается | Возможно, приложение постоянно держит много данных. Проверьте записи журнала, при необходимости вызовите сборщик мусора вручную и посмотрите, снижается ли метрика. |
| Метрика растет, но | Высокое значение может указывать на возможность возврата памяти. Перезапустите процесс. |
| Низкое значение метрики при высокой нагрузке | Если значение низкое и память не освобождается, можно вручную инициировать сборщик мусора или изменить параметры сборки мусора. |
| Память на стеке растет вместе с числом горутин | Рост значения метрики может указывать на большое количество горутин. |
| Метрика растет при масштабировании | Следите за ростом метрики при масштабировании. |
| Значение метрики нестабильно, растет при небольшой нагрузке | Не критично, но важно для полной картины. |
| Память не освобождается после снижения нагрузки | Следите за значением метрики при росте нагрузки. |
| Резкий рост при стабильной нагрузке | При росте значения оптимизируйте использование памяти и настройте |
| Выделенная память не снижается | Следите за значением метрики при росте нагрузки. |
| Значение метрики превышает ожидаемое даже без профилирования | Повышенное значение при включенном профилировании — допустимо. |
| Память на | Рост может быть связан с частыми сборками мусора. Проверьте значения |
| Значение метрики резко растет | Если значение метрики резко выросло, это может указывать на утечки памяти. Рекомендуется зафиксировать момент роста и передать информацию команде разработки для анализа. |
| Время сборки мусора растет, приложение перестает отвечать на запросы | Проверьте нагрузку, частоту выделения памяти и частоту |
| На p75 наблюдаются пики выше 50 мс | Пики выше 50 мс на p75 могут указывать на то, что сборка мусора замедляет работу. Увеличьте интервал между |
| Значение метрики скачет или слишком часто сбрасывается | Проверьте частоту сборок мусора. |