Size: a a a

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

2021 March 10

[K

[IPT] Dmitry Knyazev in Церковь метрик
а очень больно prometheus 2.7.0 -> 2.25.0?
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
rollup правила у нас очень простые:
        <default>
               <function>avg</function>
               <retention>
                       <age>0</age>
                       <precision>30</precision>
               </retention>
               <retention>
                       <age>3024000</age>
                       <precision>300</precision>
               </retention>
       </default>
Но это получается что даже gauge и счетчики старше 3,5 дня у вас усредняются. Никто еще не обнаружил подставы?
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
Под Графит 12 серверов, под StatsD 3. Но это вообще копейки по сравнению с booking, у них еще год назад серверов 300 под Графитом было.
А у Букинга тот же стек, не знаете?
источник

vk

vladimir kolobaev in Церковь метрик
blkmrkt
Но это получается что даже gauge и счетчики старше 3,5 дня у вас усредняются. Никто еще не обнаружил подставы?
35 дней, да все так, а в чем подстава - тебя на исторических данных, свыше месяц (+ пара тройка дней), скорее всего, будет интересовать общий тренд поведения метрик. При этом если тебя интересуют реальные значения по количеству событий, то ты используешь что-то вроде movingAverage(5min) + scale(10) и получаешь нужные значения.
источник

vk

vladimir kolobaev in Церковь метрик
blkmrkt
А у Букинга тот же стек, не знаете?
вот тут не подскажу.
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
35 дней, да все так, а в чем подстава - тебя на исторических данных, свыше месяц (+ пара тройка дней), скорее всего, будет интересовать общий тренд поведения метрик. При этом если тебя интересуют реальные значения по количеству событий, то ты используешь что-то вроде movingAverage(5min) + scale(10) и получаешь нужные значения.
Но ведь все ваши счетчики хитов, вместо суммирования абсолютных значений схлопнутся в усредненные каждые 5 минут же! Кому дело до того сколько у них было посетителей "в среднем каждые 5 минут 2 месяца назад" например?

Gauges которые отправляются много раз в минуту тоже усреднятся, причем до дробных чисел. У нас например один скрипт мониторит достук до ssh агентов оффсайт и отправляет gauge 1 если есть коннект и 0 если коннекта нет. Тут просто катастрофа была бы, если б мы это усредняли.
источник

VS

Vladimir Smirnov in Церковь метрик
blkmrkt
А у Букинга тот же стек, не знаете?
Тут раньше были люди из букинга, они лучше ответят, мне кажется: @stepashka до сих пор там.

Но по косвенным признакам у них их форк carbonapi, whisper с go-carbon’ом и их nanotube как балансер. Возможно что-то еще. И у них два параллельных стека (по косвенным признакам) - графитный и prometheus.
источник

vk

vladimir kolobaev in Церковь метрик
blkmrkt
Но ведь все ваши счетчики хитов, вместо суммирования абсолютных значений схлопнутся в усредненные каждые 5 минут же! Кому дело до того сколько у них было посетителей "в среднем каждые 5 минут 2 месяца назад" например?

Gauges которые отправляются много раз в минуту тоже усреднятся, причем до дробных чисел. У нас например один скрипт мониторит достук до ssh агентов оффсайт и отправляет gauge 1 если есть коннект и 0 если коннекта нет. Тут просто катастрофа была бы, если б мы это усредняли.
> сколько у них было посетителей "в среднем каждые 5 минут 2 месяца назад" например
Умножаем это число на 10, получаем реальные значения количества пользователей за 5 минут.
источник

vk

vladimir kolobaev in Церковь метрик
Средняя нам нужна, чтобы она с текущими данными не сильно расходилась когда смотрим за последние пол года/год, и текущие данные не являются суммой за весь 5-минутный интервал.
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
> сколько у них было посетителей "в среднем каждые 5 минут 2 месяца назад" например
Умножаем это число на 10, получаем реальные значения количества пользователей за 5 минут.
Не понимаю...

sum(1,2,1,4) = 8
avg(1,2,1,4) = 2
avg(1,2,1,4)*10 = 20
источник

VS

Vladimir Smirnov in Церковь метрик
blkmrkt
Не понимаю...

sum(1,2,1,4) = 8
avg(1,2,1,4) = 2
avg(1,2,1,4)*10 = 20
Вопрос в том что делать с данными. Просто надо всегда понимать что у тебя случится с аггрегацией
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
Средняя нам нужна, чтобы она с текущими данными не сильно расходилась когда смотрим за последние пол года/год, и текущие данные не являются суммой за весь 5-минутный интервал.
Ага окей, это понимаю! Вы смотрите не на абсолютные графики, а на movingAverage!
источник

vk

vladimir kolobaev in Церковь метрик
потому что у тебя 4 точки в примере, а у нас 10, потому что средняя за 5 минут по 30сек точкам
источник

b

blkmrkt in Церковь метрик
Тогда все окей конечно, но вы не сможете ответить на вопрос "сколько было хитов с даты Х по дату Y"...
источник

vk

vladimir kolobaev in Церковь метрик
blkmrkt
Тогда все окей конечно, но вы не сможете ответить на вопрос "сколько было хитов с даты Х по дату Y"...
почему это?
источник

vk

vladimir kolobaev in Церковь метрик
у нас лежат средние 5минутные значения (за 10 точек).
summarize(scale($series, 10),'1d', 'sum')
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
почему это?
Вообще да, получается довольно точно!

А как вы энфорсите эти 10 точек в 5 минут? Контролируете клиентов чтоб они их не слали слишком часто, или схлопываете их каждые 30сек до прихода в КХ?
источник

vk

vladimir kolobaev in Церковь метрик
blkmrkt
Вообще да, получается довольно точно!

А как вы энфорсите эти 10 точек в 5 минут? Контролируете клиентов чтоб они их не слали слишком часто, или схлопываете их каждые 30сек до прихода в КХ?
1) у нас statsd высылает агрегаты раз в 30 сек
2) collectd/telegraf отправляют метрики каждые 30сек
3) на стороне графита стоит carbon-clickhouse, у него в конфиге сказано, бери все точки по метрике за 30 сек и пиши среднее значение в Графит.
источник

b

blkmrkt in Церковь метрик
vladimir kolobaev
1) у нас statsd высылает агрегаты раз в 30 сек
2) collectd/telegraf отправляют метрики каждые 30сек
3) на стороне графита стоит carbon-clickhouse, у него в конфиге сказано, бери все точки по метрике за 30 сек и пиши среднее значение в Графит.
Все понял, спасибо!
источник

b

blkmrkt in Церковь метрик
У меня сейчас мозг сломался от такой коммутативности:

avg(list)*len(list) = sum(list)

Втф, я никогда от этом не задумывался.
источник