VER='v1.102.0'
PLATFORM='linux-amd64'
INTERNAL_REPO="https://nexus.example.org/repository/dud_evolut_raw"
REPO_FOLDER="monitoring/victoriametrics"
TMPDIR=$(mktemp -d) && cd $TMPDIR
curl -LO ${INTERNAL_REPO}/${REPO_FOLDER}/victoria-metrics-${PLATFORM}-${VER}-cluster.tar.gz
curl -LO ${INTERNAL_REPO}/${REPO_FOLDER}/victoria-metrics-${PLATFORM}-${VER}-cluster_checksums.txt
curl -LO ${INTERNAL_REPO}/${REPO_FOLDER}/vmutils-${PLATFORM}-${VER}.tar.gz
curl -LO ${INTERNAL_REPO}/${REPO_FOLDER}/vmutils-${PLATFORM}-${VER}_checksums.txt
Установка Victoria Metrics Cluster из бинарников
1. Использованные материалы
2. Скачивание бинарников из локального репозитория на целевые хосты
-
На целевых нодах будущего кластера Victoria Metrics выполните загрузку бинарников из локального NXRM:
-
Распакуйте скачанные файлы-архивы:
tar xvf victoria-metrics-${PLATFORM}-${VER}-cluster.tar.gz tar xvf vmutils-${PLATFORM}-${VER}.tar.gz
-
Проверьте целостность всех полученных файлов:
sha256sum -c \ victoria-metrics-${PLATFORM}-${VER}-cluster_checksums.txt \ vmutils-${PLATFORM}-${VER}_checksums.txt
Ожидаемый вывод:
victoria-metrics-linux-amd64-v1.102.0-cluster.tar.gz: OK vminsert-prod: OK vmselect-prod: OK vmstorage-prod: OK vmutils-linux-amd64-v1.102.0.tar.gz: OK vmagent-prod: OK vmalert-prod: OK vmalert-tool-prod: OK vmauth-prod: OK vmbackup-prod: OK vmrestore-prod: OK vmctl-prod: OK
-
Разместите бинарники в каталоге
/usr/local/bin
:tar xvf victoria-metrics-${PLATFORM}-${VER}-cluster.tar.gz -C /usr/local/bin/ tar xvf vmutils-${PLATFORM}-${VER}.tar.gz -C /usr/local/bin/
-
Удалите временный каталог со скачанными файлами Victoria Metrics:
rm -rf "${TMPDIR}"
3. Подготовка системы для запуска Victoria Metrics сервисов
-
Создайте системную учётную запись victoriametrics, которая будет использоваться для запуска Victoria Metrics сервисов:
useradd -r -M -s /usr/sbin/nologin victoriametrics
-
Увеличьте лимиты количества открытых файлов?
4. Установка vmstorage
-
На двух или более хостах, выделенных для размещения vmstorage, создайте каталог для хранения данных:
VMSTORAGE_DIR='/srv/vmstorage' mkdir -p ${VMSTORAGE_DIR} && \ chown -R victoriametrics:victoriametrics ${VMSTORAGE_DIR}
-
Добавьте в systemd соответствующий service-модуль
vmstorage.service
:cat << EOF >/etc/systemd/system/vmstorage.service [Unit] Description=VictoriaMetrics vmstorage service After=network.target [Service] Type=simple User=victoriametrics Group=victoriametrics Restart=always ExecStart=/usr/local/bin/vmstorage-prod -retentionPeriod=90d \ -storageDataPath=${VMSTORAGE_DIR} PrivateTmp=yes NoNewPrivileges=yes ProtectSystem=full [Install] WantedBy=multi-user.target EOF
-
Включите и запустите модуль vmstorage.service:
systemctl daemon-reload && systemctl enable --now vmstorage
-
Проверьте работоспособность сервиса:
curl http://<ip-address>:8482/-/healthy
Ожидаемый вывод:
VictoriaMetrics is Healthy.
5. Установка vminsert
-
На тех же хостах с установленными vmstorage, или же отдельных, добавьте в systemd соответствующий service-модуль
vminsert.service
:VMSTORAGE_ADDRESSES='10.15.160.1,10.15.160.2' cat << EOF >/etc/systemd/system/vminsert.service [Unit] Description=VictoriaMetrics vminsert service After=network.target [Service] Type=simple User=victoriametrics Group=victoriametrics Restart=always ExecStart=/usr/local/bin/vminsert-prod \ -storageNode=${VMSTORAGE_ADDRESSES} PrivateTmp=yes NoNewPrivileges=yes ProtectSystem=full [Install] WantedBy=multi-user.target EOF
-
Включите и запустите модуль vminsert.service:
systemctl daemon-reload && systemctl enable --now vminsert
-
Проверьте работоспособность сервиса:
curl http://<ip-address>:8480/-/healthy
Ожидаемый вывод:
VictoriaMetrics is Healthy.
6. Установка vmselect
-
На двух или более хостах, выделенных для размещения vmstorage, создайте каталог для хранения данных:
VMSELECT_DIR='/srv/vmselect-cache' mkdir -p ${VMSELECT_DIR} && \ chown -R victoriametrics:victoriametrics ${VMSELECT_DIR}
-
Добавьте в systemd соответствующий service-модуль
vmselect.service
:VMSTORAGE_ADDRESSES='10.15.160.1,10.15.160.2' cat << EOF >/etc/systemd/system/vmselect.service [Unit] Description=VictoriaMetrics vmselect service After=network.target [Service] Type=simple User=victoriametrics Group=victoriametrics Restart=always ExecStart=/usr/local/bin/vmselect-prod \ -storageNode=${VMSTORAGE_ADDRESSES} \ -cacheDataPath=${VMSELECT_DIR} PrivateTmp=yes NoNewPrivileges=yes ProtectSystem=full [Install] WantedBy=multi-user.target EOF
-
Включите и запустите модуль vmselect.service:
systemctl daemon-reload && systemctl enable --now vmselect
-
Проверьте работоспособность сервиса:
curl http://<ip-address>:8481/-/healthy
Ожидаемый вывод:
VictoriaMetrics is Healthy.