influxdb查看数据库命令_influxdb常用操作

2ff34e647e2e3cdfd8dca593e17d9b0a.png

哪些情况下用tag

一般来说,你的查询可以指引你哪些数据放在tag中,哪些放在field中。把你经常查询的字段作为tag

如果你要对其使用GROUP BY(),也要放在tag中

如果你要对其使用InfluxQL函数,则将其放到field中

如果你需要存储的值不是字符串,则需要放到field中,因为tag value只能是字符串

终端操作数据库1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42查看所有数据库

show databases;

// 添加数据库

create database [database]

// 删除数据库

drop datebase [databese]

// 指定数据库

use [database]

// 查看指定数据库下所有measurement

show measurements

// 删除measurement

drop measurement [measurement]

// 用drop从索引中删除series

drop series from where =''

// 从单个measurement删除所有series:

drop series from "h2o_feet"

//从单个measurement删除指定tag的series:

drop series from "h2o_feet" where "location" = 'santa_monica'

从数据库删除有指定tag的所有measurement中的所有数据:

drop series where "location" = 'santa_monica'

//用delete删除series

delete from where [=''] | []

//删除measurementh2o_feet的所有相关数据:

delete from "h2o_feet"

// 删除measurementh2o_quality并且tagrandtag等于3的所有数据:

delete from "h2o_quality" where "randtag" = '3'

// 删除数据库中2016年一月一号之前的所有数据:

delete where time < '2016-01-01'

终端插入数据1

2

3

4

5

6

7

8格式:

[,=...] =[,=...] [unix-nano-timestamp]

示例:

insert cpu,host=servera,region=us_west value=0.64

insert temperature,machine=unit42,type=assembly external=25,internal=37

数据写入(网络通讯)使用http接口创建/删除数据库1

2

3curl -i -xpost http://localhost:8086/query --data-urlencode "q=create database dapengstate"

curl -i -xpost http://localhost:8086/query --data-urlencode "q=drop database dapengstate"使用http接口写数据通过http接口post数据到/write路径是我们往influxdb写数据的主要方式。下面的例子写了一条数据到mydb数据库。这条数据的组成部分是measurement为cpu_load_short,tag的key为host和region,对应tag的value是server01和us-west,field的key是value,对应的数值为0.64,而时间戳是14340555620000000001curl -i -xpost 'http://localhost:8086/write?db=dapengstate' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'写入多个点1

2

3curl -i -xpost 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67

cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257

cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'

cup_data.txt1

2

3cpu_load_short,host=server02 value=0.67

cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257

cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257

写入1curl -i -xpost 'http://localhost:8086/write?db=mydb' --data-binary @cpu_data.txt

查询数据1curl -g 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=select "value" from "cpu_load_short" where "region"='us-west'"

返回值(json)1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22{

"results": [

{

"statement_id": 0,

"series": [

{

"name": "cpu_load_short",

"columns": [

"time",

"value"

],

"values": [

[

"2015-06-11t20:46:02z",

0.64

]

]

}

]

}

]

}pretty=ture参数在url里面,是为了让返回的json格式化。这在调试或者是直接用curl的时候很有用,但在生产上不建议使用,因为这样会消耗不必要的网络带宽。

多个查询1curl -g 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=select "value" from "cpu_load_short" where "region"='us-west';select count("value") from "cpu_load_short" where "region"='us-west'"

数据采样/数据保留策略

需求:自动将十秒间隔数据聚合到30分钟的间隔数据

自动删除两个小时以上的原始10秒间隔数据

自动删除超过52周的30分钟间隔数据

如果我们写数据的时候没有指定rp的话,influxdb会使用默认的rp

创建一个保留两小时的数据的rp1create retention policy "two_hours" on "food_data" duration 2h replication 1 default创建数据库时,influxdb会自动生成一个叫做autogen的rp,并作为数据库的默认rp,autogen这个rp会永远保留数据。在输入上面的命令之后,two_hours会取代autogen作为food_data的默认rp。创建一个保留52周数据的RP1create retention policy "a_year" on "food_data" duration 52w replication 1

创建CQ(Continuous Query/连续查询)1

2

3

4

5

6create continuous query "cq_30m" on "food_data" begin

select mean("website") as "mean_website",mean("phone") as "mean_phone"

into "a_year"."downsampled_orders"

from "orders"

group by time(30m)

end注意到我们在into语句中使用了”“.”“这样的语句,当要写入到非默认的rp时,就需要这样的写法。

上面创建了一个叫做cq_30m的cq作用于food_data数据库上。cq_30m告诉influxdb每30分钟计算一次measurement为orders并使用默认rptow_hours的字段website和phone的平均值,然后把结果写入到rp为a_year,两个字段分别是mean_website和mean_phone的measurement名为downsampled_orders的数据中。influxdb会每隔30分钟跑对之前30分钟的数据跑一次这个查询。创建数据库时指定保留策略1create database "noaa_water_database" with duration 3d replication 1 shard duration 1h name "liquid"该语句创建了一个叫做noaa_water_database的数据库,并且创建了liquid作为数据库的默认保留策略,其持续时间为3天,副本数是1,shard group的持续时间为一个小时。修改保留策略1alter retention policy on duration replication shard duration default

创建保留策略what_is_time其持续时间为两天1create retention policy "what_is_time" on "noaa_water_database" duration 2d replication 1

修改what_is_time的持续时间为3个星期,shard group的持续时间为30分钟,并将其作为数据库noaa_water_database的默认保留策略:+1alter retention policy "what_is_time" on "noaa_water_database" duration 3w shard duration 30m default删除保留策略1drop retention policy on

如何查看InfluxDB的版本

终端:1influxd version

curl:1curl -i 'http://localhost:8086/ping'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值