2020-08-28

Raspberry Pi 4でInfluxDBを稼働させる

64bitのRasberry Pi OSを入れたラズパイで時系列DBであるInfluxDBを稼働させた手順を記す

Article Image

InfluxDBとは?

InfluxDBは時系列DBで「時間」を主キーにデータを格納していく(ナノ秒まで扱える)

非常に使いやすくデータ量も軽量化されるためおすすめ。

仮想通貨界隈のbotterのツイートでも時々見かけるため知らなければぜひとも覚えてみてほしい。

私の記事を参考

時系列DBに約定や板情報を記録したい (Node.js x InfluxDB) | Blog

Raspberry Piにインストール

今回はこれをRaspberry Pi OSにインストールする。

古い記事だが参考にした記事は公式BLOG(英語)

Running the TICK Stack on a Raspberry Pi | Blog | InfluxData

古いバージョンの記事のため現在のバージョンに対応した手順と確認方法を記す。

Raspberry Pi OSのバージョンを確認

$ 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)"

aptコマンドでパッケージ管理

Debian系のLinuxはaptというコマンドでパッケージを管理する。

実は私もよくわかっていない。

というわけでInfluxDBのパッケージをインストールするコマンドは次

apt-keyコマンド

$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

実行結果

OK

OK。

コメントが軽い。きっとOKなのだろう。

teeコマンド

次のコマンド

echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

まず公式BLOGのコマンドと違うのはbusterの箇所。

ここに自分のOSのバージョンを入れる。

どういうコマンド?

このコマンドはechoteeコマンドにパイプしている。

つまり何をやっているかと言うと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のパッケージ名を直接指定するだけで簡単にインストール出来るようになる。

apt-getを使ってインストール

ここからが実際のインストール作業

apt-get update

$ 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)                                    
パッケージリストを読み込んでいます... 完了

更新された。

apt-get install

さて、緊張のインストール

今回インストールしたいのは次

  • influxDB:時系列DB本体
  • Chronograf:InfluxDBに入っているデータを可視化するソフト
  • Telegraf:CPUやHDDの使用状況をInfluxDBに簡単に記録するツール

まとめてインストールするコマンドは次

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は成功。

image-20200824223945973

初回起動自体は私のWindows版でインストールしたときと全く同じなので省略

やたら分かりやすい初めてのChronograf

初めConnectionsの画面に飛ばされるので何度もクリックしてしまうが、これはもう接続できているので

画面左の目玉マークをクリックしてホストを選択すれば実際に可視化されたデータを見ることが出来る。

image-20200824224346972

image-20200824225000051

image-20200824225019411

またほぼデフォルトでDashboardsを設定すればこんな感じのカッコイイ画面が表示される。

image-20200824224641411

ふと気づいたのだがどうやらCPU温度は取れないらしい?

本日はここまで

今回はインストールと確認がメインなのでここまで。

InfluxDBの設定を何もしていないので次回こちらができれば記事にしたい。

Docker Image

InfluxDBはLinuxに直接インストールするだけでなくDocker Imageを公式に配布している。

Dockerに関しては詳しく説明しないが(私もほとんど初心者)長い目で見ても現在のトレンドで考えても一度Docker Imageで動かしてみたいなと考えている。

こちらも使うことがあれば記事にしていきたい。



この記事のタグ

この記事をシェア


謎の技術研究部 (謎技研)