InfluxDB安裝及配置

這是我以前整理的InfluxDB安裝及配置的筆記,這裏記錄下,也方便我之後查閱。 git

環境: CentOS6.5_x64github

InfluxDB版本:1.1.0web

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/#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/併發

2、啓動

一、以服務方式啓動

service influxdb start

二、以非服務方式啓動

influxd

須要指定配置文件的話,可使用 --config 選項,具體能夠help下看看。socket

3、配置

配置文件路徑 :/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

歡迎補充 

相關文章
相關標籤/搜索