Сайзинг
Шаг 1: Обновленные базовые переменные
Эти константы будут использоваться во всех расчетах. Их можно и нужно подстраивать под специфику вашего проекта.
N_ci— (Переменная) Количество Конфигурационных Единиц.M_per_ci— Среднее количество метрик на 1 КЕ.- Допущение:
5.
- Допущение:
T_scrape_sec— Интервал сбора метрик.- Допущение:
30секунд (менее агрессивный, но частый интервал).
- Допущение:
D_retention_days— Срок хранения метрик.- Допущение:
365дней.
- Допущение:
Шаг 2: Формулы для сайзинга компонентов
1. VictoriaMetrics (Хранилище метрик)
-
Всего метрик (Total Series):
TS = N_ci * M_per_ci -
Точек в секунду (SPS):
SPS = TS / T_scrape_sec -
Disk (GB):
Storage_VM = (SPS * 1.3 * 86400 * D_retention_days * 1.2) / 1024^31.3: средний размер одной точки в байтах.1.2: коэффициент накладных расходов.
-
CPU (Ядра):
CPU_VM = (SPS / 200000) + (N_ci / 5000)- Первая часть — запись (
vminsert), вторая — чтение и запросы (vmselect), которые растут с ростом инфраструктуры.
- Первая часть — запись (
-
RAM (GB):
RAM_VM = (TS / 400000) + 4- Основное потребление — кеширование индекса в
vmstorage. 1 ГБ на ~400 тыс. метрик + 4 ГБ базовых.
- Основное потребление — кеширование индекса в
2. Prometheus
- Disk (GB):
Storage_Prom = (SPS * 1.5 * 3600 * 4 * 1.2) / 1024^3- Расчет на 4 часа хранения.
- CPU (Ядра):
CPU_Prom = (TS / 500000) + (N_ci / 2000)- Зависит от сбора метрик и количества правил алертинга (пропорционально
N_ci).
- Зависит от сбора метрик и количества правил алертинга (пропорционально
- RAM (GB):
RAM_Prom = (TS * 1536) / 1024^3 * 1.51536байт (1.5 КБ) на метрику,* 1.5— запас на операционные нужды.
3. Сервис CMDB
Оценка скоро появится
4. Сервис Мониторинга
Оценка скоро появится
Сценарий 1: Малая инсталляция (1 000 КЕ)
- Всего метрик: 5 000
- SPS: ~167
| Компонент | Disk (GB) | CPU (Ядра) | RAM (GB) |
|---|---|---|---|
| VictoriaMetrics | 10 | 1 | 4 |
| Prometheus | 1 | 1 | 1 |
| Сервис CMDB | - | 2 | 4 |
| Сервис Мониторинга | - | 2 | 2 |
| PostgreSQL | 30 | 2 | 4 |
| Итого (рекомендация) | 50 SSD | 8 ядер | 16 GB |
Сценарий 2: Средняя инсталляция (10 000 КЕ)
- Всего метрик: 50 000
- SPS: ~1 667
| Компонент | Disk (GB) | CPU (Ядра) | RAM (GB) |
|---|---|---|---|
| VictoriaMetrics | 100 | 2 | 4 |
| Prometheus | 2 | 1 | 1 |
| Сервис CMDB | - | 4 | 4 |
| Сервис Мониторинга | - | 4 | 4 |
| PostgreSQL | 60 | 6 | 16 |
| Итого (рекомендация) | 200 ГБ SSD | 16 ядер | 32 ГБ |
Сценарий 3: Крупная инсталляция (100 000 КЕ)
- Всего метрик: 500 000
- SPS: ~16 667
| Компонент | Disk (GB) | CPU (Ядра) | RAM (GB) |
|---|---|---|---|
| VictoriaMetrics | 850 | 2 | 5 |
| Prometheus | 5 | 2 | 2 |
| PostgreSQL (CMDB) | - | 8 | 16 |
| Сервис Мониторинга | - | 8 | 16 |
| PostgreSQL | 200 | 12 | 16 |
| Итого (рекомендация) | 1.2 ТБ SSD | 32 ядра | 64 ГБ |
Результаты нагрузочного тестирования для типовых конфигураций
Инсталляция с большой CMDB и интенсивным сбором метрик
- Нагрузка: 2,038,830 активных временных рядов.
-
- Время хранения метрик: 15 дней
- КЕ: 524,043 конфигурационных единиц (статическая без обогащения). Время первичного обогащения 24 часа, что соответствует ~6 КЕ в сек.
- Индикаторы здоровья: ~5,000 (1% от общего количества КЕ)
- Интенсивность записи: 48,210 SPS (при scrape interval 30s).
- Оборудование: 1 Виртуальная машина (8 vCPU, 32 ГБ RAM, SSD).
| Компонент | Disk (GB) | CPU (Ядра) | RAM (GB) | Комментарий |
|---|---|---|---|---|
| VictoriaMetrics | - | - | - | Не используется |
| Prometheus | 80 | 3 | 10 | |
| Сервис CMDB | - | 2 | 4 | |
| Сервис Мониторинга | - | 1 | 4 | |
| PostgreSQL | 20 | 2 | 10 | |
| Итого | 100 ГБ | 8 ядра | 32 ГБ |