
Bogdan (SirEdvin)
05.12.2017
17:18:11

Dmitry
05.12.2017
17:26:47

Сергей
05.12.2017
17:27:26

Марк ☢
05.12.2017
18:48:41
https://habrahabr.ru/company/avito/blog/343928/

Google

Марк ☢
05.12.2017
18:49:04
Как же я запутался в этой хуите
Чр за графит, чо за виспер
Графана, прометей
Телеграф

Сергей
05.12.2017
18:50:10
виспер - дефолтный формат хранения метрик у него
Марк, ты кроме цефа еще чем-то то займись

Eduard
05.12.2017
18:50:52
?

Марк ☢
05.12.2017
18:52:00
Я вот в петон пул реквест сделал нащот мультикастов

Сергей
05.12.2017
18:52:30
Толсто
мужик, тут становится вообще вопрос, как ты мониторишь сервисы

Dmitry
05.12.2017
19:32:06

Google

Dmitry
05.12.2017
19:32:11
CF? Cloudformation?

Сергей
05.12.2017
19:32:22
оооо
ceph.com

Dmitry
05.12.2017
19:32:52
А о ок, да.

Марк ☢
05.12.2017
19:33:27

Aleksandr
05.12.2017
19:36:04
Серх

Oleg
05.12.2017
20:21:45
Цепеха

Denys ??
05.12.2017
21:31:39
пехапе?

Марк ☢
06.12.2017
03:28:08
Эр эн эр

Alexander
06.12.2017
05:22:26

Марк ☢
06.12.2017
06:40:25
тут один чювак называл "public" как павлик

Aleksandr
06.12.2017
06:42:58
пашер на power

Slach
06.12.2017
06:59:29
всем привет
а вот у меня возник вопрос
вот допустим у меня есть prometheus и есть какое то uwsgi - django приложение
из которого пулятся по инстансам метрики типа 90% persentile
и request_count
можно ли из этих двух метрик вытащить общий 90% персентиль по всей системе а не по отдельным инстансам?

Vladimir
06.12.2017
07:01:12

Slach
06.12.2017
07:01:16
меня даже скорее не сам инструментарий интересует, а именно математически, достаточно ли этих данных? или надо честно аггрегирровать время запроса в по каждому запросу в какой нибудь центральный statsd в котором уже раз в минуту считать персентиль?
или алгоритм расчета персентиля есть какой нибудь "вероятностный" который с высокой точностью дает результат но не требует большого кол-ва точек?

Vladimir
06.12.2017
07:01:45

Slach
06.12.2017
07:02:37
а кто как тогда на практике поступает?
я понимаю математический смысл слова персентиль
но кто как тогда на практике то поступает?
когда там 100k rps например?

Bogdan (SirEdvin)
06.12.2017
07:04:21
Пром умеет в мультипроцесорность вроде
Клиент по питон

Google

Slach
06.12.2017
07:06:46
я в курсе что prometheus клиент умеет делать multprocess метрики, меня волнует, как сделать единую картинку по всему кластеру?
ну не выводить же график с сотней time series? по одной на каждый сервер?

Bogdan (SirEdvin)
06.12.2017
07:10:38
А нельзя ли по входным точкам?
Или ещё можно получить количество запросов и посчитать приближенно

Vladimir
06.12.2017
07:12:34
Они частично помогут
Но для случая с питоном это все равно внешний демон что будет считать это все

Bogdan (SirEdvin)
06.12.2017
07:14:25
Нельзя ли просто посчитать как-то так: (p_99_1 * request_count_1 + p_99_2 * request_count_2)/(request_count_1 + request_count_2)
Или это будет неправильно?
А все, я опять перепутал ..

Vladimir
06.12.2017
07:16:29

Evgeny
06.12.2017
07:46:20
Все эти квантили и прочие медианы - не композируются.
А было бы хорошо конечно

Alexander
06.12.2017
07:48:28
Примерно можно определить имея гистограммы всех распределений.

Bogdan (SirEdvin)
06.12.2017
07:49:44
Хм ... разве медианы нельзя собрать взвешенной суммой? То есть оно будет не точно, но вроде не так и плохо. Или я не прав?

Alexander
06.12.2017
07:50:28
нельзя, по-моему

Vladimir
06.12.2017
07:50:39
Правила те же
Оно в части случаев будет на вид не так плохо, но математически станет мусором

Alexander
06.12.2017
07:52:27
Вот два набора данных: 1,2,9 и 9,9,9. Как медианы суммой посчитать?

Slach
06.12.2017
07:54:16
Но для случая с питоном это все равно внешний демон что будет считать это все
я не против чтобы был внешний демон, мне очень не хочется чтобы он был ОДИН этот демон... потому что кол-во метрик растет, кол-во точек тоже растет, я конечно понимаю что я не фейсбук, но даже вон github в свое время довольно сильно помучались с brubek и из коробки он до сих пор 4M points per second не рассчитывает...

