[InfluxDB] 如何安裝及配置 InfluxDB

很多監視系統都採用了 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

Image result for microsoft+mvp+logo