InfluxDB 安裝和設定

“InfluxDB 目的在處理時間序列數據資料,SQL數據庫可以處理時間序列,但並不是專為為此目的而創建。也就是說,InfluxDB可以存儲大量時間序列數據,並快速對這些數據執行即時分析。 InfluxDB 可以在Windows 或是 Linux 上執行。在商業版上,它也支援多主機分散式架構,當然,我們介紹的是開源版本所以沒有這功能。以下就以 Windows 版本與 Linux 版本分別介紹安裝方法。而在,操作方法上二者是一樣的。 預設InfluxDB會使用到兩個網路Port

  • TCP Port 8086:Client-Server透過InfluxDB HTTP API進行溝通
  • TCP Port 8088:透過RPC服務執行備份及還原的操作

安裝及設定步驟

  1. 下載及安裝,
  2. 設定, 修改 influxdb.conf
  3. 安全性管理, 設定使用者及權限
    1. 建立帳號, 管理者/一般使用者和權限,
    2. 產生認證檔, 使用 openssl
    3. 修改設定檔influxdb.conf 後, 重啟服務
  4. 連線測試, 下述.

Windows

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的方式來減少資料所佔用的空間及提高效能。