1. 程式人生 > 實用技巧 >時序資料庫-InfluxDB安裝及使用-Ubuntu

時序資料庫-InfluxDB安裝及使用-Ubuntu

安裝

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.3_amd64.deb
sudo dpkg -i influxdb_1.8.3_amd64.deb
systemctl enable influxdb
systemctl start influxdb
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.16.0-1_amd64.deb
sudo dpkg -i telegraf_1.16.0-1_amd64.deb
systemctl enable
telegraf
systemctl start telegraf
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.8.7_amd64.deb
sudo dpkg -i chronograf_1.8.7_amd64.deb
systemctl enable chronograf
systemctl start chronograf

wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.5.6-1_amd64.deb
sudo dpkg -i kapacitor_1.5.6-1_amd64.deb

systemctl enable kapacitor
systemctl start kapacitor

使用

顯示使用者  
show users
建立使用者
create user "username" with password 'password'
建立管理員許可權使用者
create user "username" with password 'password' with all privileges 刪除使用者 drop user "username"
資料中的時間欄位預設顯示的是一個納秒時間戳,改成可讀格式
precision rfc3339; -- 之後再查詢,時間就是rfc3339標準格式


配置詳解
配置檔案路徑 :/etc/influxdb/influxdb.conf
使用influxd -config config_path 重新啟動

