---
# System prepended metadata

title: 如何在QNAP NAS上安裝influxDB及Grafana(X86)
tags: [Tutorial]

---

# 如何在QNAP NAS上安裝influxDB及Grafana(X86)

本教學教您如何在QIoT Suite Lite資料透過Grafana呈現
(本教學暫時僅支援x86系列NAS)

## influxDB container

### 安裝 influxDB container

1. 開啟Container Station後按下Create
2. 輸入`influxdb`後按下搜尋
3. 於influxdb列表中按下**Install**後點擊**Next**及**OK**
    
    ![](https://i.imgur.com/lpCGNBd.png)

4. 切換至**Network**設定Port **2003** 及 **8086** 轉發:

    ![](https://i.imgur.com/DFfvbf2.png)
    
5. 切換至**Shared Folders**設定Database資料輸出至Container外部保存，參照下圖建立 `/var/lib/influxdb` 路徑的volume

    ![](https://i.imgur.com/Qq3pD2n.png)
    
6. 設定完畢後點擊**Create**



### 測試安裝完成的influxDB

1. 安裝完成後，點選左方 **Containers** 查看狀態，點擊建立好的 **influxdb** container
    
    ![](https://i.imgur.com/pS4uL4U.png)

2. 點擊**Terminal**
    
    ![](https://i.imgur.com/KMLPHOm.png)

3. 輸入`bash`後點擊**OK**
    
    ![](https://i.imgur.com/6LgBXfU.png)

3. 輸入`influx`並按下enter

4. 輸入`show databases`並按下enter，出現下方畫面即安裝成功
    
    ![](https://i.imgur.com/UyF96WS.png)


### 建立database
建立一個名為demo的database，輸入 : 

```
create database demo
```
    
## QIoT Suite Lite

### 安裝 Node-red influxDB Plugin

詳細方式安裝方式可參考[如何在QIoT Suite Lite 中的Rule(Node-red)中安裝新的Plugin(以Webduino及CHT IoT為範例)](https://hackmd.io/dnyFiIedTbqUfrJqrYZRmg)
之**手動安裝Node-red npm 架上Plugin**的部分 : 

1. SSH進入NAS
2. 進入`qiot-node-red` Container : 
    
    ```bash
    system-docker exec -ti qiot-node-red bash
    ```
    
3. 移動資料夾到`node_modules`目錄 : 
    
    ```bash
    cd /usr/local/lib/node_modules/node-red/node_modules/
    ```
    
3. 安裝Node-red Plugin : 
    
    ```bash
    npm install node-red-contrib-influxdb
    ```
    
6. 重新啟動所有的Node-red執行程序 : 
    
    ```bash
    supervisorctl restart all
    ```
    
### 設定QIoT Suite Lite Rule
1. 請先參考 QIoT Suite Lite 操作手冊，設定好您的 Thing、Resource、IoT Application 等
2. 進入您的 IoT Application，切換頁面至Rule
3. 將 **influxdb** node拉入編輯區
    
    ![](https://i.imgur.com/QoS0gE9.png)

4. 雙擊 **influxdb** node進入設定，點擊鉛筆 :pencil2: 符號設定伺服器
    
    ![](https://i.imgur.com/zNIbTBU.png)

5. 參照您influxDB設定填入相應的設定(注意:若 influxDB 與 QIoT Suite Lite 處於同台NAS，IP請填入`10.0.5.1`)
    
    ![](https://i.imgur.com/U1AHgim.png)


6. 設定 **Measurement**，Measurement 類似 SQL table，請自訂名稱
    
    ![](https://i.imgur.com/ldaaEDU.png)

7. 拖入 **Function** Node 並與 **influxdb** node 連接，雙擊 **Function** Node，參考下方範例程式碼填入:
    
    ```javascript
    msg.payload = {
        sensorId:msg.payload.sensorId,
        value:msg.payload.value
    };
    return msg;
    ```
    
    ![](https://i.imgur.com/ipLURRY.png)
    
8. 最後拖入 **QBroker** Node，雙擊設定 Thing-Resource 並與 **Function** Node 後按下**Save** 保存
    
    ![](https://i.imgur.com/OVhEHWZ.png)

## Grafana container

### 安裝Grafana container

1. 開啟Container Station後按下Create
2. 輸入`grafana`後按下搜尋
3. 於grafana列表中按下 **Install** 後點擊 **Next** 及 **OK**
    
    ![](https://i.imgur.com/FlWQHrv.png)

4. 切換至**Network**設定Port 3000轉發:

    ![](https://i.imgur.com/MIeEIaC.png)

5. 其他設定可參考Grafana官方文件依據需求進行修改:
http://docs.grafana.org/installation/docker/
    
6. 設定完畢後點擊**Create**


### 設定Grafana
Granfana 的預設的url為 http://[nasIP]:3000
預設登入的帳號密碼為 admin/admin

![](https://i.imgur.com/SYYc2i8.png)

#### 建立datasource

1. 如同標示1，輸入你的influxDB所在位置，例如 http://192.168.1.10:8086
如果你是使用Container Station建立influxDB，那這邊的url應該為 http://10.0.3.1:8086

2. 輸入influxDB database名稱，如同標示2(以本範例來說database名稱為demo)

    ![](https://i.imgur.com/pbC2yA5.png)

#### Grafana Dashboard簡易教學
1. 點擊 + 的按鈕，如同標示1

2. 點擊Dashboard，如同標示2處

    ![](https://i.imgur.com/vGcwLtE.png)

3. 點擊Table(以Table作為範例)

    ![](https://i.imgur.com/D6ruBaA.png)

4. 點擊Table後會出現如圖的畫面，於Panel Title 處按下會出現選單
5. 選擇Edit，如標示2
    
    ![](https://i.imgur.com/tM9tU63.png)

6. 選擇data source，本範例的data source為demo
7. 在 **FROM** 中選擇measurement
8. 根據需要設定其他選項
9. 步驟1、2、3完成後即可於畫面中間部份看到結果

    ![](https://i.imgur.com/jPxHI3a.png)

備註1：若想直接使用InfluxQL語法，可於標示2處右方三個按鈕中的第一個中進行滑鼠點擊，選擇 **Toogle Edit Mode**

![](https://i.imgur.com/jTskLsl.png)

#### 安裝Grafana plugin 方式
以安裝piechart的plugin做為範例，此Plugin安裝參考 : https://grafana.com/plugins/grafana-piechart-panel/installation

1. 進入Container Station，點選左方 **Containers** ， 點擊您建立的 **grafana** container
2. 點擊 **Terminal**
3. 輸入`grafana-cli plugins install grafana-piechart-panel`(參考您要安裝Plugin指令)後點擊 **OK**

安裝完畢後，重啟Grafana container即可生效

###### tags: `Tutorial`