Рассчет необходимых ресурсов для Glaber
Расчеты имеют очень приблизительный характер, так как разные методы поллинга, предобработки, подсчета триггеров, хранения данных, могут требовать в сотни раз отличающиеся ресурсы. Данные для дисковой нагрузки указаны при хранении метрик в Clickhouse.
Расчеты даны из практического опыта, полученного в процессе эксплуатации систем различного размера в различных компаниях.
Расчеты даны для системы "все в одном" и учитывают работу вспомогательных служб: SQL базу, систему хранения истории в ClickHouse, веб сервер и php-fpm сервер.
Расчеты справедливы и для прокси и для сервера, имеют некоторый запас и рассчитаны на продуктивное использование системы.
Количество собираемых метрик в секунду
Принимается условно равным количеству узлов. Те есть, при мониторинге 5 тысяч устройств нужно обеспечить производительность в 5 тысяч метрик в секунду.
Процессор
Минимум 4 ядра
Для оптимизированных методов съема SNMP
, ICMP
, Trapper
, AGENT
- 2 тысячи метрик в секунду на одно ядро процессора. Для прочих методов съема - около 100 метрик в секунду на одно ядро процессора.
Дисковая система
Требуется 2 байта для хранения одного значения метрики.
Место на диске на при скорости записи 1000 метрик в секунду:
- 180 Мбайт в сутки каждую 1 тысячу метрик в секунду для хранения истории.
- 0,5 Мбайт в сутки на хранение исторических данных на каждую 1000 метрик независимо от скорости их записи.
Необходимая скорость работы дисковой системы: 10 IOps (операций дискового ввода/вывода) на каждую тысячу метрик в секунду, нарастание потребности в дисковой емкости нелинейное, и не увеличивается прямо пропорционально нагрузке
Некоторые скорости для справки
-
sata диск может поддерживать 75-100 IOps. Такой диск может записать примерно 20-50тысяч в секунду, при этом обеспечивая и периодическое чтение данных
-
ssd диск - примерно 10-20тысяч IOps
-
ssd PCI Nvme - 50 и более тысяч IOps
Память
Минимум 4Gb.
При большом количестве метрик (более 1млн) примерно 4кб оперативной памяти на каждую метрику.
Пример: система с 2 млн метрик потребует 4 000 * 2 000 000 = 8Gb
оперативной памяти.
Пример расчета
Пример 1
Необходимо снимать информация по протоколу AGENT c 500 серверов, с каждого по 100 метрик, хранить историю в течении 30 дней, тренды - в течении 2 лет.
Общее количество метрик 50 000. Необходимая производительность 500NVps
Пространтсво на диске:
- под историю
0,5 * 180 мб * 30 = 2,7Gb
- под тренды
50 * 0,5 мб * 720 = 18Gb
Суммарная емкость, которая потребуется - примерно 21Gb. Необходимо обеспечить скорость записи примерно 5-10 IOps, пойдет любой диск.
В остальном на работу такой системы достаточно будет минимальных требований в 4Gb памяти и 4 ядер процессора.
Пример 2
требуется опрашивать 10 тысяч коммутаторов по 200 метрик на каждом, протоколы SNMP, ICMP. История хранится 3 месяца, тренды - 1 год.
Общее количество метрик - 2 млн, необходимая производительность 10кNVPS.
Места на диске:
-
под историю
10 * 180 * 90 = 162Gb
-
под тренды
2000 * 0,5 * 3600 = 360Gb
Итого суммарно около 0,5 Тб
Требуемая скорость записи около 50-100 IOps. Будет работать и на обычном SATA диске, но разумно задуматься об увеличенной производительности дисковой системы и использовать SAS, RAID или SSD системы.
Ядер процессора - 10/2 = 5
, памяти 2млн *4 000 = 8Gb
.