influxdb学习笔记-配置篇

转载:https://www.zoulei.net/2017/12/01/influxdb_config/
相关:https://www.cnblogs.com/mafeng/p/6848166.html

开始一个软件,从读懂它的配置文件开始。以下是读取3.1配置文档的笔记
总结来说,influxdb的配置文件可配置的地方几乎没有。参数性能调优貌似不存在,其中是否开启,是否记录日志都占据了好多部分。额外需要关注的是data章节有一些关于fsync的设置默认是0,还有默认的max-series-per-database和max-value-per-tag默认都存在限制。暂时不太清楚原理是什么(更新:因为influxdb最大的软肋就在series的数量上。tag的数据都保存在内存。所以有极大的限制。可以看到官方硬件要求,100万的series需要4-6核心CPU,8-32GB内存,iops要求1000+。对比一下influxdb提供的云服务,100万的series需要每月1500刀!!!)。当保存大量数据的时候肯定会报错,另外默认的慢查询日志是没有打开的。对于请求。默认没有限制最大的返回内容数。以及限制单个查询响应的时间

使用配置文件

  • 使用influxd config查看默认的配置
  • 使用influxd -config config_path或者INFLUXDB_CONFIG_PATH启动

环境变量

配置优先级为: 环境变量 > 文件配置 > 默认设置

全局选项

  1. reporting-disabled 发送数据统计给influxdb
  2. bind-address 绑定监听地址(RPC)
  3. GOMAXPROCS 最大进程数

[meta]

dir meta数据保存地址(一般设置一个base_dir)
retention-autocreate 自动创建保留策略。默认永久保留
logging-enabled 开启meta日志记录

[data]

dir 数据保存地址
index-version 决定分片索引保存内存还是磁盘
wal-dir 预写日志保存地址
wal-fsync-delay 预写日志刷新延迟(非ssd磁盘建议0-100ms)
trace-logging-enabled TSM引擎和WAL日志
query-log-enabled 是否记录查询日志
cache-max-memory-size 最大缓存容量,占满会拒绝写入
cache-snapshot-memory-size 缓存快照大小。满后会将内存内容写入到TSM文件
cache-snapshot-write-cold-duration 如果一个分片没有被写入或者删除会被写入到TSM文件的时间
compact-full-write-cold-duration 同上,没有写入或者删除的压缩时间
max-concurrent-compactions 并发压缩进程数
max-series-per-database 每个数据库最大的series数量。超过会500错误。0表示无限制(为什么需要限制呢?)
max-values-per-tag 每个tag索引的值个数(同疑问为什么限制为十万)

[coordinator]

write-timeout 写入超时时间10秒
max-concurrent-queries 最大并发查询数默认无限制
query-timeout 查询超时时间默认无限制
log-queries-after 慢查询检测。为慢查询则记录日志
max-select-point 最大的points数量。默认无限制
max-select-series 最大的series数量。默认无限制
max-select-buckets 最大的GROUP BY time()数量。默认无限制

[retention]

enable 设置为false则禁止删除数据
check-interval 检查周期默认三十分钟

[shard-precreation]

enable 开启数据到达前先创建shard
check-interval 检查周期
advance-period 预创建shard的最大时间

[admin]

官方完全废弃,不可用。由xx替代(注:还是用grafana吧)

[monitor]

系统自身监控。默认数据会保存到_internal数据库

store-enabled 是否存储监控信息
store-database 保存数据库的名称
store-interval 记录间隔。默认十秒

[subscriber]

这个部分是控制Kapacitor如何接收数据。应该没什么用处

enabled
http-timeout
insecure-skip-verify
ca-certs
write-concurrency
write-buffer-size

[http]

除了RPC调用。就是RESTFUL方式的api读写了

enable 是否打开
bind-address 绑定地址
auth-enabled 打开验证
realm JWT验证相关
log-enabled 记录日志
write-tracing 应该是调试使用。会记录写入的payload
pprof-enabled 开启性能记录
https-enabled 开启https
https-certificate https证书
https-private-key https私钥
shared-secret 用于JWT的签名。想想单机应该是用不到的
max-row-limit 最大单次可以上传的point,默认无限制
max-connection-limit 最大可连接数,默认无限制
unix-socket-enabled 开启unix域连接
bind-socket 绑定socket域
max-body-size 最大body长度,默认25MB,超过大小返回http413请求实体过大错误

[[graphite]]

(service plugin)设置一个或多个graphite数据监听器

enabled 启用graphite
database  数据库名称
retention-policy 保留策略
bind-address 绑定地址
protocol 协议tcp或udp
consistency-level 一致性级别
batch-size
batch-pending
batch-timeout
udp-read-buffer
separator

[collectd]

(service plugin)同上,设置监听collectd数据

enabled
bind-address
database
retention-policy
typesdb
security-level
auth-file
batch-size
batch-pending
batch-timeout
read-buffer

[[opentsdb]]

(service plugin)同上,设置监听opentsdb数据

enabled
bind-address
database
retention-policy
consistency-level
tls-enabled
certificate
log-point-errors
batch-size
batch-pending
batch-timeout

[[udp]]

(service plugin)除了RPC、HTTP、附带UDP

enabled
bind-address
database
retention-policy
batch-size
batch-pending
batch-timeout
read-buffer
precision

[continuous_queries]

持续查询

enabled  开启
query-stats-enabled 默认关闭,将执行统计写入到默认的监控数据库
log-enabled 记录日志
run-interval 查找执行间隔

你可能感兴趣的:(转载,数据库)