InfluxDBは時系列DBで「時間」を主キーにデータを格納していく(ナノ秒まで扱える)
非常に使いやすくデータ量も軽量化されるためおすすめ。
仮想通貨界隈のbotterのツイートでも時々見かけるため知らなければぜひとも覚えてみてほしい。
私の記事を参考
時系列DBに約定や板情報を記録したい (Node.js x InfluxDB) | Blog
今回はこれをRaspberry Pi OSにインストールする。
古い記事だが参考にした記事は公式BLOG(英語)
Running the TICK Stack on a Raspberry Pi | Blog | InfluxData
古いバージョンの記事のため現在のバージョンに対応した手順と確認方法を記す。
$ cat /etc/os-release
※Blogではos-releases
になっているがos-release
が正しい。
実行結果
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
この中からVERSIONと書かれた箇所が必要。
ここでは"10 (buster)"
Debian系のLinuxはapt
というコマンドでパッケージを管理する。
実は私もよくわかっていない。
というわけでInfluxDBのパッケージをインストールするコマンドは次
$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
実行結果
OK
OK。
コメントが軽い。きっとOKなのだろう。
次のコマンド
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
まず公式BLOGのコマンドと違うのはbuster
の箇所。
ここに自分のOSのバージョンを入れる。
このコマンドはecho
をtee
コマンドにパイプしている。
つまり何をやっているかと言うとinfluxdb.list
というファイルに
deb https://repos.influxdata.com/debian buster stable
という文字列を書き込んでいるだけ。
本当にファイルができているのか確認。
pi@pi1:~ $ cat /etc/apt/sources.list.d/influxdb.list
deb https://repos.influxdata.com/debian buster stable
OK.
要するにNode.jsで言うところの
npm install {パッケージ名}
{パッケージ名}
の部分のリストを作ったということかな。
これによりsudu apt-get install influxdb
のような感じでinfluxDataのパッケージ名を直接指定するだけで簡単にインストール出来るようになる。
ここからが実際のインストール作業
$ sudo apt-get update
パッケージのリストを更新するコマンド。
あくまでリストを更新するだけで実際にインストールするわけではない。
実行結果
取得:1 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
取得:2 https://repos.influxdata.com/debian buster InRelease [4,731 B]
取得:3 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
取得:4 https://repos.influxdata.com/debian buster/stable armhf Packages [927 B]
取得:5 http://archive.raspberrypi.org/debian buster/main armhf Packages [331 kB]
取得:6 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
13.4 MB を 11秒 で取得しました (1,191 kB/s)
パッケージリストを読み込んでいます... 完了
更新された。
さて、緊張のインストール
今回インストールしたいのは次
まとめてインストールするコマンドは次
sudo apt-get install telegraf influxdb chronograf
問題なく終了した。
$ reboot
一度再起動。その後に次を実行
$ systemctl status influxdb
influxDBが起動しているかどうかがわかるコマンド。
実行結果
● influxdb.service - InfluxDB is an open-source, distributed, time series databa
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset:
Active: active (running) since Mon 2020-08-24 22:32:36 JST; 51s ago
Docs: https://docs.influxdata.com/influxdb/
Main PID: 391 (influxd)
Tasks: 14 (limit: 4915)
CGroup: /system.slice/influxdb.service
└─391 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
以下略
Active: active (running)
となっているので起動している模様。
他2種とも問題なかった。
InfluxDBにブラウザから接続してみる。
重要:InfluxDB本体のweb admin interface(WEBのUI)はv1.3から廃止されているためChronografを経由する必要がある。
古い記事ではよくWebのUI側のURLにナビゲートされており初心者がひっかかるため特に注意してほしい。
ラズパイ内部のブラウザから次のURLを使ってChronografへ接続する。
http://localhost:8888/
※InfluxDB公式がChronografをWebのUIとして使うように推奨している。
画面が表示されればひとまずChronografは成功。
初回起動自体は私のWindows版でインストールしたときと全く同じなので省略
初めConnectionsの画面に飛ばされるので何度もクリックしてしまうが、これはもう接続できているので
画面左の目玉マークをクリックしてホストを選択すれば実際に可視化されたデータを見ることが出来る。
またほぼデフォルトでDashboards
を設定すればこんな感じのカッコイイ画面が表示される。
ふと気づいたのだがどうやらCPU温度は取れないらしい?
今回はインストールと確認がメインなのでここまで。
InfluxDBの設定を何もしていないので次回こちらができれば記事にしたい。
InfluxDBはLinuxに直接インストールするだけでなくDocker Imageを公式に配布している。
Dockerに関しては詳しく説明しないが(私もほとんど初心者)長い目で見ても現在のトレンドで考えても一度Docker Imageで動かしてみたいなと考えている。
こちらも使うことがあれば記事にしていきたい。