Influxdb配置文件详解 - influxdb.conf

2022-02-07 00:00:00 设置 日志 写入 启用 默认值

参考自官方文档: 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”。

相关文章