Сервис сбора и хранения метрик¶
В качестве сервиса сбора и хранения метрик может быть установлен Prometheus server или VictoriaMetrics.
По умолчанию, используется Prometheus server.
Сервис хранит метрики как данные временных рядов. Иными словами, данные о метриках хранятся вместе с отметкой времени, когда эти метрики были собраны, а также с опциональными парами «ключ-значение», называемыми метками. Архитектура баз данных для хранения временных рядов и принцип формирования запросов отличаются от реляционных баз данных.
Сбор метрик происходит по pull-модели, т.е. сервис самостоятельно опрашивает экспортёры в соответствии с заданным интервалом. Перечень опрашиваемых экспортёров находится в конфигурационном файле сервиса (по умолчанию prometheus.yml), который формируется в процессе развёртывания на основе inventory. Адрес и порт экспортёра составляют так называемый «таргет» в конфигурационном файле. Однотипные таргеты обычно сгруппированы внутри параметра job_name.
Примечание
При одновременном включении Prometheus server и VictoriaMetrics оба сервиса будут работать независимо.
При развёртывании Grafana одновременно с Prometheus server и/или VictoriaMetrics будет создан источник данных (data source) с типом prometheus, который будет подключён к Prometheus server.
Для работы с данными внутри VictoriaMetrics при одновременном включении и Prometheus server и VictoriaMetrics, в Grafana необходимо вручную создать соответствующий data source.
Prometheus server¶
Prometheus server является «монолитным» сервисом, который отвечает за сбор и хранение метрик, обработку правил, и пользовательских запросов.
Подробная документация доступна по ссылке https://prometheus.io/docs.
Установка¶
Для развёртывания Prometheus в качестве сервиса хранения метрик выполните следующие действия:
В конфигурационный файл региона (по умолчанию
/globals.d/REGION.yml) добавьте переменнуюenable_prometheusсо значениемyes. Пример конфигурации:enable_prometheus: "yes"
Запустите пайплайн с тегом
prometheus.После завершения пайплайна должны быть развёрнуты и предварительно настроены: Prometheus, набор экспортёров, Alertmanager.
Настройка периода хранения¶
Для ограничения размера хранимых данных в Prometheus предусмотрено несколько параметров запуска. Основные параметры:
--storage.tsdb.retention.time— определяет время, через которое старые данные будут перезаписаны. Если параметр не задан, то по умолчанию установлено значение равное15d(15 дней).
--storage.tsdb.retention.size— определяет максимальное количество байт сохраняемых блоков памяти. Самые старые данные будут удалены в первую очередь. Если параметр не задан, то по умолчанию установлено значение равное0, что означает отсутствие ограничения на максимальный размер. Поддерживаемые единицы измеренияB,KB,MB,GB,TB,PB,EB(например,512MB).
При одновременном указании ограничений как по времени хранения данных так и по их размеру, будет применяться ограничение по событию, наступившему в первую очередь.
Если для действующей системы установленные ограничения окажутся меньше текущих значений, то данные, выходящие за установленные ограничения, будут удалены.
Для установки ограничений с помощью параметров запуска Prometheus server выполните следующие действия:
В конфигурационном файле региона (по умолчанию
/globals.d/REGION.yml) добавьте или измените переменнуюprometheus_cmdline_extras. Пример конфигурации с ограничением по длительности хранения данных 15 дней и без ограничения по размеру базы данных:prometheus_cmdline_extras: "--storage.tsdb.retention.time 15d --storage.tsdb.retention.size 0"
Запустите пайплайн с тегами
prometheus,victoriametrics.
Долгосрочное хранение метрик¶
Для долгосрочного хранения метрик предусмотрена возможность развёртывания VictoriaMetrics с репликацией метрик из Prometheus server в VictoriaMetrics.
Для включения данного функционала:
В конфигурационный файл региона (по умолчанию
/globals.d/REGION.yml) добавьте переменнуюprometheus_use_victoriametrics_as_backendсо значениемyes. Пример конфигурации:prometheus_use_victoriametrics_as_backend: "yes"
Запустите пайплайн с тегом
prometheus.
VictoriaMetrics¶
В отличие от Prometheus server, сервис VictoriaMetrics является модульным и состоит из нескольких компонент. В составе системы мониторинга используются следующие компоненты:
vmselect - обрабатывает запросы и получает запрошенные данные из vmstorage;
vminsert - отвечает за получение данных и распределение их между vmstorage;
vmstorage - непосредственно хранит метрики как данные временных рядов;
vmagent - агент для сбора метрик и сохранения их в VictoriaMetrics или любой другой TSDB посредством Prometheus remote_write или VictoriaMetrics remote_write протоколов;
vmalert - проверяет правила алертов и направляет сообщения об алертах в Prometheus Alertmanager.
Примечание
При значении переменной prometheus_use_victoriametrics_as_backend: "yes" устанавливаются и используются только следующие компоненты:
vmselect,
vminsert,
vmstorage.
Подробная документация доступна по ссылке https://docs.victoriametrics.com/.
Установка¶
Для развёртывания VictoriaMetrics в качестве сервиса сбора и хранения метрик выполните следующие действия:
В конфигурационный файл региона (по умолчанию
/globals.d/REGION.yml) добавьте переменнуюenable_victoriametricsсо значениемyesи переменнуюenable_prometheus_serverсо значениемno. Пример конфигурации:enable_victoriametrics: "yes" enable_prometheus_server: "no"
Запустите пайплайн с тегами
prometheusиvictoriametrics.После завершения пайплайна должны быть развёрнуты и предварительно настроены: VictoriaMetrics, набор экспортёров, Alertmanager.
Настройка периода хранения¶
Для ограничения размера хранимых данных в VictoriaMetrics для компонента vmstorage предусмотрено несколько параметров запуска. Основные параметры:
-retentionPeriod— данные, которые выходят за указанные период, автоматически удаляются. Минимальное значение 24h или 1d. Поддерживаемые суффиксы: s (секунда), h (час), d (день), w (неделя), y (год). Если суффикс не указан, то длительность считается в месяцах. Если параметр не задан, то по умолчанию установлено значение равное 1 (1 месяц).
-storage.minFreeDiskSpaceBytes— определяет минимальное свободное место вstorageDataPath, после которого vmstorage перестанет принимать новые данные. Поддерживаемые опциональные суффиксы единиц измерения: KB, MB, GB, TB, KiB, MiB, GiB, TiB. Значение по умолчанию10000000.
Для установки ограничений с помощью параметров запуска vmstorage выполните следующие действия:
В конфигурационном файле региона (по умолчанию
/globals.d/REGION.yml) добавьте или измените переменнуюvictoriametrics_vmstorage_cmdline_extras. Пример конфигурации с ограничением по длительности хранения данных в 15 дней:victoriametrics_vmstorage_cmdline_extras: "-retentionPeriod 15d"
Запустите пайплайна с тегом
victoriametrics.