Хочу переехать с influxdb на victoriametrics оставив при этом telegraf в качестве коллектора.
Раньше останавливало два фактора:
Убил кучу времени на первый пункт и написал скрипт для конвертации дашбордов, благодаря ему сконвертировал топовые дашборды, которые я использую (#61 и #928), чтобы они работали с victoriametrics вместо influxdb.
Остался второй пункт. У вас нет скрипта для переноса данных (можно с даумсемплингом)? Очень не хотелось бы писать его самостоятельно. Если дадите скрипт, то с меня статья на хабре :)
Сейчас приходится писать данные в influxdb и в victoriametrics, хотелось бы полностью перейти на victoriametrics и забыть про influxdb как про страшный сон.
Сконвертированные дашборды для victoriametrics с телеграфом в качестве коллектора:
https://grafana.com/grafana/dashboards/11050
https://grafana.com/grafana/dashboards/11051
Привет @morozovsk!
Я не знаю как скоро мы предложим свою утилиту для миграции и пока такого скрипта нет - см #158
Перенос данных может выглядеть следующим образом:
Если перезаливка прерывалась, утилита должно прочитать последний успешно записанный таймстамп и продолжить считывать данные после него.
Если данных много, можно разбить экспортированные данные на несколько файлов и записывать их в несколько потоков.
Перенос данных может выглядеть следующим образом:
Привет, пробовал, проблема возникает на первом шаге:
экспортировать данные в line protocol из influxdb
База в influxdb занимает на диске всего 30gb при этом во время экспорта файл с данными только одной метрики превышал 200gb и конца и края этому не было видно, пришлось остановить процесс. Возможно нужно делать запросы напрямую в influxdb без экспорта (возможно с даунсемплингом), самостоятельно формировать батчи и писать их в victoriametrics.
Вообщем, попробую когда будет свободное время. Спасибо.
@morozovsk, согласно документации, есть возможность "включить" сжатие. Так же поддерживаются -start -end флаги, с помощью которых можно сразу разбить данные на части (например, по дням).
Hi @morozovsk! Pls check the tool for importing data from InfluxDB to VM - https://github.com/VictoriaMetrics/vmctl. Would really appreciate any feedback!
See also https://github.com/VictoriaMetrics/VictoriaMetrics/issues/93#issuecomment-573022765 .
See also #93 (comment).
Спасибо, подправил скрипт под себя, сделал по дням 2017-05-16 по 2019-10-23.
Один день импортируется за 1 минуту и файл экспорта весит около 100Mb.
start=2017-05-16
while [ "$start" != 2019-10-23 ]; do
echo $start
end=$(date -I -d "$start + 1 day")
influx_inspect export -datadir /var/lib/influxdb/data -waldir /var/lib/influxdb/wal/ -database telegraf -retention autogen -start "${start}T00:00:01+00:00" -end "${end}T00:00:00+00:00" -compress -out export.gz && curl -u telegraf:telegraf -X POST -H 'Content-Encoding: gzip' http://localhost:8428/write?db=telegraf -T export.gz
start=$(date -I -d "$start + 1 day")
done
После переноса всех метрик размер базы на диске уменьшился более чем в 2 раза:
>du -hs /var/lib/influxdb/
20G /var/lib/influxdb/
>du -hs /var/lib/victoria-metrics-data/
8,2G /var/lib/victoria-metrics-data/
Most helpful comment
После переноса всех метрик размер базы на диске уменьшился более чем в 2 раза: