Influxdb 如何使用记号脚本(Kapacitor)更改标记名?

Influxdb 如何使用记号脚本(Kapacitor)更改标记名?,influxdb,kapacitor,Influxdb,Kapacitor,假设我在流入数据库中有一个称为“cpu”的测量值: name: cpu time host app org usage_idle ---- ----- ------------ ------------ ---------- 1505758901462105

假设我在流入数据库中有一个称为“cpu”的测量值:

name: cpu time host app org usage_idle ---- ----- ------------ ------------ ---------- 1505758901462105873 serverA applicationA org1 23 1505758901462106873 serverB applicationA org2 42 我编写了tick脚本来查询此度量的数据:

var data = batch |query('''select 100-min(usage_idle) as used_percent from "application"."autogen"."cpu"''') .period(1m) .every(10s) .groupBy(time(1s), 'app', 'org', 'host') .align() // Here I want to write Lambda? to change tag names data|influxDBOut() .database('someDataBase') .measurement('someMeasurement') .precision('s') 我希望此查询的结果包含而不是'app'-'app\u name',而不是'org'-'app\u group'。为了更改标记名,我应该在勾号脚本中包括什么? 笔记作为一种解决方法,我可以在结果中插入名为“app_name”和“app_group”的新列,但我不想在其中添加更多列,也不想有重复的数据

寻求一些建议。谢谢

这是解决方案! 其想法是添加一个新标签并删除旧标签,而不是重命名它。然后,上面的勾号脚本如下所示: var data = batch |query('''select 100-min(usage_idle) as used_percent from "application"."autogen"."cpu"''') .period(1m) .every(10s) .groupBy(time(1s), 'app', 'org', 'host') .align()

    |eval(lambda: "app")
            .as('app_name')
            .keep('used_percent')
            .tags('app_name')
    |delete()
            .tag('app') 

    |eval(lambda: "org")
            .as('app_group')
            .keep('used_percent')
            .tags('app_group')
    |delete()
            .tag('org') 

data|influxDBOut()
        .database('someDataBase')
        .measurement('someMeasurement')
        .precision('s')