20. vmagent. Конфигурирование отправки метрик

1. Добавление в Environment-файл vmauth-адреса

В файле /etc/sysconfig/vmagent хранятся опции командной строки, используемые при выполнении команды vmagent-prod -envflag.enable, где точки заменены на подчерки.

Например, переменная promscrape_config=/etc/victoriametrics/vmagent.yml преобразуется в опцию командной строки promscrape.config=/etc/victoriametrics/vmagent.yml, то есть подчерк в имени переменной замещается точкой.


Опция командной строки remoteWrite.maxDiskUsagePerURL позволяет указать размер буфера для кеширования метрик. Для каждого remoteWrite.url будет создан отдельный каталог. По умолчанию, при отсутствии опции, будет использован всё доступное пространство диска. Так как данные сохраняются в блоках по ~500 MB, рекомендуется указывать размер кратным 500. Замечено, что запись в буфер продолжается до значения +500MB к указанному, после чего уменьшается до заданного значения. Если указать одно значение, например remoteWrite.maxDiskUsagePerURL=1GiB, то при двух remoteWrite.url буфер-каталог может увеличиваться до 2Gib + (~500MB*2), то есть примерно до 3Gib. Если требуется указать разные размеры буферов для каждой remoteWrite.url, то укажите их через запятую в порядке следования адресов в remoteWrite.url.

  1. Получите у ответственных лиц URL и секретный токен для возможности отправки метрик в VictoriaMetrics-кластер.

  2. Добавьте необходимые адреса в файл /etc/sysconfig/vmagent следующим образом (в примере использован URL для vmagent’ов в ИС 'IS1'):

    • Один адрес remoteWrite.url

    • Два адреса remoteWrite.url или больше

    REMOTEWRITE_URL_1="https://is1-vmauth.example.org/"
    REMOTEWRITE_BEARERTOKEN_1="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    REMOTEWRITE_MAXDISKUSAGEPERURL=5GB
    
    set -u; cat << EOF >> /etc/sysconfig/vmagent
    ## The URLs to send the collected metrics to
    remoteWrite_url=${REMOTEWRITE_URL_1}
    remoteWrite_bearerToken=${REMOTEWRITE_BEARERTOKEN_1}
    remoteWrite_maxDiskUsagePerURL=${REMOTEWRITE_MAXDISKUSAGEPERURL}
    EOF
    set +u

    Здесь в каждой опции через запятую перечисляем необходимые параметры. Например, если для двух remoteWrite.url требуются разные токены доступа, то в опции remoteWrite.bearerToken перечисляем их через запятую в той последовательности, в какой адреса указаны в опции remoteWrite.url.

    REMOTEWRITE_URL_1="https://is1-vmauth.example.org/"
    REMOTEWRITE_BEARERTOKEN_1="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    REMOTEWRITE_URL_2="http://is2-vict/"
    REMOTEWRITE_MAXDISKUSAGEPERURL=5GB
    
    set -u; cat << EOF >> /etc/sysconfig/vmagent
    ## The URLs to send the collected metrics to
    remoteWrite_url="${REMOTEWRITE_URL_1}","${REMOTEWRITE_URL_2}"
    remoteWrite_bearerToken="${REMOTEWRITE_BEARERTOKEN_1}"
    remoteWrite_maxDiskUsagePerURL=${REMOTEWRITE_MAXDISKUSAGEPERURL},${REMOTEWRITE_MAXDISKUSAGEPERURL}
    EOF
    set +u