Influxdb 更改XDB中的标记值

Influxdb 更改XDB中的标记值,influxdb,Influxdb,我插入了使用主机名的数据。令人烦恼的是,我即将把一个域从.lan改为.mydomain.com 显然,我希望能够搜索我的历史数据的机器,因为它跨越这一变化 我可以将标记定义从machine.lan更新到machine.mydomain.com吗?不幸的是,没有办法更改InfluxDB中历史数据的标记名。而@Michael的答案是正确的,因为您不能通过InfluxDB命令更改标记值,但是,您可以编写一个客户端脚本,该脚本可以通过在测量中插入具有相同时间戳、字段集和标记集的点来更改标记的值,除非所需

我插入了使用主机名的数据。令人烦恼的是,我即将把一个域从.lan改为.mydomain.com

显然,我希望能够搜索我的历史数据的机器,因为它跨越这一变化


我可以将标记定义从machine.lan更新到machine.mydomain.com吗?

不幸的是,没有办法更改InfluxDB中历史数据的标记名。

而@Michael的答案是正确的,因为您不能通过InfluxDB命令更改标记值,但是,您可以编写一个客户端脚本,该脚本可以通过在测量中插入具有相同时间戳、字段集和标记集的点来更改标记的值,除非所需标记的值将发生更改

标记错误的点(格式):

跑步后

INSERT cpu,hostname=machine.mydomain.com cpu=50 1514970123
从CPU选择*将包括

cpu,hostname=machine.lan cpu=50 1514970123
cpu,hostname=machine.mydomain.com cpu=50 1514970123
脚本运行所有INSERT命令后,需要删除带有旧标记值的过时点系列:

DROP SERIES FROM cpu WHERE hostname='machine.lan'
当然,这是非常低效的(请特别注意),如果需要将标记值更新为,则不能仅
删除序列。因此,请特别根据
WHERE
查询更改标记值。或者考虑一个替代的时间序列数据库,让您使用常规SQL,例如.

GitHub上已经有一个针对此的开放功能请求。

influxdeveloper提出了一个可能的解决方案,如果您想通过转储、修改、重新导入路径(残酷但有效),此注释可能会有所帮助


我尝试将数据从一个表复制到另一个表,手动指定新的标记名,但我似乎也无法做到这一点。您可以查询所有数据,手动重命名,然后重写。是否将其转储到csv?可能吗?还有导入?@dcole有一个名为的工具,允许您提取原始TSM文件。令人烦恼的是,XDB不支持一些基本的(来自SQL的)操作,如、、或诸如.Wow之类的运算符。这完全回答了我的问题。谢谢
DROP SERIES FROM cpu WHERE hostname='machine.lan'