Google

Alexander
06.12.2017
07:54:17
перцентиль не говорит ничего о распределении, а оно может быть сильно разным для одного и того же значения.

Slach
06.12.2017
07:55:01
кстати, вот интересный момент!
есть же гистограммы в prometheus
можно же просто суммировать по классу гистограммы кол-во запросов и все

Vladimir
06.12.2017
07:55:34

Alexander
06.12.2017
07:55:42

Vladimir
06.12.2017
07:55:46
А из них потом можно перцентиль получить

Slach
06.12.2017
07:55:46
т.е. мне не очень важна сама цифра 90% persentile = 0.5234234
меня вполне устроит что 10% скритптов от 0.5 до 1 сек

Admin
ERROR: S client not available

Vladimir
06.12.2017
07:56:08

Alexander
06.12.2017
07:56:27
тогда должно быть хорошо

Vladimir
06.12.2017
07:56:38
Но даже если нет, с ними несколько проще и можно получить что то приближенное с приемлемой точностью

Bogdan (SirEdvin)
06.12.2017
07:58:09
Хм, тогда я снова задам глупый вопрос, если вы не против.
Если это веб-приложение, не проще ли тогда мониторить входную точку?
Или я что-то не понимаю?

Slach
06.12.2017
07:58:23
https://github.com/prometheus/client_python#histogram
можно самому бакеты задать

Vladimir
06.12.2017
07:59:46
https://prometheus.io/docs/practices/histograms/
Там таки да, апроксимация перцентилей

Bogdan (SirEdvin)
06.12.2017
08:00:35
Ну просто мне кажется, что расчитывать сводные метрики и делать по ним alert, предположительно, каждый раз будет довольно дорого и не очень рационально.
Можно собирать и там, и там и использовать второй кусок информации для более детального определения проблемы.

Vladimir
06.12.2017
08:00:44
@SirEdvin например у тебя ecmp поверх 10ка балансеров, которые балансируют на тысячу nginx
И это ещё в эн дц, где эн >1

Alexander
06.12.2017
08:03:03
На гисторгаммах не дорого - считать быстро, а потом их можно просуммировать и получить примерную общую картину.

Google

Bogdan (SirEdvin)
06.12.2017
08:08:30
Входных точек тоже может быть несколько
В моем вопросе было зашито предположение, что в данном случае только одна :( Мне кажется, на больших сложных задачах все равно будет собираться большая команда и пилить какие-то свои кастомые накрутки.
Хотя, возможно, я и не прав.

Vladimir
06.12.2017
08:09:00
А получить кучу фронтов вот увы просто
Каждый третий стартап так делает
Нафигачить виртуалок в Авс это ж пара кликов )
Или наплодить докер контейнеров

Slach
06.12.2017
08:11:03
в общем про Гистограммы я уловил, буду в этом направлении думать

Favoretti
06.12.2017
09:04:23

Alexander
06.12.2017
10:32:02
Я правильно понимаю что если уже сделал таблицу в clickhouse ее уже реплицируемой не сделаешь?

Vladimir
06.12.2017
11:40:04
Там вернее ответят

Roman
06.12.2017
11:41:12
А еще ответ на этот вопрос разжеван в документации
https://clickhouse.yandex/docs/ru/single/#mergetree-replicatedmergetree

Ivan
06.12.2017
12:05:58
Всем привет!
Помогите пожалуйста разобраться с прометеем - у меня почему то не работает алертинг в слэк
Правила написал, они переходят в состояние актив, а в слэке тишина((

Единорожа
06.12.2017
12:06:32
Cмотреть логи алертманагера


Ivan
06.12.2017
12:07:00
там пусто ((
time="2017-12-06T11:31:28Z" level=info msg="maintenance done" component=silences duration=27.902µs source="silence.go:250"
time="2017-12-06T11:46:28Z" level=info msg="running maintenance" component=nflog source="nflog.go:288"
time="2017-12-06T11:46:28Z" level=info msg="running maintenance" component=silences source="silence.go:233"
time="2017-12-06T11:46:28Z" level=info msg="maintenance done" component=nflog duration=155.835µs source="nflog.go:305"
time="2017-12-06T11:46:28Z" level=info msg="maintenance done" component=silences duration=50.946µs source="silence.go:250"
time="2017-12-06T12:01:28Z" level=info msg="running maintenance" component=silences source="silence.go:233"
time="2017-12-06T12:01:28Z" level=info msg="running maintenance" component=nflog source="nflog.go:288"
time="2017-12-06T12:01:28Z" level=info msg="maintenance done" component=silences duration=370.919µs source="silence.go:250"
time="2017-12-06T12:01:28Z" level=info msg="maintenance done" component=nflog duration=34.112µs source="nflog.go:305"


Alexander
06.12.2017
12:08:31
ну, блин...