InfluxDB 是一個由 InfluxData 開發的開源時序型資料庫。它由 Go 寫成,著力於高性能地查詢與存儲時序型數據。InfluxDB 被廣泛應用於存儲系統的監控數據,IoT 行業的實時數據等場景。Errplane 公司在2013年下半年開始以開源的形式開始了InfluxDB的開發。其目的是為了提供一個高性能的監控以及告警的解決方案。[維基百科]
基於時間序列,InfluxDB成為監視指標和事件的最佳數據庫之一。您可以輕鬆地使用 InfluxDB 來存儲諸如房間溫度或系統CPU使用率之類的信息。InfluxDB 可搭配流行的可視化工具如Grafana、Chronograf 等一起使用,之後的文章,再來瞭解一下如何使用 Grafana 呈現數據資料 。
基於時間序列,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
另一個方法是執行 influx 時,帶入帳號及密碼參數,指令如下:
這時可以顯示 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 -username admin -password <password>進入 InfluxDB 後,執行 show databases:
[參考資料]
- pimylifeup:Installing InfluxDB to the Raspberry Pi
- techietown:How to enable Influxdb web UI?
張貼留言