- 建立归档measurement 的保存策略
查看所有保存策略
show retention policies on pic
删除保存策略
DROP CONTINUOUS QUERY “pic_query01” ON “pic”
CREATE RETENTION POLICY "1Year" ON "pic" DURATION 365d REPLICATION 1
策略名称 “1Year”
保存时间 365,
pic库,
副本数1
- 创建连续查询
显示所有连续查询
SHOW CONTINUOUS QUERIES
删除连续查询
DROP CONTINUOUS QUERY “pic_query01” ON “pic”
1 同库同保存策略
CREATE CONTINUOUS QUERY "pic_query02" ON "pic" BEGIN SELECT sum(p90) as p90,sum(p100) as p100 INTO "hystrix_test1" FROM "hystrix" GROUP BY time(5m),env,appname,servicename END
名称pic_query02,写入hystrix_test1
time(5m) 连续查询5分钟执行一次,查询数据时new()-5m
env,appname,servicename 分组的tag字段
最后查询结果写入hystrix_test1中做归档处理,time()可以控制归档时间间隔
查询时间内没有数据则不会写入数据到新hystrix_test1中,如果需要写入可以使用fill()函数
参考官方文档 https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/#multiple-statements
2 不同库不同保存策略
CREATE CONTINUOUS QUERY "pic_query01" ON "pic_test"
BEGIN
SELECT sum(p90) as p90,sum(p100) as p100 INTO "pic_test"."1year"."hystrix_test1" FROM "pic"."autogen"."hystrix" GROUP BY time(5m),env,appname,servicename
END
查询和库的保存策略不一致的measurement
select * from “pic_test”.“1year”.“hystrix_test1”
- 使用RESAMPLE EVERY 2m FOR 3m 可以减少执行次数,也防止 CQ 在执行时间之间丢失数据。
表示两分钟执行一次,每次查询时间范围间隔三分钟,time(1m) 以1分钟进行数据归档
CREATE CONTINUOUS QUERY "pic_query02" ON "pic" RESAMPLE EVERY 2m FOR 3m BEGIN SELECT sum(p90) as p90,sum(p100) INTO "hystrix_test1" FROM "hystrix" GROUP BY time(1m),env,appname,servicename END