reporting-disabled:該選項用於上報influxdb的使用資訊給InfluxData公司,預設值為false。
bind-address:繫結地址以用於RPC服務以進行備份和還原,預設配置是127.0.0.1:8088。
[meta]:控制儲存有關InfluxDB群集的元資料的Raft共識組的引數。
dir:儲存元資料/ raft資料庫的目錄,預設值:/var/lib/influxdb/meta。
retention-autocreate:用於控制預設儲存策略,資料庫建立時,會自動生成autogen的儲存策略,預設值:true。
logging-enabled:為元服務列印日誌訊息,預設值:true。
[data]:控制InfluxDB的實際分片資料的生存位置以及它從WAL中重新整理的方式。 “dir”可能需要更改為適合您系統的位置,但WAL設定是高階配置。 預設值應適用於大多數系統。
dir:最終資料(TSM檔案)儲存目錄,預設值:/var/lib/influxdb/data。
wal-dir:預寫日誌儲存目錄,預設值:/var/lib/influxdb/wal。
wal-fsync-delay:寫入在fsyncing之前等待的時間。 持續時間大於0可用於批量處理多個fsync呼叫。 這對於較慢的磁碟或看到WAL寫入爭用時很有用。 每次寫入WAL時值為0s fsyncs。 對於非SSD磁碟,建議使用0-100ms範圍內的值。
index-version:用於新分片的分片索引的型別。 預設值是在啟動時重新建立的記憶體中索引。 值“tsi1”將使用支援更高的基於磁碟的索引基數資料集。
trace-logging-enabled:是否開啟跟蹤(trace)日誌,預設值:false。
query-log-enabled:是否開啟tsm引擎查詢日誌,預設值: true。
validate-keys:驗證傳入的寫入以確保金鑰僅具有有效的unicode字元。 此設定將產生很小的開銷,因為必須檢查每個金鑰,預設值false。
cache-max-memory-size:用於限定shard最大值,大於該值時會拒絕寫入,預設值:1GB。
cache-snapshot-memory-size:用於設定快照大小,大於該值時資料會重新整理到tsm檔案,預設值:25MB。
cache-snapshot-write-cold-duration:tsm1引擎 snapshot(快照)寫盤延遲,預設值:10m。
compact-full-write-cold-duration:tsm檔案在壓縮前可以儲存的最大時間,預設值:4h。
max-concurrent-compactions:可以一次執行的最大併發完全和級別壓縮數。 值為0會導致執行時使用50%執行時.GOMAXPROCS(0)。 任何大於0的數字都會限制對該值的壓縮。 此設定不適用於快取快照,預設值:0。
compact-throughput:是我們允許TSM壓縮寫入磁碟的速率限制(以位元組/秒為單位)。 請注意,短脈衝串允許以可能更大的值發生,由Compact-Throughput-Burst設定,預設值:48m。
compact-throughput-burst:是我們允許TSM壓縮寫入磁碟的速率限制,以每秒位元組數為單位,預設值:48m。
max-index-log-file-size:索引預寫日誌檔案壓縮到索引檔案中時的閾值(以位元組為單位)。 較小的大小將導致日誌檔案更快地壓縮,並導致較低的堆使用量,但代價是寫入吞吐量。 更高的大小將更少壓縮,在記憶體中儲存更多系列,並提供更高的寫入吞吐量。有效大小的字尾為k,m或g(不區分大小寫,1024 = 1k)。沒有大小字尾的值以位元組為單位,預設值:1m。
max-series-per-database:限制資料庫的級數,該值為0時取消限制,預設值:1000000。
max-values-per-tag:一個tag最大的value數,0取消限制,預設值:100000。
tsm-use-madv-willneed:如果為true,則將針對TSM檔案向核心提供mmap建議值MADV_WILLNEED。 已發現此設定在某些核心上存在問題,預設值:false。 在某些情況下,它可能會幫助磁碟速度較慢的使用者。
[coordinator]:控制群集服務配置。
write-timeout:寫操作超時時間,預設值: 10s。
max-concurrent-queries:最大併發查詢數,0無限制,預設值: 0。、
query-timeout:查詢操作超時時間,0無限制,預設值:0s。
log-queries-after:慢查詢超時時間,0無限制,預設值:0s。
max-select-point:select語句可以處理的最大點數(points),0無限制,預設值:0。
max-select-series:select語句可以處理的最大級數(series),0無限制,預設值:0。
max-select-buckets:select語句可以處理的最大"GROUP BY time()"的時間週期,0無限制,預設值:0。
[retention]: 舊資料的保留策略。
enabled:是否啟用該模組,預設值 : true。
check-interval:檢查時間間隔,預設值 :“30m”。
[shard-precreation]:分割槽預建立。
enabled:是否啟用該模組,預設值 : true。
check-interval:檢查時間間隔,預設值 :“10m”。
advance-period:預建立分割槽的最大提前時間,預設值 :30m。
[admin]:influxdb提供的簡單web管理頁面。
enabled:是否啟用該模組,預設值 : false。
bind-address:繫結地址,預設值 :":8083"
https-enabled:是否開啟https ,預設值 :false。
https-certificate:https證書路徑,預設值:"/etc/ssl/influxdb.pem"。
[monitor]:這一部分控制InfluxDB自有的監控系統。 預設情況下,InfluxDB把這些資料寫入_internal 資料庫,如果這個庫不存在則自動建立。 _internal 庫預設的retention策略是7天,如果你想使用一個自己的retention策略,需要自己建立。
store-enabled:是否啟用該模組,預設值 :true。
store-database:預設資料庫:"_internal"。
store-interval:統計間隔,預設值:“10s”。
[http]:influxdb的http介面配置。
enabled:是否啟用該模組,預設值 :true。
flux-enabled:是否啟用流查詢端點,預設值 :false。
bind-address:繫結地址,預設值:":8086"。
auth-enabled:是否開啟認證,預設值:false。
realm:發出基本身份驗證質詢時傳送回的預設域,預設值: “InfluxDB”。
log-enabled:是否開啟http請求日誌,預設值:true。
suppress-write-log:在啟用日誌時是否應禁止HTTP寫入請求日誌,預設值:false。
access-log-path:啟用HTTP請求日誌記錄時,此選項指定應寫入日誌條目的路徑。
如果未指定,則預設為寫入stderr,它將HTTP日誌與內部InfluxDB日誌記錄混合。如果湧入無法訪問指定路徑,它將記錄錯誤並回退到將請求日誌寫入stderr。
access-log-status-filters:應記錄哪些請求的過濾器。 每個過濾器的格式為NNN,NNX或NXX,其中N是數字,X是任意數字的萬用字元。 要過濾所有5xx響應,請使用字串5xx。 如果使用多個過濾器,則只需要匹配一個過濾器。 預設情況下沒有過濾器會導致每個請求都被列印。
write-tracing:是否開啟寫操作日誌,如果置成true,每一次寫操作都會打日誌,預設值:false。
pprof-enabled:是否開啟pprof,此端點用於故障排除和監視,預設值:true。
debug-pprof-enabled:在啟動時立即啟用繫結到localhost:6060的pprof端點。這隻需要除錯啟動問題。預設值:false。
https-enabled:是否開啟https,預設值:false。
https-certificate:設定https證書路徑,預設值:"/etc/ssl/influxdb.pem"。
https-private-key:設定https私鑰,無預設值。
shared-secret:用於JWT簽名的共享金鑰,無預設值。
max-row-limit:配置查詢返回最大行數,預設值:10000。
max-connection-limit:配置最大連線數,超出此限制的新連線將被刪除,0無限制,預設值:0。
unix-socket-enabled:通過unix域套接字啟用http服務,預設值:false。
bind-socket:unix-socket路徑,預設值:"/var/run/influxdb.sock"。
max-body-size: 客戶端請求正文的最大大小(以位元組為單位), 將此值設定為0將禁用該限制。預設值:25000000。
max-concurrent-write-limit:併發處理的最大寫入次數,將此設定為0將禁用該限制。預設值:0。
max-enqueued-write-limit:排隊等待處理的最大寫入次數。將此設定為0將禁用該限制。預設值:0。
enqueued-write-timeout:寫入等待佇列中寫入的最長持續時間。將此設定為0或將max-concurrent-write-limit設定為0將禁用該限制。預設值:0。
[logging]:控制記錄器如何將日誌傳送到輸出。
format:確定用於日誌的日誌編碼器。 可用選項包括auto,logfmt和json。 如果輸出終端是TTY,則auto將使用更加使用者友好的輸出格式,但格式不易於機器讀取。 當輸出是非TTY時,auto將使用logfmt。預設值:“auto”。
level:確定將發出的日誌級別。 可用的級別包括錯誤,警告,資訊和除錯。 將發出等於或高於指定級別的日誌。預設值:“info”。
suppress-logo :禁止在程式啟動時列印的徽標輸出。 如果STDOUT不是TTY,則始終禁止使用徽標。預設值:false。
[subscriber]:控制Kapacitor接受資料的配置。
enabled:是否啟用該模組,預設值 :true。
http-timeout:http超時時間,預設值:“30s”。
insecure-skip-verify:是否允許不安全的證書,當測試自己簽發的證書時比較有用。預設值: false。
ca-certs:設定CA證書,無預設值。
write-concurrency:設定併發數目,預設值:40。
write-buffer-size:設定buffer大小,預設值:1000。
[[graphite]]:graphite相關配置。
enabled:是否啟用該模組,預設值 :false。
database:資料庫名稱,預設值:“graphite”。
retention-policy:儲存策略,無預設值。
bind-address:繫結地址,預設值:":2003"。
protocol:協議,預設值:“tcp”
consistency-level:一致性等級,預設值:“one”。
batch-size:批量size,預設值:5000。
batch-pending:配置在記憶體中等待的batch數,預設值:10。
batch-timeout:超時時間,預設值:“1s”。
udp-read-buffer:udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。 該配置的預設值:0。
separator:多個measurement間的連線符,預設值: “.”。
tags:將新增到所有指標的預設標記。 這些可以在模板級別或從度量標準中提取的標籤中覆蓋,[“region=us-east”, “zone=1c”]。
templates:每個模板行都需要模板模式。 它可以在模板之前有一個可選的過濾器,並用空格分隔。 它還可以在模板後面新增可選的額外標籤。 多個標籤應該用逗號分隔,並且沒有類似於行協議格式的空格。 只能有一個預設模板。templates = [".app env.service.resource.measurement", # Default template "server.",]
[[collectd]]:控制一個或多個收集資料的偵聽器。
enabled:是否啟用該模組,預設值 :false。
bind-address:繫結地址,預設值: “:25826”。
database:資料庫名稱,預設值:“collectd”。
retention-policy:儲存策略,無預設值。
collectd服務支援掃描多個型別db檔案的目錄,或指定單個db檔案。
typesdb:"/usr/local/share/collectd"
security-level = “none”
auth-file = “/etc/collectd/auth_file”
batch-size:這些下一行控制批處理的工作方式。 您應該已啟用此功能,否則您可能會丟失指標或效能不佳。 如果有很多人進入,批處理將緩衝記憶體中的點。如果這麼多點被緩衝,則重新整理,預設值:5000。
batch-pending:記憶體中可能掛起的批次數,預設值:10。
batch-timeout:即使我們沒有達到緩衝限制,也要經常沖洗至少這個,預設值:“10s”。
read-buffer:udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。預設值:0。
parse-multivalue-plugin:多值外掛可以通過兩種方式處理。 預設值:“split”。
“split”將解析並將多值外掛資料儲存到單獨的測量中
“join”將解析並將多值外掛儲存為單個多值測量。
“split”是與以前版本的Influxdb向後相容的預設行為。
[[opentsdb]]:opentsdb配置。
enabled:是否啟用該模組,預設值:false。
bind-address:繫結地址,預設值:":4242"。
database:預設資料庫:“opentsdb”。
retention-policy:儲存策略,無預設值。
consistency-level:一致性級別,預設值:“one”。
tls-enabled = false:是否開啟tls,預設值:false。
certificate:證書路徑,預設值:"/etc/ssl/influxdb.pem"。
log-point-errors:出錯時是否記錄日誌,預設值:true。
batch-size:這些下一行控制批處理的工作方式。 您應該已啟用此功能,否則您可能會丟失指標或效能不佳。 僅通過telnet協議接收的指標進行批處理。如果這麼多點被緩衝,請重新整理。預設值:1000。
batch-pending:記憶體中可能掛起的批次數,預設值:5。
batch-timeout:即使我們沒有達到緩衝限制,也要經常沖洗至少這個,預設值:“1s”。
[[udp]]:udp配置。
enabled:是否啟用該模組,預設值:false。
bind-address:繫結地址,預設值:":8089"。
database:資料庫名稱,預設值:“udp”。
retention-policy:儲存策略,無預設值。
precision:時間精度("" or “n”, “u”, “ms”, “s”, “m”, “h”),無預設值。
batch-size:接下來的行控制批處理的工作原理。 您應該已啟用此功能,否則您可能會丟失指標或效能不佳。 如果有很多進入,批處理將緩衝記憶體中的點。如果這麼多點被緩衝,則重新整理,預設值:5000。
batch-pending:如果這麼多點被緩衝,請重新整理,預設值:10。
batch-timeout:即使我們沒有達到緩衝限制,也會經常沖洗至少這個,預設值:“1s”。
read-buffer:udp讀取buffer的大小,0表示使用作業系統提供的值,如果超過作業系統的預設配置則會出錯。 預設值:0。
[continuous_queries]:CQs配置。
enabled:是否開啟CQs,預設值:true。
log-enabled是否開啟日誌,預設值:true。
uery-stats-enabled:控制是否將查詢記錄到自我監視資料儲存。預設值:false。
run-interval:檢查連續查詢是否需要執行的時間間隔,預設值:“1s”。
[tls]:InfluxDB中TLS的全域性配置設定。
ciphers:確定可用的密碼套件集。 有關可用密碼的列表,請參閱https://golang.org/pkg/crypto/tls/#pkg-constants,這取決於Go的版本(使用查詢SHOW DIAGNOSTICS檢視用於構建InfluxDB的Go版本)。 如果未指定,則使用Go的crypto / tls包中的預設設定,預設值:ciphers =[“TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305”,“TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”,]。
min-version:將協商的tls協議的最低版本。 如果未指定,則使用Go的crypto / tls包中的預設設定,預設值:“tls1.2”。
max-version:將協商的tls協議的最大版本。 如果未指定,則使用Go的crypto / tls包中的預設設定,預設值:“tls1.2”。