很多監視系統都採用了 TSDB(Time Series Database)資料庫來儲存海量資料,InfluxDB 也是熱門的 TSDB 之一,紀錄一下安裝方式...
簡介
"InfluxDB 目的在處理時間序列數據,SQL數據庫可以處理時間序列,但並非嚴格為此目的而創建的。簡而言之,InfluxDB可以存儲大量時間序列數據,并快速對這些數據執行實時分析。"
出自:
https://docs.influxdata.com/influxdb/v1.7/concepts/crosswalk/#a-note-on-why-influxdb-isn-t-crud
安裝環境
- Windows 10
- InfluDB 1.7.10
安裝
你可以選擇自架或是雲端服務
https://www.influxdata.com/get-influxdb/
下載頁面
https://portal.influxdata.com/downloads/
這裡我需要下載
InfluxDB:InfluxDB 相關應用程式
Chronograf:InfluxDB 的視覺化管理工具
下載連結是一個壓縮檔,解壓縮後就可以直接使用
https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10_windows_amd64.zip
檔案結構如下
InfluxDB 檔案結構
influxdb.conf:組態設定。
influxd.exe:點兩下就可以輕鬆架設一個 Influxdb Server。
influx.exe:Client,用來管理 Influxdb Server。
influxdb.conf
[meta]及[data]是資料庫會用到的儲存檔設定,路徑記要用 \\ 雙反斜線。[http]則是連線設定,可以修改預設的server port。
[meta]
# Where the metadataraft database is store dir = "C:\\influxdata\\meta"
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:\\influxdata\\data"
# The directory where the TSM storage engine stores WAL files.
wal-dir = "C:\\influxdata\\wal"
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
啟動 InfluxDB Server
使用命令提示字元啟動 infludb.exe
用命令提示字元切換到 influxdb 目錄
啟動 InfluxDB Server 並套用組態設定:influxd.exe --config influxdb.conf
使用 NSSM 把 infludb 變成 Windows Service
官方沒有提供變成 Windows Service 的方式,我用 NSSM 把 influxd.exe 變成 Windows Service 啟動
下載位置:
https://nssm.cc/download
解壓縮,用管理理員權限執行命令提示字元,切換到 nssm 目錄
輸入 nssm install
,跳出操作介面,依照畫面的提示填寫
Path:D:\Lab\Monitor Server\influxdb-1.7.10_windows_amd64\influxdb-1.7.10-1\influxd.exe
Startup Directory:D:\Lab\Monitor Server\influxdb-1.7.10_windows_amd64\influxdb-1.7.10-1
Arguments:-config "D:\Lab\Monitor Server\influxdb-1.7.10_windows_amd64\influxdb-1.7.10-1\influxdb.conf"
Service Name:InfluxDB1.7.10
其他有關 Windows Service 的設定在別的頁籤,有需要的自己研究一下,最後按下Install Service
服務安裝成功後,啟動服務:sc start InfluxDB1.7.10
查詢服務狀態:sc query InfluxDB1.7.10
連接 InfluxDB Server
influx.exe
influx.exe 是官方提供給我們管理 Server erver 的應用程式,首先用命令提示字元切換到 influxdb 目錄
執行 influx.exe
這樣會使用預設的方式連接 Server,http://localhost:8086
也可以根據需求連結到不同的 Server,要使用下面的範例記得把引號拿掉
指定位置:
influx.exe -host 'localhost' -port '8086
指定位置和資料庫:
influx.exe -host 'localhost' -port '8086' -database 'demo'
加密連線SSL(使用非認證授權):
influx.exe -unsafeSsl -ssl
指定位置和授權:
influx.exe -host 'localhost' -port '8086' -ssl -unsafeSsl -username 'user' -password 'password'
更改顯示時間格式(預設為timestamp):
influx.exe -precision rfc3339
連結 Server 成功就會出現 > 符號,等待輸入命令。下面就列出我常用的基本命令
查詢有哪些資料庫
> show databases
https://docs.influxdata.com/influxdb/v1.7/query_language/schema_exploration#show-databases
使用資料庫:
> use telegraf
查詢量測內容:
> show measurements
https://docs.influxdata.com/influxdb/v1.7/query_language/schema_exploration#show-measurements
新增資料庫:
> CREATE DATABASE 'DB'
https://docs.influxdata.com/influxdb/v1.7/query_language/database_management/#create-database
刪除資料庫
> DROP DATABASE 'DB'
https://docs.influxdata.com/influxdb/v1.7/query_language/database_management/#delete-a-database-with-drop-database
chronograf
chronograf 是官方提供的連接 Server 的視覺化管理工具,
解壓縮後,檔案結構如下:
直接執行 chronograf.exe
,管理工具就建立起來了
接著用瀏覽器訪問 http://localhost:8888
定義連線字串
選擇 Dashboard
Kapacitor
Kapacitor 是 Influxdb 的預警服務,我先跳過
完成之後,可以看到連線監視以及其他操作
InfluxDB Admin 提供的管理介面不多,還是要靠指令來做
參考資料
https://docs.influxdata.com/influxdb/v1.7/
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET