InfluxDB:将大量点从一个实例导出/导入到另一个实例

Posted

技术标签:

【中文标题】InfluxDB:将大量点从一个实例导出/导入到另一个实例【英文标题】:InfluxDB: Export/Import large number of points form one instance to another 【发布时间】:2020-09-28 03:28:10 【问题描述】:

我在我们的一个客户场所安装了一个 InfluxDB 实例,但我无权访问。

当报告某些问题时,我需要确定一个时间窗口(问题之前和之后),并为他们提供一个可以提取该窗口中所有数据的脚本。 该脚本应生成一组导出的数据,我的客户 将与我分享。

然后我需要将此数据导入我的实例进行分析。

我尝试使用备份/恢复来执行此操作,但似乎失败并出现数据库存在的错误。

我现在打算使用 对于每次测量: "influx -execute 'select * from ' -format csv -> measurement.txt

并将所有这些文件导出为 tar.gz。我仍然需要弄清楚如何将这些数据导入到我的实例中,但这应该不是问题。

有没有更好的方法来做到这一点?

【问题讨论】:

【参考方案1】:

通常备份/恢复适用于您的用例。但是您无法将这些值恢复到已经存在的数据库中。

备份: influxd backup -portable -database telegraf <path-to-backup>

这是 influxdb 官方文档建议的恢复到现有数据库的方法

将现有数据库备份恢复到临时数据库。

influxd restore -portable -db telegraf -newdb telegraf_bak path-to-backup

将数据(使用 SELECT ... INTO 语句)旁加载到现有目标数据库并删除临时数据库。

使用 telegraf_bak

SELECT * INTO telegraf..:MEASUREMENT FROM /.*/ GROUP BY *

DROP DATABASE telegraf_bak

https://docs.influxdata.com/influxdb/v1.8/administration/backup_and_restore/#restore-examples

【讨论】:

以上是关于InfluxDB:将大量点从一个实例导出/导入到另一个实例的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 客户端将大量行从 InfluxDB 导出到 CSV?

从 InfluxDB 导出数据

14.grafana导入导出;Grafana的安装和Influxdb数据源配置

14.grafana导入导出;Grafana的安装和Influxdb数据源配置

将对象从一个应用程序导出到另一个应用程序:XML 还是编码?

如何将导出的confluence空间及所有页面 导入到另一个confluence系统