官方文檔: 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”。
轉自:https://www.jianshu.com/p/ba7ed2042a20