Size: a a a

Церковь метрик

2019 December 30

AS

Aleksey Shirokikh in Церковь метрик
vladimir kolobaev
Если мы на лету их парсим, нормализуем, и отправляем в статсд в виде событий, а потом с помощью функции отображаем только время ответа тех ручек, количество обращений к которым больше N, это постаналитика или предзнание?
ну и кстати как вы отслеживаете в такой схеме baseline ?
источник

AS

Aleksey Shirokikh in Церковь метрик
предполагаю что у вас должны быть рваные графики
источник

vk

vladimir kolobaev in Церковь метрик
Aleksey Shirokikh
ну и кстати как вы отслеживаете в такой схеме baseline ?
Не понял!
источник

AS

Aleksey Shirokikh in Церковь метрик
vladimir kolobaev
Не понял!
если вы мониторите только загруженные ручки то у вас обязательно будут ручки на грани. между не мониторить и мониторить. для них то надо скидывать в statsd то нинадо
источник

AS

Aleksey Shirokikh in Церковь метрик
в итоге график будет либо врать либо рваный
источник

vk

vladimir kolobaev in Церковь метрик
В Графите есть функция aboveSeries() - которая возвращает весь временной ряд значение которого, в указанном интервале, хотя бы раз превышало указанное значение. Этот подход нам позволяет возвращать серии целиком, не отфильтровывая точки.
источник

AS

Aleksey Shirokikh in Церковь метрик
но секундочку у вас не будет точек ниже границы ведь вы их выкинули до того как прислали в графит ?
источник

AS

Aleksey Shirokikh in Церковь метрик
или же вы всё таки собираете все и потом отрисоываете только те которые выше?
источник

vk

vladimir kolobaev in Церковь метрик
Aleksey Shirokikh
в итоге график будет либо врать либо рваный
В статсд мы отправляем все точки без какой либо фильтрации
источник

vk

vladimir kolobaev in Церковь метрик
А фильтруем уже на стороне графита
источник

DS

Dmitry Sergeev in Церковь метрик
vladimir kolobaev
Если мы на лету их парсим, нормализуем, и отправляем в статсд в виде событий, а потом с помощью функции отображаем только время ответа тех ручек, количество обращений к которым больше N, это постаналитика или предзнание?
А можете подробней схему описать? Сколько rps на балансерах, и сколько ресурсов требуется, чтобы обработать эти логи, нормализовать и отправить куда-то в виде метрик? Как быстро они доезжают? Я просто пока с такими задачами не сталкивался, везьде где была хоть какая-то нагрузка, достаточно было логов ошибок и долгих запросов.
источник

AS

Aleksey Shirokikh in Церковь метрик
vladimir kolobaev
В статсд мы отправляем все точки без какой либо фильтрации
тогда это типичная постаналитика. вы собрали все и потом уже отрисовали top
источник

AS

Aleksey Shirokikh in Церковь метрик
vts вполне так даст сделать. но согласен поток может быть очень большим
источник

AS

Aleksey Shirokikh in Церковь метрик
особенно если их и правда миллион
источник

AS

Aleksey Shirokikh in Церковь метрик
с другой стороны так получается дешевле ибо nginx-у ничего этого знать не надо.
источник

AS

Aleksey Shirokikh in Церковь метрик
лог формат поправил и раскидал по нужным инстансам
источник

vk

vladimir kolobaev in Церковь метрик
Dmitry Sergeev
А можете подробней схему описать? Сколько rps на балансерах, и сколько ресурсов требуется, чтобы обработать эти логи, нормализовать и отправить куда-то в виде метрик? Как быстро они доезжают? Я просто пока с такими задачами не сталкивался, везьде где была хоть какая-то нагрузка, достаточно было логов ошибок и долгих запросов.
Логов у нас примерно 16 млн_строк/мин. Парсеры стоят прямо хостах рядом с nginx. Каждый жрет примерно   5% одного ядра. Все логи отправляются в виде события: "нормализованная_ручка: время_ответа|ms", в статсд-кластер. В результате чего, через 30сек(интервал сбора метрик) попадают в Графит
источник

DS

Dmitry Sergeev in Церковь метрик
vladimir kolobaev
Логов у нас примерно 16 млн_строк/мин. Парсеры стоят прямо хостах рядом с nginx. Каждый жрет примерно   5% одного ядра. Все логи отправляются в виде события: "нормализованная_ручка: время_ответа|ms", в статсд-кластер. В результате чего, через 30сек(интервал сбора метрик) попадают в Графит
то есть 266K RPS прилетает в сумме по всем серверам.
А что за парсеры, и почему так мало жрут?
источник

AS

Aleksey Shirokikh in Церковь метрик
а зачем им вообще парсить если можно сделать friendly строки
источник

AS

Aleksey Shirokikh in Церковь метрик
и парсинг сведется в string.split("|")
источник