InfluxDB的配置参数位于/etc/influxdb/influxdb.conf
Influxdb 安装之后,每24小时会自动搜集系统信息发往usage.influxdata.com。关闭此功能,使用参数reporting-disabled。默认值是false, 发送数据。可以改为true,则禁止发送数据。
reporting-disabled = false
Log的开启分两部分,一个是在[logging]部分设置全局的log,另一个在[data]部分对tsm引擎可以单独打开调试信息。
[logging]
level = "debug" #设置log的级别,可以是error, warn, info, and debug
[data]
trace-logging-enabled = false #输出更详细的tsm引擎相关的log,默认是false
retention policy (RP)用来说明数据在InfluxDB中保存多长时间,在cluster中有几份拷贝,以及shard group的time range。每个数据库的RP都是唯一的。
当创建数据库时, InfluxDB会自动创建一个RP命名为autogen,数据的保存时间是永久,数据拷贝是1份并且shard group 时间是7天。
duration代表多少时间后过期
shardGroupDuration 代表的是多长时间的数据放在同一个数据文件中
实际过期是按照数据文件为单位过期的, 比如上面的配置下一个数据文件中会含有2018-1-1 0:0:0 ~ 2018-1-1 23:59:59的数据,这个时间文件的过期时间就为2018-1-1 23:59:59+168h
所以shardGroupDuration不应该设置的太大,太小可能会影响性能
> alter retention policy "autogen" on tsDB duration 3d shard duration 1d replication 1 default
> show retention policies
> show shards #显示当前所有shared数据文件和他们的过期时间
> use tsDB
Using database tsDB
> show retention policies on tsDB
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
> alter retention policy "autogen" on tsDB duration 3d shard duration 1d replication 1 default
> show retention policies
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 72h0m0s 24h0m0s
数据的保留策略可以通过retention相关的参数进行配置
[retention]
# 默认是true,即retention功能打开的.
enabled = true
# 每个多长时间检查一次数据,默认30分钟.
check-interval = "30m"
[meta]
#创建数据库时自动创建默认的 retention policy,默认值是true。
retention-autocreate = true
通过curl与InfluxQL管理数据库
https://docs.influxdata.com/influxdb/v1.8/query_language/manage-database/#delete-a-database-with-drop-database
$ curl -G
'http://localhost:8086/query?db=mydb'--data-urlencode
'q=SELECT * FROM "mymeas"'
从mymeas查询数据并插入到新表newmeas中
$ curl -XPOST
'http://localhost:8086/query?db=mydb'--data-urlencode
'q=SELECT * INTO "newmeas" FROM "mymeas"'
使用query
$curl -XPOST
'http://localhost:8086/query'--data-urlencode
'q=CREATE DATABASE "mydb"'
对于已经存在的数据库,再次创建同名的数据库,对原有的数据没有影响。
$ curl -XPOST
'http://localhost:8086/query'--data-urlencode
'q=DROP DATABASE "mydb"'
修改retention policy使用alter retention policy
$ curl -XPOST 'http://localhost:8086/query' --data-urlencode 'q=alter retention policy "autogen" on tsDB duration 3d shard duration 1d replication 1 default'