influxdb 数据归档处理

本文介绍了如何在InfluxDB中进行数据归档处理,包括创建保存策略、连续查询,以及同库同保存策略和不同库不同保存策略的实践,详细阐述了时间间隔控制和防止数据丢失的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 建立归档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

  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”

  1. 使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值