influxdb安裝及配置
influxdb安裝及配置
安裝
二進位制安裝
這裡以centos6.5為例進行安裝:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm
yum localinstall influxdb-1.1.0.x86_64.rpm
其它環境可以參考influxdb官方文件:
https://www.influxdata.com/downloads/#influxdb
安裝後,在/usr/bin下面有如下檔案:
influxd influxdb伺服器
influx influxdb命令列客戶端
influx_inspect 檢視工具
influx_stress 壓力測試工具
influx_tsm 資料庫轉換工具(將資料庫從b1或bz1格式轉換為tsm1格式)
在/var/lib/influxdb/下面會有如下資料夾:
data 存放最終儲存的資料,檔案以.tsm結尾
meta 存放資料庫元資料
wal 存放預寫日誌檔案
原始碼編譯安裝
go get github.com/influxdata/influxdb
cd $GOPATH/src/github.com/influxdata/
go get ./...
go install ./...
具體可參考這裡:https://anomaly.io/compile-influxdb/
啟動
以服務方式啟動
service influxdb start
以非服務方式啟動
influxd
需要指定配置檔案的話,可以使用 --config 選項,具體可以help下看看。
配置
配置檔案路徑 :/etc/influxdb/influxdb.conf
可以通過以下命令生成預設配置檔案:
influxd config > default.conf
reporting-disabled
該選項用於上報influxdb的使用資訊給InfluxData公司,預設值為false
對應原始碼檔案:
influxdb-1.1.0/cmd/influxd/run/config.go
Config中的ReportingDisabled配置項
bind-address
備份恢復時使用,預設值為8088
對應原始碼檔案:
influxdb-1.1.0/cmd/influxd/run/config.go
Config中的BindAddress配置項
[meta]
meta相關配置
對應原始碼檔案:
influxdb-1.1.0/services/meta/config.go
dir
meta資料存放目錄,預設值:/var/lib/influxdb/meta
retention-autocreate
用於控制預設儲存策略,資料庫建立時,會自動生成autogen的儲存策略,預設值:true
logging-enabled
是否開啟meta日誌,預設值:true
[data]
tsm1引擎配置
對應原始碼檔案:
influxdb-1.1.0/tsdb/config.go
dir
最終資料(TSM檔案)儲存目錄,預設值:/var/lib/influxdb/data
wal-dir
預寫日誌儲存目錄,預設值:/var/lib/influxdb/wal
query-log-enabled
是否開啟tsm引擎查詢日誌,預設值: true
cache-max-memory-size
用於限定shard最大值,大於該值時會拒絕寫入,預設值:
DefaultCacheMaxMemorySize = 1024 * 1024 * 1024 // 1GB
cache-snapshot-memory-size
用於設定快照大小,大於該值時資料會重新整理到tsm檔案,預設值:
DefaultCacheSnapshotMemorySize = 25 * 1024 * 1024 // 25MB
cache-snapshot-write-cold-duration
tsm1引擎 snapshot寫盤延遲,預設值:
DefaultCacheSnapshotWriteColdDuration = time.Duration(10 * time.Minute)
compact-full-write-cold-duration
tsm檔案在壓縮前可以儲存的最大時間,預設值:
DefaultCompactFullWriteColdDuration = time.Duration(4 * time.Hour)
max-series-per-database
限制資料庫的級數,該值為0時取消限制,預設值:
DefaultMaxSeriesPerDatabase = 1000000
measurement, tag set, retention policy 相同的資料集合算做一個serie,級數演算法示例如下:
假設monitor1這個measurement有兩個tags:id 和 name
id 的數量為10,name的數量為 100,則 series 基數為 10 * 100 = 1000
max-values-per-tag
一個tag最大的value數,0取消限制,預設值:
DefaultMaxValuesPerTag = 100000
trace-logging-enabled
是否開啟trace日誌,預設值: false
[coordinator]
查詢管理的配置選項
對應原始碼檔案:
influxdb-1.1.0/coordinator/config.go
write-timeout
寫操作超時時間,預設值: 10s
max-concurrent-queries
最大併發查詢數,0無限制,預設值: 0
query-timeout
查詢操作超時時間,0無限制,預設值:0s
log-queries-after
慢查詢超時時間,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]
舊資料的保留策略
對應原始碼檔案:
influxdb-1.1.0/services/retention/config.go
enabled
是否啟用該模組,預設值 : true
check-interval
檢查時間間隔,預設值 :"30m0s"
[shard-precreation]
分割槽預建立
對應原始碼檔案:
influxdb-1.1.0/services/precreator/config.go
enabled
是否啟用該模組,預設值 : true
check-interval
檢查時間間隔,預設值 :"10m0s"
advance-period
預建立分割槽的最大提前時間,預設值 :"30m0s"
[admin]
influxdb提供的簡單web管理頁面
對應原始碼檔案:
influxdb-1.1.0/services/admin/config.go
enabled
是否啟用該模組,預設值 : false
bind-address
繫結地址,預設值 :":8083"
https-enabled
是否開啟https ,預設值 :false
https-certificate
https證書路徑,預設值:"/etc/ssl/influxdb.pem"
[monitor]
這一部分控制InfluxDB自有的監控系統。 預設情況下,InfluxDB把這些資料寫入_internal 資料庫,如果這個庫不存在則自動建立。 _internal 庫預設的retention策略是7天,如果你想使用一個自己的retention策略,需要自己建立。
對應原始碼檔案:
influxdb-1.1.0/monitor/config.go
store-enabled
是否啟用該模組,預設值 :true
store-database
預設資料庫:"_internal"
store-interval
統計間隔,預設值:"10s"
[subscriber]
控制Kapacitor接受資料的配置
對應原始碼檔案:
influxdb-1.1.0/services/subscriber/config.go
enabled
是否啟用該模組,預設值 :true
http-timeout
http超時時間,預設值:"30s"
insecure-skip-verify
是否允許不安全的證書,當測試自己簽發的證書時比較有用。預設值: false
ca-certs
設定CA證書,無預設值
write-concurrency
設定併發數目,預設值:40
write-buffer-size
設定buffer大小,預設值:1000
[http]
influxdb的http介面配置
對應原始碼檔案:
influxdb-1.1.0/services/httpd/config.go
enabled
是否啟用該模組,預設值 :true
bind-address
繫結地址,預設值:":8086"
auth-enabled
是否開啟認證,預設值:false
log-enabled
是否開啟日誌,預設值:true
write-tracing
是否開啟寫操作日誌,如果置成true,每一次寫操作都會打日誌,預設值:false
pprof-enabled
是否開啟pprof,預設值:true
https-enabled
是否開啟https,預設值:false
https-certificate
設定https證書路徑,預設值:"/etc/ssl/influxdb.pem"
https-private-key
設定https私鑰,無預設值
max-row-limit
配置查詢返回最大行數,預設值:10000
max-connection-limit
配置最大連線數,0無限制,預設值:0
shared-secret
用於JWT簽名的共享金鑰,無預設值
realm
配置JWT realm,預設值: "InfluxDB"
unix-socket-enabled
是否使用unix-socket,預設值:false
bind-socket
unix-socket路徑,預設值:"/var/run/influxdb.sock"
[[graphite]]
graphite相關配置
具體參考:https://github.com/influxdata/influxdb/blob/master/services/graphite/README.md
對應原始碼檔案:
influxdb-1.1.0/services/graphite/config.go
enabled
是否啟用該模組,預設值 :false
bind-address
繫結地址,預設值:":2003"
database
資料庫名稱,預設值:"graphite"
retention-policy
儲存策略,無預設值
protocol
協議,預設值:"tcp"
batch-size
批量size,預設值:5000
batch-pending
配置在記憶體中等待的batch數,預設值:10
batch-timeout
超時時間,預設值:"1s"
consistency-level
一致性級別,預設值:"one"
separator
多個measurement間的連線符,預設值: "."
udp-read-buffer = 0
udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。 該配置的預設值:0
[[collectd]]
具體參考:https://github.com/influxdata/influxdb/tree/master/services/collectd
對應原始碼檔案:
influxdb-1.1.0/services/collectd/config.go
enabled
是否啟用該模組,預設值 :false
bind-address
繫結地址,預設值: ":25826"
database
資料庫名稱,預設值:"collectd"
retention-policy = ""
儲存策略,無預設值
batch-size
預設值:5000
batch-pending
預設值:10
batch-timeout
預設值:"10s"
read-buffer
udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。預設值:0
typesdb
路徑,預設值:"/usr/share/collectd/types.db"
[[opentsdb]]
opentsdb配置
對應原始碼檔案:
influxdb-1.1.0/services/opentsdb/config.go
enabled
是否啟用該模組,預設值:false
bind-address
繫結地址,預設值:":4242"
database
預設資料庫:"opentsdb"
retention-policy
儲存策略,無預設值
consistency-level
一致性級別,預設值:"one"
tls-enabled = false
是否開啟tls,預設值:false
certificate
證書路徑,預設值:"/etc/ssl/influxdb.pem"
batch-size
預設值:1000
batch-pending
預設值:5
batch-timeout
超時時間,預設值:"1s"
log-point-errors
出錯時是否記錄日誌,預設值:true
[[udp]]
udp配置,具體參考:
https://github.com/influxdata/influxdb/blob/master/services/udp/README.md
對應原始碼檔案:
influxdb-1.1.0/services/udp/config.go
enabled
是否啟用該模組,預設值:false
bind-address
繫結地址,預設值:":8089"
database
資料庫名稱,預設值:"udp"
retention-policy
儲存策略,無預設值
batch-size
預設值:5000
batch-pending
預設值:10
read-buffer
udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。 該配置的預設值:0
batch-timeout
超時時間,預設值:"1s"
precision
時間精度,無預設值
[continuous_queries]
CQs配置
對應原始碼檔案:
influxdb-1.1.0/services/continuous_querier/config.go
log-enabled
是否開啟日誌,預設值:true
enabled 是否開啟CQs,預設值:true
run-interval
時間間隔,預設值:"1s"