VictoriaMetrics – система мониторинга и база данных временных рядов, предназначенная для хранения и обработки метрик от серверов, приложений и других компонентов инфраструктуры. Она совместима с экосистемой Prometheus и Grafana, поддерживает сбор метрик в формате Prometheus и может использоваться как его долговременное хранилище.
VictoriaMetrics отличается относительно небольшим потреблением ресурсов и простотой установки. Данный аспект обусловлен тем, что single-node версия системы поставляется в виде одного бинарного файла без внешних зависимостей. Для небольших и средних инфраструктур она позволяет организовать централизованное хранение метрик на одном сервере. Для крупных же систем существует кластерная версия с горизонтальным масштабированием.
В статье разберём, как установить VictoriaMetrics на виртуальный выделенный сервер, работающий под управлением CentOS Stream или Rocky Linux.
Как установить VictoriaMetrics на CentOS Stream или Rocky Linux
Перед началом установки VictoriaMetrics проинсталлируйте в систему утилиту wget, необходимую для загрузки файлов из сети, и утилиту tar, используемую для работы с архивами .tar, в том числе для их распаковки:
$ sudo dnf install wget tar
При помощи утилиты wget загрузите архив актуальной версии со страницы релизов VictoriaMetrics на GitHub:
$ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.149.0/victoria-metrics-linux-amd64-v1.149.0.tar.gz
На момент написания статьи актуальной версией VictoriaMetrics является версия 1.149.0.
По окончании загрузки распакуйте полученный архив при помощи утилиты tar:
$ tar -xvf victoria-metrics-linux-amd64-v1.149.0.tar.gz
Полученный в результате распаковки бинарный файл переместите в каталог /usr/local/bin/ под именем victoria-metrics:
$ sudo mv victoria-metrics-prod /usr/local/bin/victoria-metrics
После чего создайте каталог для данных VictoriaMetrics:
$ sudo mkdir -p /var/lib/victoria-metrics
Создайте отдельного пользователя, от имени которого будет работать VictoriaMetrics:
$ sudo useradd --system --no-create-home --shell /sbin/nologin victoriametrics
Созданный пользователь в нашем случае будет системным, не будет иметь домашнего каталога и прав на интерактивное подключение.
После чего созданному пользователю предоставьте права на каталог, в котором VictoriaMetrics будет хранить данные:
$ sudo chown -R victoriametrics:victoriametrics /var/lib/victoria-metrics
А также – на исполняемый файл VictoriaMetrics:
$ sudo chown victoriametrics:victoriametrics /usr/local/bin/victoria-metrics
Чтобы Linux мог управлять процессом VictoriaMetrics как службой, а не запускать его вручную из терминала, необходимо создать для него системный сервис. Чтобы это сделать, создайте юнит-файл для новой службы:
$ sudo vi /etc/systemd/system/victoriametrics.service
В файл скопируйте следующее содержимое:
[Unit]
Description=VictoriaMetrics
After=network.target
[Service]
Type=simple
User=victoriametrics
Group=victoriametrics
ExecStart=/usr/local/bin/victoria-metrics \
-storageDataPath=/var/lib/victoria-metrics
Restart=always
RestartSec=5
PrivateTmp=yes
ProtectHome=yes
NoNewPrivileges=yes
ProtectSystem=full
[Install]
WantedBy=multi-user.target
Закройте файл, сохранив внесённые изменения, после чего перечитайте конфигурацию всех служб, чтобы изменения применились:
$ sudo systemctl daemon-reload
Установите новую службу в автозагрузку с одновременным её запуском:
$ sudo systemctl enable --now victoriametrics
Чтобы проверить корректность работы сервиса, выведите его текущее состояние:
$ systemctl status victoriametrics
Вывод команды не должен содержать сообщений о каких-либо ошибках.

Также проверьте, слушает ли какой-либо процесс TCP-порт 8428:
$ ss -lntp | grep 8428
В нашем случае этот порт должен прослушиваться службой VictoriaMetrics.

Чтобы разрешить входящие подключения к TCP-порту 8428, добавьте этот порт в постоянные правила firewalld:
$ sudo firewall-cmd --permanent --add-port=8428/tcp
Для применения изменений в конфигурации брандмауэра выполните команду:
$ sudo firewall-cmd --reload
После чего откройте браузер и проверьте доступность веб-интерфейса VictoriaMetrics. Для этого перейдите по ссылке вида http://X.X.X.X:8428, где X.X.X.X замените на IP-адрес виртуального сервера.

