System Design Space
Граф знанийНастройки

Обновлено: 7 мая 2026 г. в 18:26

VictoriaMetrics: история и архитектура

средний

Разбор VictoriaMetrics в стиле системного дизайна: база данных временных рядов, длительное хранение метрик, Prometheus-совместимые интерфейсы, vmagent/vminsert/vmstorage/vmselect, кластерный режим и эксплуатационная стоимость.

VictoriaMetrics становится по-настоящему интересной, когда классическому стеку Prometheus уже тяжело из-за масштаба, длительного хранения метрик или дорогих исторических запросов.

В инженерной практике эта глава помогает увидеть, как сжатие, срок хранения, vmagent, vminsert и разделение путей записи и чтения превращаются в экономику мониторинга, а не только в набор технических деталей.

В интервью и архитектурных обсуждениях она особенно полезна, когда нужно объяснить, чем VictoriaMetrics отличается от базового Prometheus-подхода в сценариях, где масштаб и стоимость становятся равноправными требованиями.

Практическая польза главы

Экономика долгосрочных метрик

Проектируйте длительное хранение метрик с учётом сжатия, срока хранения и стоимости чтения исторических диапазонов.

Маршруты записи

Выстраивайте маршруты vmagent/vminsert под всплески входящих метрик и устойчивость к временным отказам.

Изоляция арендаторов

Моделируйте ограничения и квоты арендаторов, чтобы одна команда не ухудшала наблюдаемость для других.

Сравнение подходов

Аргументируйте отличие VictoriaMetrics от классического Prometheus в сценариях масштаба и стоимости.

Источник

VictoriaMetrics docs

Официальная документация по архитектуре, компонентам и эксплуатационной модели VictoriaMetrics.

Перейти на сайт

В этой главе VictoriaMetrics рассматривается как и для контура . Главные решения здесь связаны с , , , и .

VictoriaMetrics — высокопроизводительная база данных временных рядов, ориентированная на экономичное хранение метрик и масштабируемый контур наблюдаемости. В практической карте баз данных временных рядов VictoriaMetrics часто рассматривают рядом с Prometheus как хранилище для длительной истории и высокой кардинальности метрик.

История: ключевые вехи

2018

Публичный запуск проекта

VictoriaMetrics выходит как открытая база данных временных рядов для эффективного хранения метрик.

2019

Фокус на производительность и плотность хранения

Проект закрепляется как экономичная альтернатива для Prometheus-совместимого мониторинга.

2020

Стабилизация кластерного режима

Укрепляется архитектура vmselect/vminsert/vmstorage для горизонтального масштабирования.

2021

Рост экосистемы компонентов

Расширяется практическое использование vmagent, vmalert и мультиарендных сценариев.

2023

Массовые эксплуатационные сценарии

Становятся типовыми миграции из Prometheus-контуров в VictoriaMetrics для длительного хранения метрик.

2024+

Эволюция стека наблюдаемости

Укрепляются практики кластерного развёртывания, оптимизации стоимости и интеграции в корпоративный мониторинг.

Что делает VictoriaMetrics особенной

Prometheus-совместимый интерфейс

Поддержка Prometheus API, удалённой записи remote_write и удалённого чтения remote_read упрощает интеграцию в существующий мониторинг.

Эффективное хранение метрик

Оптимизации хранения и фоновые слияния помогают держать длительную историю метрик с меньшими ресурсами.

Кластерная архитектура

Разделение на vmagent/vminsert/vmstorage/vmselect делает путь записи и путь чтения понятными для масштабирования.

Правила и оповещения

vmalert и интеграция с Alertmanager формируют управляемый контур правил записи и правил оповещения.

Архитектура VictoriaMetrics по слоям

Общий поток можно читать так: приём метрик -> маршрутизация записи -> части данных и фоновые слияния -> параллельное чтение -> правила и оповещения -> внешние интеграции.

Слой приёма метрик
vmagentопрос Prometheusremote_writeпереписывание меток
Переход между слоями
Маршрутизация записи
vminsertмаршрут к шардумаршрут по арендаторураздача на реплики
Переход между слоями
Хранение
vmstorageсжатые части данныхфоновые слиянияочистка по сроку хранения
Переход между слоями
Выполнение запросов
vmselectпараллельное чтениеудаление дублейMetricsQL/PromQL
Переход между слоями
Правила и оповещения
vmalertправила записиправила оповещенияAlertmanager
Переход между слоями
Интеграции и эксплуатация
один узел или кластерGrafanavmauthрезервные копии

