архитектура statsd для распределенной системы

Я учусь использовать стек graphite - statsd - collectd для мониторинга распределенной системы.

Я протестировал компоненты (графитовая паутина, углерод, шепот, статистика, сбор и графана) на локальном экземпляре.

Однако я не понимаю, как мне распределить эти компоненты в распределенной системе: - Узел монитора с графитовой паутиной (и графаной), углеродом и шепотом. - В каждом рабочем узле: statsd и collectd, отправляющие данные в углеродный бэкэнд на удаленном узле мониторинга.

Верна ли эта схема? Что мне нужно настроить statsd и collectd, чтобы получить приемлемое использование сети (tcp / udp, пакетов в секунду ...)?


person Garet    schedule 22.09.2015    source источник


Ответы (1)


Предполагая, что у вас относительно небольшая рабочая нагрузка, достаточно иметь узел, который управляет графитовой сеткой, графаной и углеродом (который сам управляет базой данных шепота).

Тогда у вас должен быть отдельный узел для вашего statsd. На каждом из ваших компьютеров / приложений должен быть клиентский код statsd, который отправляет ваши метрики на этот узел statsd. Затем этот узел statsd должен пересылать эти показатели на ваш углеродный узел.

Для больших рабочих нагрузок, которые нагружают один узел, вам нужно будет либо масштабироваться по вертикали (получить более мощный узел для размещения ваших экземпляров углерода / статистики), либо начать кластеризацию этих служб.

Углеродные кластеры, как правило, используют какой-то ретранслятор, который вы отправляете, который управляет пересылкой этих показателей в кластер (обычно с использованием согласованного хеширования). Вы можете использовать аналогичную настройку для согласования хэш-метрик для кластера серверов statsd.

person Andrew Huang    schedule 11.01.2016
comment
Хорошее объяснение. Спасибо! - person Garet; 15.01.2016