参考自官方文档: https://docs.influxdata.com/influxdb/v1.7/administration/config
全局配置
reporting-disabled = false
该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false,将此选项设置为true将禁用报告。
bind-address = ":8088"
备份恢复时使用,默认值为8088。
Metastore配置
[meta]
本部分控制InfluxDB metastore的参数,该metastore存储有关用户,数据库,保留策略,分片和连续查询的信息。
dir = "/var/lib/influxdb/meta"
meta数据存放目录。
retention-autocreate = true
用于控制默认存储策咯,数据库创建时,会自动生成autogen的存储策略,默认值:true。
logging-enabled = true
是否开启meta日志,默认值:true
Data配置
[data]
[data]设置控制InfluxDB的实际分片数据在何处以及如何从预写日志(WAL)中清除。 dir可能需要更改为适合您的系统的位置,但是WAL设置是高级配置。 默认值适用于大多数系统。
dir = "/var/lib/influxdb/data"
存储最终数据(TSM文件)的目录,此目录可能会更改。
index-version = "inmem"
用于新分片的分片索引的类型,默认inmem索引是在启动时重新创建的内存中索引。要启用基于时间序列(TSI)磁盘的索引,请将其值设置为tsi1。
wal-dir = "/var/lib/influxdb/wal"
预写日志(WAL)文件的存储目录。
wal-fsync-delay = "0s"
写入在fsyncing之前等待的时间。 持续时间大于0可用于批量处理多个fsync调用。 这对于较慢的磁盘或遇到WAL写入争用时很有用。 每次写入WAL时值为0s fsyncs。 对于非SSD磁盘,建议使用0-100ms范围内的值。
validate-keys = false
验证传入的写操作以确保密钥仅具有有效的unicode字符。 因为必须检查每个密钥, 所以此设置会产生少量的开销,默认值false。
query-log-enabled = true
是否开启tsm引擎查询日志,默认值: true。 查询日志对于故障排除很有用,但会记录查询中包含的所有敏感数据。
trace-logging-enabled = false
是否开启跟踪(trace)日志,默认值:false。
TSM引擎设置
cache-max-memory-size = 1073741824
用于限定shard最大值,大于该值时会拒绝写入,默认值:1000MB,单位:byte。
cache-snapshot-memory-size = "25m"
用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:25MB,单位:byte。
cache-snapshot-write-cold-duration = "10m"
如果分片尚未收到写入或删除操作,则tsm引擎将对缓存进行快照(snapshot)并将其写入新的TSM文件的时间间隔,默认值:10Minute。
compact-full-write-cold-duration = "4h"
如果TSM引擎未收到写入或删除操作,则该时间间隔会将所有TSM文件压缩到一个分片中,默认值:4h。
max-concurrent-compactions = 0
可以一次运行的最大并发完全和级别压缩数。 默认值0导致50%的CPU内核在运行时用于压缩。 如果明确设置,则用于压缩的核数将限制为指定值。 此设置不适用于缓存快照,默认值:0。
compact-throughput = "48m"
是我们允许TSM压缩写入磁盘的速率限制(以字节/秒为单位)。 请注意,短脉冲串允许以可能更大的值发生,由Compact-Throughput-Burst设置,默认值:48m。
compact-throughput-burst = "48m"
是我们允许TSM压缩写入磁盘的速率限制(以每秒字节数为单位),默认值:48m。
tsm-use-madv-willneed = false
如果为true,则mmap advise值MADV_WILLNEED会就输入/输出页面调度向内核建议如何处理映射的内存区域。 由于此设置在某些内核(包括CentOS和RHEL)上存在问题,因此默认值为false。 将值更改为true可能会在某些情况下帮助磁盘速度较慢的用户。
In-memory(inmen)索引设置
max-series-per-database = 1000000
限制数据库的series数,该值为0时取消限制,默认值:1000000。
max-values-per-tag = 100000
一个tag最大的value数,该值为0时取消限制,默认值:100000。
TSI(tsi1)索引设置
max-index-log-file-size = "1m"
索引预写日志(WAL)文件压缩到索引文件中时的阈值(以字节为单位)。 较小的大小将导致日志文件更快地压缩,并导致较低的堆使用率,但会降低写入吞吐量。 更高的大小将更少压缩,在内存中存储更多序列,并提供更高的写入吞吐量。有效大小的后缀为k,m或g(不区分大小写,1024 = 1k)。没有大小后缀的值以字节为单位,默认值:1m。
series-id-set-cache-size = 100
TSI索引中用于存储先前计算的系列结果的内部缓存的大小。 高速缓存的结果将从高速缓存中快速返回,而不是在执行具有匹配的标签键值谓词的后续查询时需要重新计算。 将此值设置为0将禁用缓存,这可能会导致查询性能问题。 仅当已知数据库的所有度量中经常使用的标记键值谓词的集合大于100时,才应增加此值。高速缓存大小的增加可能会导致堆使用率的增加。
查询管理设置
[coordinator]
本部分包含查询管理的配置设置。
write-timeout = "10s"
写操作超时时间,默认值: 10s。
max-concurrent-queries = 0
最大并发查询数,0无限制,默认值: 0。
query-timeout = "0s"
查询操作超时时间,0无限制,默认值:0s。
log-queries-after = "0s"
慢查询超时时间,0无限制,默认值:0s
max-select-point = 0
select语句可以处理的最大点数(points),0无限制,默认值:0。
max-select-series = 0
SELECT语句可以处理的最大级数(series),0无限制,默认值:0
max-select-buckets = 0
select语句可以处理的最大"GROUP BY time()"的时间周期,0无限制,默认值:0。
保留策咯(Retention policy)设置
[retention]
[retention]设置用于控制淘汰旧数据的保留策略的执行。
enabled = true
是否启用该模块,默认值 : true,设置为false可以防止InfluxDB强制执行保留策略。
check-interval = "30m0s"
检查时间间隔,默认值 :“30m”。
分区预创建(Shard precreation)设置
[shard-precreation]
[shard-precreation]设置控制分片的增量,以便在数据到达之前可以使用分片。 只有在创建后将在未来具有开始时间和结束时间的分片才会被创建。 永远不会预先创建全部或部分过去的碎片。
enabled = true
是否启用该模块,默认值 : true。
check-interval = "10m"
检查时间间隔,默认值 :“10m”。
advance-period = "30m"
预创建分区的最大提前时间,默认值 :30m。
监控(Monitoring)设置
[monitor]
[monitor]部分的设置可控制InfluxDB系统的自我监视。
默认情况下,InfluxDB将数据写入_internal数据库。 如果该数据库不存在,InfluxDB会自动创建它。 _internal数据库上的DEFAULT保留策略为7天。 如果要使用7天保留策略以外的保留策略,则必须创建它。
store-enabled = true
是否启用该模块,默认值 :true。
store-database = "_internal"
默认数据库:"_internal"
store-interval = "10s"
统计间隔,默认值:"10s"
HTTP端点设置
[http]
[http]部分的设置控制InfluxDB如何配置HTTP端点。 这些是将数据传入和传出InfluxDB的主要机制。 编辑此部分中的设置以启用HTTPS和身份验证。
enabled = true
是否启用该模块,默认值 :true。
flux-enabled = false
是否启用流查询端点,默认值 :false。
flux-log-enabled = false
是否启用流查询日志。
bind-address = ":8086"
绑定地址,默认值:":8086"。
auth-enabled = false
是否开启认证,默认值:false。
log-enabled = true
是否开启http请求日志,默认值:true。
suppress-write-log = false
在启用日志时是否应禁止HTTP写入请求日志,默认值:false。
write-tracing = false
是否开启写操作日志,如果置成true,每一次写操作都会打日志,默认值:false。
pprof-enabled = true
是否开启pprof,此端点用于故障排除和监视,默认值:true。
pprof-auth-enabled = false
是否在/debug端点上启用身份验证。
debug-pprof-enabled = false
启用默认的/ pprof端点并绑定到localhost:6060。 对于调试启动性能问题很有用。默认值:false。
ping-auth-enabled = false
在/ ping,/ metrics和已弃用的/ status端点上启用身份验证。 如果auth-enabled设置为false,则此设置无效。
https-enabled = false
确定是否启用HTTPS。 要启用HTTPS,请将值设置为true。
https-certificate = "/etc/ssl/influxdb.pem"
启用HTTPS时要使用的SSL证书文件的路径。
https-private-key = ""
设置https私钥,无默认值。
max-row-limit = 0
系统在非分块查询中可以返回的最大行数。 默认设置(0)允许无限制的行数。 如果查询结果超过指定的值,则InfluxDB在响应正文中包含一个“ partial”:true标记。
max-connection-limit = 0
一次可以打开的最大连接数。 超出限制的新连接将被删除。
默认值0禁用该限制。
shared-secret = ""
用于使用JWT令牌验证公共API请求的共享密钥。
realm = "InfluxDB"
发出基本身份验证质询时发送回的默认域,默认值: “InfluxDB”。
unix-socket-enabled = false
通过UNIX域套接字启用HTTP服务。 要通过UNIX域套接字启用HTTP服务,请将值设置为true。
bind-socket = "/var/run/influxdb.sock"
unix-socket路径,默认值:"/var/run/influxdb.sock"。
max-body-size = 25000000
客户端请求正文的最大大小(以字节为单位), 将此值设置为0将禁用该限制。默认值:25000000。
access-log-path = ""
启用HTTP请求日志记录时,此选项指定应写入日志条目的路径。
max-concurrent-write-limit = 0
并发处理的最大写入次数,将此设置为0将禁用该限制。默认值:0。
max-enqueued-write-limit = 0
排队等待处理的最大写入次数。将此设置为0将禁用该限制。默认值:0。
enqueued-write-timeout = 0
写入等待队列中写入的最长持续时间。将此设置为0或将max-concurrent-write-limit设置为0将禁用该限制。默认值:0。
日志(Logging)设置
[logging]
控制记录器如何将日志发送到输出。
format = "auto"
确定用于日志的日志编码器。 可用选项包括auto,logfmt和json。 如果输出终端是TTY,则auto将使用更加用户友好的输出格式,但格式不易于机器读取。 当输出是非TTY时,auto将使用logfmt。默认值:“auto”。
level = "info"
确定将发出的日志级别。 可用的级别包括错误,警告,信息和调试。 将发出等于或高于指定级别的日志。默认值:“info”。
suppress-logo = false
禁止在程序启动时打印的徽标输出。 如果STDOUT不是TTY,则始终禁止使用徽标。默认值:false。
订阅(Subscription)设置
[subscriber]
[subscriber]部分控制Kapacitor如何接收数据。
enabled = true
是否启用该模块,默认值 :true。
http-timeout = "30s"
http超时时间,默认值:“30s”。
insecure-skip-verify = false
是否允许不安全的证书,当测试自己签发的证书时比较有用。默认值: false。
ca-certs = ""
设置CA证书,无默认值。
write-concurrency = 40
设置并发数目,默认值:40。
write-buffer-size = 1000
设置buffer大小,默认值:1000。
Graphite设置
enabled = false
是否启用该模块,默认值 :false。
bind-address = ":2003"
默认端口。
database = "graphite"
数据库名称,默认值:“graphite”。
retention-policy = ""
存储策略,无默认值。
consistency-level = "one"
一致性等级,默认值:“one”。
tls-enabled = false
是否开启tls,默认值:false。
certificate = "/etc/ssl/influxdb.pem"
证书路径,默认值:"/etc/ssl/influxdb.pem"。
batch-size = 1000
这些下一行控制批处理的工作方式。 您应该已启用此功能,否则您可能会丢失指标或性能不佳。 仅通过telnet协议接收的指标进行批处理。如果这么多点被缓冲,请刷新。默认值:1000。
batch-pending = 5
内存中可能挂起的批次数,默认值:5。
batch-timeout = "1s"
即使输入未达到配置的批量大小,输入也会至少刷新一次。默认值:“1s”。
log-point-errors = true
出错时是否记录日志,默认值:true。
UDP设置
[[udp]]
[[udp]]设置使用UDP控制InfluxDB线路协议数据的侦听器。
enabled = false
是否启用该模块,默认值:false。
bind-address = ":8089"
绑定地址,默认值:":8089"。
database = "udp"
数据库名称,默认值:“udp”。
retention-policy = ""
存储策略,无默认值。
batch-size = 5000
接下来的行控制批处理的工作原理。 您应该已启用此功能,否则您可能会丢失指标或性能不佳。 如果有很多进入,批处理将缓冲内存中的点。如果这么多点被缓冲,则刷新,默认值:5000。
batch-pending = 10
如果这么多点被缓冲,请刷新,默认值:10。
read-buffer = 0
udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 默认值:0。
batch-timeout = "1s"
即使输入未达到配置的批量大小,输入也会至少刷新一次。默认值:“1s”。
precision = ""
解码时间值时使用的时间精度。 默认值为纳秒,这是数据库的默认值。
连续查询(Continuous queries)设置
[continuous_queries]
[continuous_queries]设置控制InfluxDB中连续查询(CQ)的运行方式。 连续查询是在最近的时间间隔内执行的自动查询批次。 InfluxDB每个GROUP BY time()间隔执行一个自动生成的查询。
log-enabled = true
是否开启日志,默认值:true。
enabled = true
是否开启CQs,默认值:true。
query-stats-enabled = false
控制是否将查询记录到自我监视数据存储。默认值:false。
run-interval = "1s"
检查连续查询是否需要运行的时间间隔,默认值:“1s”。
[tls]
InfluxDB中TLS的全局配置设置。
min-version = ""
将协商的tls协议的最低版本。 如果未指定,则使用Go的crypto / tls包中的默认设置,默认值:“tls1.2”。
max-version = ""
将协商的tls协议的最大版本。 如果未指定,则使用Go的crypto / tls包中的默认设置,默认值:“tls1.2”。