Ключевые особенности

VictoriaMetrics оптимизирована под экономичное хранение метрик, Prometheus-совместимые API и рост от одного узла к кластеру.

Сжатие и хранение

Высокая плотность храненияСлияние частей данныхДлительная история метрик

Prometheus-совместимость

PromQL-совместимый APIremote_write и remote_readЭкспорт в Grafana

Масштабирование

Кластерный режимИзоляция арендаторовГоризонтальный рост

Конфигурация и данные в VictoriaMetrics

Как и у большинства баз данных временных рядов, в VictoriaMetrics нет классического SQL-слоя для DDL и DML. Для системного анализа полезно разделять изменения конфигурации и топологии от операций с данными: приёма точек метрик, записи, хранения и чтения через запросы.

Как меняются конфигурация и данные в VictoriaMetrics

Конфигурация меняет топологию. Данные проходят путь от приёма точек метрик до чтения запросом.

Интерактивный прогонШаг 1/5

1. Приём точек метрик

Метрики и запросы

vmagent или remote_write отправляет новые значения метрик в точку записи.

2. Разбор и переписывание меток

Метрики и запросы

Точки метрик разбираются, получают нужные метки и готовятся к маршрутизации.

3. Маршрутизация через vminsert

Метрики и запросы

vminsert распределяет поток по узлам vmstorage с учётом хеша и арендатора.

4. Запись и слияние в vmstorage

Метрики и запросы

vmstorage добавляет точки в локальные части данных и фоново объединяет их для чтения.

5. Чтение через vmselect

Метрики и запросы

vmselect параллельно читает шарды, удаляет дубли, агрегирует данные и возвращает результат.

Активный шаг

1. Приём точек метрик

vmagent или remote_write отправляет новые значения метрик в точку записи.

Поток данных и запросов

  • Путь данных покрывает приём точек метрик, хранение, уплотнение и выполнение запросов.
  • В кластерном режиме путь записи и путь чтения масштабируются горизонтально по шардам.
  • Кардинальность меток и перекос по арендаторам определяют задержку и стоимость системы.

Источник

Prometheus docs

Сравнительный контекст для Prometheus-совместимого стека наблюдаемости.

Перейти на сайт

VictoriaMetrics и Prometheus: практическое сравнение

Базовый контур

VictoriaMetrics: Сильный акцент на экономичное хранение, масштабируемые пути записи и чтения, а также совместимость с Prometheus.

Prometheus: Канонический стек мониторинга с моделью опроса, PromQL и встроенной базой временных рядов для оперативного контура.

Язык и запросы

VictoriaMetrics: Поддержка PromQL-совместимых запросов и языка запросов MetricsQL для эксплуатационной аналитики.

Prometheus: PromQL как базовый язык анализа временных рядов с фокусом на оповещения и правила записи.

Масштабирование

VictoriaMetrics: Кластерный режим через vminsert/vmstorage/vmselect для больших объёмов и длительного хранения метрик.

Prometheus: Чаще развёртывание на одном узле плюс федерация Prometheus или внешнее хранилище для роста.

Операционная модель

VictoriaMetrics: Часто используется как единое хранилище метрик в больших платформах наблюдаемости.

Prometheus: Часто выступает как основной движок опроса и правил с интеграцией внешнего длительного хранилища.

Когда VictoriaMetrics выбирают в эксплуатации

Практическая интерпретация для системного дизайна:

  • VictoriaMetrics часто выбирают за высокую эффективность хранения и предсказуемую стоимость длительной истории метрик.
  • Prometheus-совместимость снижает цену миграции и позволяет переиспользовать существующие дашборды и алерты.
  • Явное разделение пути записи и пути чтения через vmagent/vminsert/vmstorage/vmselect хорошо масштабируется по шардам.
  • Гибкий выбор между одним узлом и кластером упрощает рост от небольшой установки к крупному развёртыванию.

Источники

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки