更改索引方式
InfluxDB 默认的索引是在内存上维护的,不断地数据增长会使用越来越多的内存,并有一个参数 index-version 可以设置索引方式。如果是直接在主机上部署的可以修改配置文件,Docker 部署则需要通过环境变量设置:

environment:

INFLUXDB_DATA_INDEX_VERSION: tsi1

将索引数据存储在磁盘上,可以通过日志或者查看分片的目录结构验证修改是否生效,若索引方式为 tsi1,在分片目录下会有一个名为 index 的目录,inmem 索引则没有。

具体位置是 /var/lib/influxdb/data/<数据库>/<保留策略>/<分片>。

[root@izuf6czs1dw6siz3zokdiez 1_day]# ls
1 10 11 12 13 14 15 16 18 19 20 21 3 4 5 6 7 8 9
[root@izuf6czs1dw6siz3zokdiez 1_day]# cd 15
[root@izuf6czs1dw6siz3zokdiez 15]# ls
000000001-000000001.tsm fields.idx index

禁用状态监控
默认情况下 InfluxDB 会维护一个 _internal 库,来监控系统状态,但是会产生不必要的数据,官方不推荐在生产环境下使用 _internal 库。

InfluxData does not recommend using the _internal database in a production cluster. It creates unnecessary overhead, particularly for busy clusters, that can overload an already loaded cluster. Metrics stored in the _internal database primarily measure workload performance and should only be tested in non-production environments.

添加环境变量:
environment:

INFLUXDB_DATA_INDEX_VERSION: tsi1
INFLUXDB_MONITOR_STORE_ENABLED: "false"

标签: none