Введение
Неотъемлемой частью любой сложной системы является телеметрия (мониторинг). Она включает в себя сборку логов, сборку различных метрик из разных частей системы, межсервисную трассировку вызовов и в самых критических случаях, если это возможно, — ручное взаимодействие. В этой статье мы остановимся только на процедуре сбора метрик. Возможно, кому-то наш подход покажется архаичным и устаревшим, однако для нас он, как говорится, battleprоven и хорошо себя зарекомендовал в наших условиях.
В основе наших метрик лежит хорошо известная система
Graphite. Здесь мы не будем останавливаться на базовых вещах его конфигурирования и первичной настройки, для этого существует достаточное количество материалов в интернете, скажем лишь то, что от самого проекта Graphite у нас нет практически ничего :). Все его компоненты заменены на более производительные аналоги. В этом, кстати, большое достоинство Graphite: он построен из кубиков, которые легко друг с другом комбинировать и заменять. Остановимся лишь на проблемах, с которыми мы столкнулись в ходе эксплуатации.