Sergey
21.05.2018
12:23:29
но ессно она ничего читать не умеет - ты В нее пишешь, либо ИЗ нее читаешь
Pablo
21.05.2018
12:24:13
Ты в нее *пушишь*
Sergey
21.05.2018
12:24:29
но как + все библиотеки обвязки умеют понимать что они записали данные и все норм, можно слать следующий пакет
ага
Google
Pablo
21.05.2018
12:25:25
А как минус - Кафка геморройная весьма
Sergey
21.05.2018
12:26:26
из пушеров которых почти всегда достаточно - collectd - он при недоступности точки записи некоторое время в себе держит метрики, но протокол графита изначально никто не затачивал на то что прям ничего терять низя, т.к. бай дизайн терять какой то процент метрик вполне нормально
кафка прям лапочка :) если ее сравнивать со всякими там эластиками или кролями и прочим
Andor
21.05.2018
12:27:33
ну кролик тоже хороший, но сильно другой
кажется это оффтоп
Sergey
21.05.2018
12:28:01
вот за почти год использования всегда было понятно что с ней не так и почему и это было пару тройку раз когда сам ступил
ну в рамках доставки метрик вроде как и не оффтоп, но мало кому надо такое себе тащить
Andor
21.05.2018
12:29:01
ну тот же project frankenstein тоже на кафке был основан
он же project vulkan
ныне почивший
Sergey
21.05.2018
12:29:43
возможно я реанимировал франкенштайна, надо глянуть что там было, про вулкан вроде читал
а, на проме
Andor
21.05.2018
12:30:41
https://github.com/digitalocean/vulcan
Google
Andor
21.05.2018
12:30:42
угу
Sergey
21.05.2018
12:32:06
эммм.... не то окно?
Andor
21.05.2018
12:32:09
да ну, зачем мне это
Anton
21.05.2018
12:32:20
пардоньте
Andor
21.05.2018
12:32:28
жалко ничего НДА не рассказал :(
скучно
Sergey
21.05.2018
12:33:02
ну да только фоток с субботников тут не хватало :)
Anton
21.05.2018
12:33:05
Pablo
21.05.2018
12:33:38
ныне почивший
Откуда такие сведения? А их текущий мониторинг не через вулкан работает?
Andor
21.05.2018
12:34:02
не знаю как их нынешний. но репозиторий архивирован и в рид-онли
Gleb
21.05.2018
12:34:02
написано же огромными буквами
Warning: This project is currently not maintained, and there is no plan to do so ATM.
Andor
21.05.2018
12:34:15
думаю они за два года всё переделать успели
> This repository has been archived by the owner. It is now read-only.
Sergey
21.05.2018
12:34:38
они его собрали ради теста и перед каким то промкомом, а вот что там дальше было я как то нить потерял
Andor
21.05.2018
12:34:55
два года назад это было, на промкон 2016
Andrey
21.05.2018
12:40:46
так я как раз вчера листал про лонг терм стораджи, у них же теперь всё переделано и через те же плагины, как понимаю в тот же инфлюкс они умеют в обе стороны
Andor
21.05.2018
12:41:33
угу
но держать инфлюкс в проде это такое
Andrey
21.05.2018
12:42:39
ну там на выбор, но чтение/запись, из официального выбор не особо велик
Google
Vasilii
21.05.2018
12:48:11
Пушить хорошо когда агенты живут недолго и динамически создаются, а пулить когда они более статичные и предварительно данные сами обрабатывают
Sergey
21.05.2018
12:59:45
это некоторое общее правило, хотелок с исключениями полно
Центральной системе проще работать в режиме пулла т.к. нет вероятности того что в одну секунду ничего не прилетит а в другую прилетит 10М метрик и их надо прожевать и никого из агентов не обидеть.
Агенты в этом случае тоже более простые по логике - вот я что то собрал а взяли это с меня или нет - мне пофигу. По этому пути пошел пром (там скорее всего были и другие причины, но понедельник и я мало кофе выпил)
Но у этой схемы есть заложенная в нее особенность - если что то протупило в центральной системе то мы теряем метрики сразу по целому контуру.
Artem
21.05.2018
13:12:11
Хуевая особенность, имхо ?
Sergey
21.05.2018
13:13:12
ну можно поставить 2 прома... или 3 и таким макаром снижать вероятность такой ситуации, но как то красота решения начинает падать
вот если в стек впихнуть MQ которая по производительности » остальных компонент - мы получаем плюсы и той и той архитектуры, но как "-" наш стек становится сложнее
Pablo
21.05.2018
13:31:34
У нас вот было соображение (пока не реализованное) что mq в идеале должна работать как stack, потому что если агент затупил (или не было связи), собрал много данных и прислал большую пачку, а другие агенты продолжали и продолжают нормально все присылать, то пачку хорошо бы обрабатывать только в те моменты когда текущие, "свежие" данные уже обработаны
Andor
21.05.2018
13:34:08
kafka так умеет
Pablo
21.05.2018
13:34:17
такой QoS как бы.
Andor
21.05.2018
13:34:36
что именно?
Pablo
21.05.2018
13:34:58
Как именно это на кафке ты подразумеваешь делать?
Andor
21.05.2018
13:35:07
хм, кажется я неправильно прочитал
Pablo
21.05.2018
13:35:27
разные топики? или консьюмеры "перескакивают" на конец, а потом дочитывают непрочитанное? или как?
No1
21.05.2018
13:37:14
Логика такая должна быть на стороне консьюмера. Кафка такую магию с временем не умеет.
Pablo
21.05.2018
13:37:15
У нас в первом приближении что-то такое есть, но не достаточно системно.
Andor
21.05.2018
13:37:36
кажется надо начать с того, чтобы как-то определять, какие данные приехали пачкой старые, а какие реалтайм
и если можно это определить, то можно да, тупо в разные топики класть
Pablo
21.05.2018
13:38:04
ну вот "перескочить" на последние записи - я еще понимаю как сделать. А как сделать дочитку непрочитанного ппотом — это какой-то геммор.
У нас просто вот недавно прям был реальный случай когда у клиента "проснулся" агент, который два месяца ничего не присылал (выяснилось, что они его сами по сети отрубили от всего). Но агент все это время собирал данные исправно и тут начал за все это время их присылать. И хоть у агента есть лимит сколько он старых данных хранит, там все два месяца влезли, т.к. пожалось хорошо.
Google
Andor
21.05.2018
13:40:03
не, ну проблема понятна
Pablo
21.05.2018
13:40:07
Ну и он исправно залил все за эти месяцы. Нам конечно часть пайплайна свежих метрик при этом просадил немного.
Andor
21.05.2018
13:40:46
а не проще было горизонтально размасштабировать консьюмеры?
или что-то мешало так сделать?
типа "много данных - много консьюмеров-воркеров в консьюмер-группе"
"мало данных - мало воркеров"
No1
21.05.2018
13:42:24
Там думаю паника была из за данных, которые сломали текущую картину
Pablo
21.05.2018
13:42:39
Они скейлятся, но все равно - он "лил старье" какое-то ощутимое время и часть партициий на несколько порядков получали больше работы чем обычно.
Сильнее чем по партициям консьюмеров не заскейлишь все равно
Andor
21.05.2018
13:43:37
можно конечно придумать способ сделать приоритет историческим данным пониже через отдельные топики например
но имхо лучше придумать и сделать так чтобы присылание данных за два месяца не было проблемой
сколько там данных-то за два месяца пришло?
No1
21.05.2018
13:44:33
Pablo
21.05.2018
13:45:22
нет, агент записывает время когда он что снял.
No1
21.05.2018
13:45:42
И в чем необходимость старых метрик?
Andor
21.05.2018
13:46:47
наверное на стороне приёмника (который кладёт данные в кафку) можно отфильтровывать по времени и если слишком старые данные - класть в отдельный топик
и потом неспеша отдельным воркером перекладывать из отдельного топика в обычный поглядывая на загрузку воркеров (чтобы не бахнуть слишком много, что по описанию задачи является проблемой)
Sergey
21.05.2018
13:46:57
по идее это надо конфигурить на агенте, чтобы он дропал все что старше того что потеряло актуальность
Andor
21.05.2018
13:47:00
пиздеть не мешки ворочать!
Google
No1
21.05.2018
13:48:03
Зачем нужны старые не актуальные данные?
Pablo
21.05.2018
13:48:06
Sergey
21.05.2018
13:48:22
но так то это можно сделать 2 топиками - в один льется сырятина во вторую группа демонов перекладывает то что прилетело в 1 по условию, я это стейтлесс парсерами на ГО реализовывал, возможно кафка стрим можно прикрутить
ну вот нафига данные с сервера если на нем небыло сети 2 месяца? :)
Andor
21.05.2018
13:48:56
Pablo
21.05.2018
13:49:07
во во!
Sergey
21.05.2018
13:49:47
если была и он был рабочий то значит роутинг неправильный раз можно отрезать от него мониторинг так что бы он продолжал быть рабочим
но все конечно сильно запарено от того как оно вообще и в частностях
Pablo
21.05.2018
13:50:13
т.е. в общем случае данные нельзя считать протухшими
Sergey
21.05.2018
13:50:48
ну вот у меня по кафке в подсетке с хостами лежит (чтобы вообще роутинга небыло), и с них данные кушаются в центральную кафку
в общем случае конечно низя
вопрос стоимости всегда надо поднимать
Pablo
21.05.2018
13:51:30
у нас то клиенты разнообразные, мы не можем просто так решить за всех. Потом клиент приходит посмотреть как там за год картина выглядит например и не понимает почему где-то чего-то нет.
Sergey
21.05.2018
13:52:02
мне близка ваша боль хоть и не в такой степени :)
Pablo
21.05.2018
13:52:09
Там почти гиг был выделен агенту для старых данных, ну вот он столько и прислал примерно вроде
Sergey
21.05.2018
13:53:09
ну вот много кафок - одно из решений либо распиливание одного топика на два
vladimir
21.05.2018
14:57:51
У нас совсем недавно была похожая ситуация, один из контейнеров зарезали фаерволом, потом разбанили ему порт до графита, и он отправил всё что накопил, 68 млн метрик. Разъжевали вообще без каких либо проблем, на память остался 30секундный пик на графиках приема метрик в КХ
Andor
21.05.2018
14:59:45
Ну гиг вроде не безумно большой объём
Sergey
21.05.2018
15:23:58
2М в секунду - норм