Raspberry Pi 筆記(59):安裝時序型資料庫 Influxdb

InfluxDB 是一個由 InfluxData 開發的開源時序型資料庫。它由 Go 寫成,著力於高性能地查詢與存儲時序型數據。InfluxDB 被廣泛應用於存儲系統的監控數據,IoT 行業的實時數據等場景。Errplane 公司在2013年下半年開始以開源的形式開始了InfluxDB的開發。其目的是為了提供一個高性能的監控以及告警的解決方案。[維基百科]

基於時間序列,InfluxDB成為監視指標和事件的最佳數據庫之一。您可以輕鬆地使用 InfluxDB 來存儲諸如房間溫度或系統CPU使用率之類的信息。InfluxDB 可搭配流行的可視化工具如Grafana、Chronograf 等一起使用,之後的文章,再來瞭解一下如何使用 Grafana 呈現數據資料 。

[安裝InfluxDB]

首先使用 wget下載密鑰,並使用Pip 「| 」將其直接傳遞給 apt-key 程序。
$ wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
如果樹莓派的系統是 Raspbian Stretch,執行下列指令:
$ echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
如果樹莓派的系統是 Raspbian Buster,執行下列指令:
$ echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
執行系統更新:
$ sudo apt update
安裝 influxdb資料庫:
$ sudo apt install influxdb
安裝完成後,可以使用 systemctl 指令來啟用或停止服務, 執行以下兩個命令讓 InfluxDB 在Raspberry Pi 開機時啟動。
$ sudo systemctl unmask influxdb
$ sudo systemctl enable influxdb
設置完成後,可以繼續在樹莓派啟動 InfluxDB。啟動 InfluxDB 服務的指令如下:
$ sudo systemctl start influxdb
進入 influx 資料庫命令列:
$ influx
Connected to http://localhost:8086 version 1.7.10
InfluxDB shell version: 1.7.10
>
操作資料庫的指令可輸入在大於符號之後,按 Enter 執行。如要離開 influxDB 可以執行 exit,回到作業系統。


[InfluxDB資料庫指令]

◾建立資料庫:
CREATE DATABASE <database_name>
範例:CREATE DATABASE  "temperatures"

◾刪除資料庫:
DROP DATABASE <database_name>
範例:DROP DATABASE "temperatures"

◾顯示所有資料庫名稱:
SHOW DATABASES
結果:

◾開啟資料庫
USE <database_name>
範例:USE temperatures

◾顯示使用者
SHOW USERS

◾退出 influxDB
EXIT

[InfluxDB身份驗證]

執行 InfluxDB後,開啟資料庫預設是不需要帳號密碼的,但這缺少安全性,沒有身份驗證,任何人都可以與資料庫進行通訊。為了安全性,我們需要建立一個使用者當作管理員。首先執行 InfluxDB 命令列(CLI)工具。
$ influx
使用此介面創建一個對資料庫具有完全控制權限的用戶admin,密碼就設定可自行更換成自己的密碼,並授予其所有特權,指令如下:
CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES
帳號建立後,可以輸入exit 退出 InfluxDB。接著修改 InfluxDB 設定檔置以啟用身份驗證,編輯設定檔的指令及檔案位置如下:
$ sudo nano /etc/influxdb/influxdb.conf
在檔案中找到 [HTTP] 部分,將前面#刪除,並將 false 改成 true,修改成以下選項:
[HTTP]
auth-enabled = true
pprof-enabled = true
pprof-auth-enabled = true
ping-auth-enabled = true
修改完成後,按  CTRL   +  X    存檔,然後按  Y   ,接著按  ENTER   。存檔後,使用以下指令重新起動 InfluxDB 的服務,將剛剛改好的設定值重新載入:
$ sudo systemctl restart influxdb
現在,我們已經打開了InfluxDB的身份驗證功能,在使用InfluxDB CLI工具之前,我們需要輸入用戶名和密碼。有兩個方法可以執行身份驗證,一是進入 influx 命令列後,輸入 auth ,接著依照提示輸入帳號及密碼:
另一個方法是執行 influx 時,帶入帳號及密碼參數,指令如下:
$ influx -username admin -password <password>
進入 InfluxDB 後,執行 show databases:
這時可以顯示 InfluxDB 內的資料庫名稱,這樣就成功啟用身份驗證模式了。

[參考資料]


Post a Comment

較新的 較舊