171 похожих чатов

Добрый день, вопрос из стэка graphite. Есть carbon-c-relay, который принимает

метрики напрямую, так и от brubeck, сейчас уже поток около чуть более 5млн/per minute, часто начали попадать в ситуацию, что метрики начинают дропаться из-за высокого LA сервера, который обрабатывает этот поток. Первым решением в лоб видится поставить более мощный сервер (сейчас оно на довольно слабом железе), но архитектурно проблема не уйдет - будет единая точка отказа, которая со временем будет только расти.
Возможно ли как-то отмасштабировать саrbon-c-relay верным образом? Мы завели еще один carbon-c-relay в другом ДЦ (у нас два дц), но проблема в том, что на каждом carbon-c-relay активно используются агрегации, поэтому чтобы метрики верно показывались, пришлось поставить 3-й carbon-c-relay, который принимает поток от 2-х (в общем, похоже на какой-то жесткий костыль)

1 ответов

8 просмотров

Можно вместо carbon-c-relay попробовать перейти на кластер vmagent'ов: - vmagent умеет принимать данные по graphite протоколу аналогично victoriametrics - см. https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-send-data-from-graphite-compatible-agents-such-as-statsd - vmagent умеет фильтровать и преобразовывать метрики с помощью relabeling rules - см. https://docs.victoriametrics.com/vmagent.html#relabeling - vmagent умеет роутить полученные метрики в разные remote storages - см. https://docs.victoriametrics.com/vmagent.html#flexible-metrics-relay , в т.ч. и в другие vmagent'ы. - vmagent умеет шардить метрики по нескольким remote storage системам - см. https://docs.victoriametrics.com/vmagent.html#sharding-among-remote-storages - vmagent умеет агрегировать метрики по времени, по части имен и по тэгам - см. https://docs.victoriametrics.com/stream-aggregation.html - vmagent умеет быстро преобразовывать graphite-имена метрик в prometheus-like имена с лейблами - см. https://docs.victoriametrics.com/vmagent.html#graphite-relabeling Если записывать полученные метрики в victoriametrics, то потом их можнл опрашивать помощью graphite api - https://docs.victoriametrics.com/#graphite-api-usage VictoriaMetrics требует в 10 раз меньше диска с памятью и в сотни раз меньше disk iops по сравнению с whisper. См. https://docs.victoriametrics.com/CaseStudies.html#grammarly

Похожие вопросы

Обсуждают сегодня

Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
77
А дин типизация это хорошо или плохо?
Alexey
12
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Карта сайта