raspberryPiにinfluxdbとgrafanaをインストールする
ラズベリーパイにinfluxdbをインストールして、データをgrafanaでvisualization化する方法です。
Install influxdb
1. install influxdb
$ wget http://ftp.us.debian.org/debian/pool/main/i/influxdb/influxdb_1.0.2+dfsg1-1_armhf.deb $ sudo dpkg -i influxdb_1.0.2+dfsg1-1_armhf.deb Selecting previously unselected package influxdb. (Reading database ... 133808 files and directories currently installed.) Preparing to unpack influxdb_1.0.2+dfsg1-1_armhf.deb ... Unpacking influxdb (1.0.2+dfsg1-1) ... Setting up influxdb (1.0.2+dfsg1-1) ... Adding system user 'influxdb' (UID 113) ... Adding new user 'influxdb' (UID 113) with group 'nogroup' ... Not creating home directory '/var/lib/influxdb'. Adding group 'influxdb' (GID 120) ... Done. Adding user 'influxdb' to group 'influxdb' ... Adding user influxdb to group influxdb Done. Processing triggers for systemd (215-17+deb8u4) ... Processing triggers for man-db (2.7.0.2-5) ... $ ps aux | grep influx influxdb 1442 0.5 3.1 897392 27904 ? Ssl 10:33 1:18 /usr/bin/influxd -config /etc/influxdb/influxdb.conf pi 6804 0.0 0.2 4276 1908 pts/1 S+ 14:17 0:00 grep influx $ ss -lntp | grep 808 LISTEN 0 128 :::8083 :::* LISTEN 0 128 :::8086 :::* LISTEN 0 128 :::8088 :::*
(※v1.2のinstall方法も書きました)
portaltan.hatenablog.com
2. confirm GUI
GUIのportは8083なので、「http://{raspberryPiのIP}:8083」にアクセスして、以下のようなGUI画面が出てくることを確認
「SHOW DATABASES」と打ち込み、きちんとクエリも投げられることを確認
influxdb APIの使い方
DATABASEの作成
$ curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE ${作成したいdatabase名}"
- endpointは/query
データ投入
method
$ curl -i -XPOST "http://localhost:8086/write?db=${データ投入したいdatabase名}" --data-binary '${measurement名} ${Field名(column名)}=${値}'
- endpointは/write
確認
$ curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary 'test_measurement value=100' $ curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary 'test_measurement value=200' $ curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary 'test_measurement value2=200' $ curl -G 'http://localhost:8086/query?db=mydb&pretty=true' --data-urlencode 'q=SELECT * FROM test_measurement' { "results": [ { "series": [ { "name": "test_measurement", "columns": [ "time", "value", "value2" ], "values": [ [ "2017-02-03T05:45:22.049368887Z", 100, null ], [ "2017-02-03T05:45:31.98145523Z", 200, null ], [ "2017-02-03T05:49:57.29042142Z", null, 200 ] ] } ] } ] }
ちなみに自分の中ではinfluxdbの各項目はこんなイメージです
influxdb | mysql |
---|---|
database | database |
measurement | table |
field | column |
install grafana
1. install grafana
### install grafana-data $ wget http://ftp.us.debian.org/debian/pool/main/g/grafana/grafana-data_2.6.0+dfsg-3_all.deb $ sudo dpkg -i grafana-data_2.6.0+dfsg-3_all.deb $ sudo apt-get install -f ### install grafana $ wget http://ftp.us.debian.org/debian/pool/main/g/grafana/grafana_2.6.0+dfsg-3_armhf.deb $ sudo dpkg -i grafana_2.6.0+dfsg-3_armhf.deb $ sudo apt-get install -f $ ps aux | grep grafana grafana 5525 0.0 1.5 884972 13804 ? Ssl 10:54 0:07 /usr/sbin/grafana --config=/etc/grafana/grafana.ini cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana pi 7006 0.0 0.2 4276 1908 pts/1 S+ 15:43 0:00 grep grafana $ ss -lntp | grep 3000 LISTEN 0 128 :::3000 :::*
2. GUI確認
portは3000なので、「http://{raspberryPiのIP}:3000」にアクセスして、以下のようなGUI画面が出てくることを確認
- 初期アカウントはadmin/admin
ログインすると以下のような画面が表示される
3. Dashboard作成
Data Sourceの設定
- Name: 好きな名前
- Type: influxDB
- Url: influxDBのAPI
- Database: アクセスするdababase名
- user/pasword: root/root