Мой первый пост так что будьте нежны пожалуйста! Итак, у меня есть установка графита, работающая на сервере Ubuntu 16.04. (версия 0.10)
Я отправляю метрики, и все работает нормально, но я отправляю сразу несколько меток времени. Как и в случае, я отправляю данные один раз в минуту с отметками времени в 10 секунд. Каждую минуту поступают новые данные. Может случиться так, что ключ с соответствующей меткой времени (такой же, как и раньше) будет повторно отправлен через минуту. Таким образом, новое значение сохраняется, а последнее теряется из-за того, как работает графит. Поэтому я поставил углеродный агрегатор перед углеродным кешем, думая, что он будет агрегировать значения для каждой временной метки. Это не. Он объединяет все значения, полученные за интервал времени, игнорируя отметки времени.
Я обнаружил, что statsd имеет ту же функциональность. Я хочу, чтобы агрегатор суммировал значения по метке времени. Как и в случае хранения данных, допустим, 1 минута и посмотрим, получена ли точка данных для того же ключа и метки времени. Если да, просуммируйте их. Если таких данных не поступило, отправьте исходные данные в углеродный кеш.
Есть ли способ сделать это с помощью графита или statsd, или мне нужно написать свой собственный небольшой буфер перед углеродным кешем (вместо углеродного агрегатора), который это делает? Это может быть связанный список самодельных структур на языке C, содержащий около 150 строк кода, но это займет драгоценное время.
У кого-то точно была такая же проблема, но кто-нибудь нашел решение?
Bump: никто не сталкивался с этой проблемой?
Заранее спасибо!
Logstash может быть одним из решений.
Он может получать / понимать показатели углерода (https://www.elastic.co/guide/en/logstash/current/plugins-inputs-graphite.html), и его можно заставить генерировать метрики, которые, кажется, делают все Кроме Подведение итогов, которое вы упомянулиhttps://www.elastic.co/guide/en/logstash/current/plugins-filters-metrics.html). Он также может повторно выдавать метрики в формате, понятном графиту (https://www.elastic.co/guide/en/logstash/current/plugins-outputs-graphite.html).
Вы также можете сделать что-нибудь умное с помощью совокупного плагина (https://www.elastic.co/guide/en/logstash/current/plugins-filters-aggregate.html).
Тем не менее, это звучит так, как будто вы могли бы что-то сделать с тем, как генерируются статистика / метрики в первую очередь, это могло бы быть более простым способом решения проблемы.