“InfluxDB 目的在處理時間序列數據資料,SQL數據庫可以處理時間序列,但並不是專為為此目的而創建。也就是說,InfluxDB可以存儲大量時間序列數據,並快速對這些數據執行即時分析。 InfluxDB 可以在Windows 或是 Linux 上執行。在商業版上,它也支援多主機分散式架構,當然,我們介紹的是開源版本所以沒有這功能。以下就以 Windows 版本與 Linux 版本分別介紹安裝方法。而在,操作方法上二者是一樣的。 預設InfluxDB會使用到兩個網路Port
- TCP Port 8086:Client-Server透過InfluxDB HTTP API進行溝通
- TCP Port 8088:透過RPC服務執行備份及還原的操作
安裝及設定步驟
- 下載及安裝,
- 設定, 修改 influxdb.conf
- 安全性管理, 設定使用者及權限
- 建立帳號, 管理者/一般使用者和權限,
- 產生認證檔, 使用 openssl
- 修改設定檔influxdb.conf 後, 重啟服務
- 連線測試, 下述.
Windows
- 下戴 windows Binaries(64 bit) , influxdb-1.7.10_windows_amd64.zip
- 將下載的檔案解壓到 InfluxDB 的目錄中即可.
Linux, Red Hat / CentOS
- 安裝InfluxDB 1.7 , yum install influxdb -y
- 啟動influxdb服務 , systemctl start influxdb
- 查詢influxdb服務狀態 , systemctl status influxdb
檔案說明
- influxdb.conf >> 組態設定
- influxd.exe >> 點兩下就可以輕鬆架設一個 Influxdb Server。
- influx.exe >> CLI – Command Line Interface Client 程式,用來管理 Influxdb Server。
- influx_stress.exe >> 產生壓力測試資料的程式
- influx_inspect >> 資料庫進階檢查程式
- 啟動InfluxDB server > influxd.exe –config influxdb.conf
- 使用NSSM 將 influxDB 變成Windows Service
CLI >> influx.exe 是官方提供給我們管理 Server 的應用程式,首先開啟CMD 後換到 influxdb 目錄 常用的啟動參數及範例如下:
- influx.exe -host ‘localhost’ -port ‘8086’ // 指定位置
- influx.exe -host ‘localhost’ -port ‘8086’ -database ‘car_track’ //指定位置及資料庫
- influx -host ‘localhost’ -port ‘8086’ -ssl -unsafeSsl -username ‘usr’ -password ‘1234’
- influx.exe -precision rfc3339 //更改顯示時間的格式(預設為 timestamp)
show databases / measurements / series / shards / users
create database / user / retention
use telegraf
GUI >> Chronograf.exe 是GUI 的管理工具, 但沒有在原來的下載檔案中, 必需另外[下載]
告警通知工具 >> Kapacitor
佈署InfluxDB 的要點及注意事項
InfluxDB 是一個時序資料庫 TSDB 。特別是用來儲存即時, 比如說伺服器的監控值、物聯網傳感器測量值、車聯網的坐標油耗值等 的大量實時資料,所以必需支援此類型的時間序的資料型態。這類的資料通常具備有一些不同於其它資料的特性,如寫入後很少再修改、一般而言以時間單位來寫入、在保存期限後即自動清除資料等。因應以上的特性,InfluxDB 提供了一個類似 MySQL 語法的命令介面和接近RDBMS管理方法的資料庫管理方式,讓使用者很容易的管理這套時序資料庫。
為了因應傳感器或是監測代理瞬間寫入的高量資料,所以建議這個時序資料庫應該放在SSD的磁碟上比較好(IOPS/SSD> 500, IOPS/SAS < 200, IOPS/SATA < 100)。以下的一般的建議值:
- Simple >> vCore(2~4), RAM(2~4GB), SATA
- Moderate >> vCore(4~6), RAM(8~32GB), SSD
- Comples >> vCore(8 or above),RAM(32 or above), SSD Array
當資料需要長時間保存時,除了資料庫的備份及回存之外,可以考慮使用 降低取樣頻率 Downsampling的方式來減少資料所佔用的空間及提高效能。