1. 程式人生 > 其它 >influxdb安裝及配置

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"