参考:
https://blog.csdn.net/vtnews/article/details/80197045
https://docs.influxdata.com/influxdb/v1.6/tools/api/#write-http-endpoint
https://blog.csdn.net/vtnews/article/details/80197045
0.influxdb配置
默认配置文件目录:/etc/influxdb/influxdb.conf,配置文件详解见如下:
https://www.cnblogs.com/guyeshanrenshiwoshifu/p/9188368.html
启动方式:service influxdb start,此种启动方式的启动脚本(程序的入口)在:/etc/init.d/influxdb
默认系统日志:/var/log/influxdb/influxd.log
1.resful插入和读取数据:
格式
<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]
写入
curl -i -XPOST "http://localhost:8086/write?db=mydb&precision=s" --data-binary 'test,hostname=server01 value=145465156'
读取
curl -i -G 'http://localhost:8086/query?db=mydb' --data-urlencode 'q=SELECT * FROM "test"'
显示常用的时间格式
select * from disk where time >= '2018-11-23 14:30:39' and time <= '2018-11-23 14:32:32' tz('Asia/Shanghai')
2.influxdb聚合函数的使用:
https://www.jianshu.com/p/a1344ca86e9b
https://docs.influxdata.com/influxdb/v1.7/query_language/spec/
3.客户端常用命令:
//注意key双引号value单引号
show tag keys from h2o_feet 查看表的tag
show field keys from h2o_feet 查看表的field
create database test 创建数据库
show databases 查看数据库
SHOW RETENTION POLICIES ON test 获取保留策略
#将数据库proxydb默认保留策略改为seven_day_only这个保留策略
CREATE RETENTION POLICY "seven_day_only" ON "proxydb" DURATION 7d REPLICATION 1 DEFAULT
#修改数据库proxydb的默认保留策略autogen为8760h
alter retention policy "autogen" on "proxydb" duration 8760h replication 1 default;
删除2016年1月1日之前发生的数据库中的所有数据
DELETE WHERE time < '2016-01-01' 通过time批量删除数据
删除与测量相关的所有数据h2o_quality以及标记randtag等于的位置3
DELETE FROM "h2o_quality" WHERE "randtag" = '3'
显示某个tag所有的值
show tag values from ppyunwg with key="action"
创建test表
insert test,type=tem,sensor=sensor01 value=3,is_deleted=0
测试正则表达式
select *from test where "sensor"=~/^(sensor01|sensor02)$/
查看订阅
SHOW SUBSCRIPTIONS
删除订阅
name: yun
retention_policy name mode destinations
---------------- ---- ---- ------------
autogen kapacitor-0a6f0d7b-430f-464d-a0b4-7f2946da67a0 ANY [http://10.60.64.226:9092]
> drop subscription "kapacitor-0a6f0d7b-430f-464d-a0b4-7f2946da67a0" on "yun"."autogen"
kapacitor list tasks kapacitor查看任务
influx提供离线聚合功能,将聚合结果算出并保存,需要时直接取数据,不需要实时聚合
https://docs.influxdata.com/influxdb/v1.2/query_language/continuous_queries/
查询cq:
SHOW CONTINUOUS QUERIES
删除cq:
DROP CONTINUOUS QUERY <cq_name> ON <database_name>
cq示例:
CREATE CONTINUOUS QUERY cq_1d_rtc_masterstatic ON ppyun RESAMPLE EVERY 1h FOR 2h BEGIN SELECT max(f_user_num) AS f_user_num INTO "5min_rtc_masterstatic" FROM rtc_masterstatic WHERE t_action = 'static' AND t_level = 'info' GROUP BY time(5min), t_room_id END
解释:RESAMPLE EVERY 1h FOR 2h表示每小时执行一次,每次执行2个小时区间的时间段,为了解决数据延迟到达问题,相当于每小时的数据会计算两次,后一次覆盖前一次
更多删除方法
https://docs.influxdata.com/influxdb/v1.4/query_language/database_management/#retention-policy-management
保留策略:
group by time有默认边界, 当以天为间隔时,需要设置偏移量 group by time(1d,-8h)