這是我以前整理的InfluxDB安裝及配置的筆記,這裏記錄下,也方便我之後查閱。 git
環境: CentOS6.5_x64github
InfluxDB版本:1.1.0web
這裏以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/#influxdbcentos
安裝後,在/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下看看。socket
配置文件路徑 :/etc/influxdb/influxdb.conf
能夠經過如下命令生成默認配置文件:
influxd config > default.conf
該選項用於上報influxdb的使用信息給InfluxData公司,默認值爲false
對應源碼文件:
influxdb-1.1.0/cmd/influxd/run/config.go
Config中的ReportingDisabled配置項
備份恢復時使用,默認值爲8088
對應源碼文件:
influxdb-1.1.0/cmd/influxd/run/config.go
Config中的BindAddress配置項
meta相關配置
對應源碼文件:
influxdb-1.1.0/services/meta/config.go
meta數據存放目錄,默認值:/var/lib/influxdb/meta
用於控制默認存儲策略,數據庫建立時,會自動生成autogen的存儲策略,默認值:true
是否開啓meta日誌,默認值:true
tsm1引擎配置
對應源碼文件:
influxdb-1.1.0/tsdb/config.go
最終數據(TSM文件)存儲目錄,默認值:/var/lib/influxdb/data
預寫日誌存儲目錄,默認值:/var/lib/influxdb/wal
是否開啓tsm引擎查詢日誌,默認值: true
用於限定shard最大值,大於該值時會拒絕寫入,默認值:
DefaultCacheMaxMemorySize = 1024 * 1024 * 1024 // 1GB
用於設置快照大小,大於該值時數據會刷新到tsm文件,默認值:
DefaultCacheSnapshotMemorySize = 25 * 1024 * 1024 // 25MB
tsm1引擎 snapshot寫盤延遲,默認值:
DefaultCacheSnapshotWriteColdDuration = time.Duration(10 * time.Minute)
tsm文件在壓縮前能夠存儲的最大時間,默認值:
DefaultCompactFullWriteColdDuration = time.Duration(4 * time.Hour)
限制數據庫的級數,該值爲0時取消限制,默認值:
DefaultMaxSeriesPerDatabase = 1000000
measurement, tag set, retention policy 相同的數據集合算作一個serie,級數算法示例以下:
假設monitor1這個measurement有兩個tags:id 和 name id 的數量爲10,name的數量爲 100,則 series 基數爲 10 * 100 = 1000
一個tag最大的value數,0取消限制,默認值:
DefaultMaxValuesPerTag = 100000
是否開啓trace日誌,默認值: false
查詢管理的配置選項
對應源碼文件:
influxdb-1.1.0/coordinator/config.go
寫操做超時時間,默認值: 10s
最大併發查詢數,0無限制,默認值: 0
查詢操做超時時間,0無限制,默認值:0s
慢查詢超時時間,0無限制,默認值:0s
SELECT語句能夠處理的最大點數(points),0無限制,默認值:0
SELECT語句能夠處理的最大級數(series),0無限制,默認值:0
SELECT語句能夠處理的最大"GROUP BY time()"的時間週期,0無限制,默認值:0
舊數據的保留策略
對應源碼文件:
influxdb-1.1.0/services/retention/config.go
是否啓用該模塊,默認值 : true
檢查時間間隔,默認值 :"30m0s"
分區預建立
對應源碼文件:
influxdb-1.1.0/services/precreator/config.go
是否啓用該模塊,默認值 : true
檢查時間間隔,默認值 :"10m0s"
預建立分區的最大提早時間,默認值 :"30m0s"
influxdb提供的簡單web管理頁面
對應源碼文件:
influxdb-1.1.0/services/admin/config.go
是否啓用該模塊,默認值 : false
綁定地址,默認值 :":8083"
是否開啓https ,默認值 :false
https證書路徑,默認值:"/etc/ssl/influxdb.pem"
這一部分控制InfluxDB自有的監控系統。 默認狀況下,InfluxDB把這些數據寫入_internal 數據庫,若是這個庫不存在則自動建立。 _internal 庫默認的retention策略是7天,若是你想使用一個本身的retention策略,須要本身建立。
對應源碼文件:
influxdb-1.1.0/monitor/config.go
是否啓用該模塊,默認值 :true
默認數據庫:"_internal"
統計間隔,默認值:"10s"
控制Kapacitor接受數據的配置
對應源碼文件:
influxdb-1.1.0/services/subscriber/config.go
是否啓用該模塊,默認值 :true
http超時時間,默認值:"30s"
是否容許不安全的證書,當測試本身簽發的證書時比較有用。默認值: false
設置CA證書,無默認值
設置併發數目,默認值:40
設置buffer大小,默認值:1000
influxdb的http接口配置
對應源碼文件:
influxdb-1.1.0/services/httpd/config.go
是否啓用該模塊,默認值 :true
綁定地址,默認值:":8086"
是否開啓認證,默認值:false
是否開啓日誌,默認值:true
是否開啓寫操做日誌,若是置成true,每一次寫操做都會打日誌,默認值:false
是否開啓pprof,默認值:true
是否開啓https,默認值:false
設置https證書路徑,默認值:"/etc/ssl/influxdb.pem"
設置https私鑰,無默認值
配置查詢返回最大行數,默認值:10000
配置最大鏈接數,0無限制,默認值:0
用於JWT簽名的共享密鑰,無默認值
配置JWT realm,默認值: "InfluxDB"
是否使用unix-socket,默認值:false
unix-socket路徑,默認值:"/var/run/influxdb.sock"
graphite相關配置
具體參考:https://github.com/influxdata/influxdb/blob/master/services/graphite/README.md
對應源碼文件:
influxdb-1.1.0/services/graphite/config.go
是否啓用該模塊,默認值 :false
綁定地址,默認值:":2003"
數據庫名稱,默認值:"graphite"
存儲策略,無默認值
協議,默認值:"tcp"
批量size,默認值:5000
配置在內存中等待的batch數,默認值:10
超時時間,默認值:"1s"
一致性級別,默認值:"one"
多個measurement間的鏈接符,默認值: "."
udp讀取buffer的大小,0表示使用操做系統提供的值,若是超過操做系統的默認配置則會出錯。 該配置的默認值:0
具體參考:https://github.com/influxdata/influxdb/tree/master/services/collectd
對應源碼文件:
influxdb-1.1.0/services/collectd/config.go
是否啓用該模塊,默認值 :false
綁定地址,默認值: ":25826"
數據庫名稱,默認值:"collectd"
存儲策略,無默認值
默認值:5000
默認值:10
默認值:"10s"
udp讀取buffer的大小,0表示使用操做系統提供的值,若是超過操做系統的默認配置則會出錯。默認值:0
路徑,默認值:"/usr/share/collectd/types.db"
opentsdb配置
對應源碼文件:
influxdb-1.1.0/services/opentsdb/config.go
是否啓用該模塊,默認值:false
綁定地址,默認值:":4242"
默認數據庫:"opentsdb"
存儲策略,無默認值
一致性級別,默認值:"one"
是否開啓tls,默認值:false
證書路徑,默認值:"/etc/ssl/influxdb.pem"
默認值:1000
默認值:5
超時時間,默認值:"1s"
出錯時是否記錄日誌,默認值:true
udp配置,具體參考:
https://github.com/influxdata/influxdb/blob/master/services/udp/README.md
對應源碼文件:
influxdb-1.1.0/services/udp/config.go
是否啓用該模塊,默認值:false
綁定地址,默認值:":8089"
數據庫名稱,默認值:"udp"
存儲策略,無默認值
默認值:5000
默認值:10
udp讀取buffer的大小,0表示使用操做系統提供的值,若是超過操做系統的默認配置則會出錯。 該配置的默認值:0
超時時間,默認值:"1s"
時間精度,無默認值
CQs配置
對應源碼文件:
influxdb-1.1.0/services/continuous_querier/config.go
是否開啓日誌,默認值:true
enabled 是否開啓CQs,默認值:true
時間間隔,默認值:"1s"
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170206_InfluxDB安裝及配置.md
歡迎補充