這是我之前整理的InfluxDB安裝及配置的筆記,這裡記錄下,也方便我以後查閱。 環境: CentOS6.5_x64 InfluxDB版本:1.1.0 一、安裝 1、二進位安裝 這裡以centos6.5為例進行安裝: 其它環境可以參考influxdb官方文檔: https://www.influxd ...
這是我之前整理的InfluxDB安裝及配置的筆記,這裡記錄下,也方便我以後查閱。
環境: CentOS6.5_x64
InfluxDB版本:1.1.0
一、安裝
1、二進位安裝
這裡以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 存放預寫日誌文件
2、源碼編譯安裝
go get github.com/influxdata/influxdb cd $GOPATH/src/github.com/influxdata/ go get ./... go install ./...
具體可參考這裡:https://anomaly.io/compile-influxdb/
二、啟動
1、以服務方式啟動
service influxdb start
2、以非服務方式啟動
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"
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170206_InfluxDB安裝及配置.md
歡迎補充