オープンソースの時系列データベースのInfluxDBをUbuntuにインストールします。InfluxDBは運用監視、アプリケーションメトリック、リアルタイム分析などの分野で時系列データを保存および取得することができます。Goプログラミング言語で記述されています。
インストール手順は記載されているので、これを参考にします。
現時点でバージョンは2.1が最新です。コマンド入力によるインストール方法が記載されていますが、Ubuntu desktopなのでブラウザにurlの部分だけコピペするとファイルをダウンロードすることができます。xxxの部分をamd64にします。ダウンロードしたファイルはダブルクリックすればインストールすることができます。
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.1.1-xxx.deb
sudo dpkg -i influxdb2-2.1.1-xxx.deb
インストール後はInfluxDBを起動して状態を確認します。
sudo service influxdb start
sudo service influxdb status
ここまででインストールは完了しました。ブラウザで確認します。インストールしたPC自体でログインもできますがLAN内にあるPCからアクセスしてみようと思います。初期値はTCPのポート番号8086です。
アクセスに成功するとユーザーとパスワードを決めることができます。組織とバケット名も入力しておきました。
InfluxDBは初めてなのでクイックスタートを選択しました。
せっかくなのでなにか試してみます。初回からデータを作るのは困難なのでテンプレートを使用してどんなことができるかみてみます。ブラウザの左側にある一番下の設定をクリックしてテンプレートを選択します。別サイトのコミュニティに進んでテンプレートを選びます。
ここではNetwork Interface Monitorを試すことにしました。
クリックして内容を見ていると、telegrafが必要だということなのでInfluxDBをインストールしたPCにこれをインストールします。
ここでもurlの部分をブラウザにコピペするとファイルをダウンロードできるので、その後、ダブルクリックしてインストールします。
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.21.4-1_amd64.deb
sudo dpkg -i telegraf_1.21.4-1_amd64.deb
なお、下記のコマンドで状態を確認できます。
systemctl status telegraf.service
再び別サイトのInfluxDBのコミュニティテンプレートのサイトを表示します。目的のテンプレートにあるURLをメモしておきます。このURLはクイックインストールにあるInfluxDB UIのところにあります。
今度は構築したInfluxDBのページに戻ります。設定からテンプレートと進み、ここにURLを貼り付けて、「Lookup Template」をクリックします。インストーラーページが表示されるので、テンプレートをインストールします。成功するとインストール済みのテンプレートに表示されます。
テンプレートのインストールが終わっても設定する必要があります。メニューのデータをクリックしてtelegrafに進みます。ここにテンプレートが追加されています。セットアップ手順をクリックして進めていきます。
ここに表示されたAPIトークンとtelegrafのコマンドをInfluxDBをインストールしたPCに入力します。
ターミナルにコピペします。
export INFLUX_TOKEN=Ru30wPltisvAye7nMnWlIFeoeDGq1Evp3y9DoTJlMXwEfU2UcpG6XtpqGsqmWuMN1Eh2GUerHjxbA5eN--WSMQ==
telegraf --config http://192.168.26.114:8086/api/v2/telegrafs/08f6cb735226a000
mamushi@mamushipc:~$ export INFLUX_TOKEN=Ru30wPltisvAye7nMnWlIFeoeDGq1Evp3y9DoTJlMXwEfU2UcpG6XtpqGsqmWuMN1Eh2GUerHjxbA5eN–WSMQ==
mamushi@mamushipc:~$ telegraf –config http://192.168.26.114:8086/api/v2/telegrafs/08f6cb735226a000
2022-02-24T12:38:07Z I! Starting Telegraf 1.21.4
2022-02-24T12:38:07Z I! Loaded inputs: net
2022-02-24T12:38:07Z I! Loaded aggregators:
2022-02-24T12:38:07Z I! Loaded processors:
2022-02-24T12:38:07Z I! Loaded outputs: influxdb_v2
2022-02-24T12:38:07Z I! Tags enabled: host=mamushipc
2022-02-24T12:38:07Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:”mamushipc”, Flush Interval:10s
2022-02-24T12:38:07Z E! [agent] Failed to connect to [outputs.influxdb_v2], retrying in 15s, error was ‘unsupported scheme [“$INFLUX_HOST”]: “”‘
2022-02-24T12:38:22Z E! [telegraf] Error running agent: connecting output outputs.influxdb_v2: Error connecting to output “outputs.influxdb_v2”: unsupported scheme [“$INFLUX_HOST”]: “”
しかし、telegrafのコマンドでエラーが発生しました。色々調べた結果、次の事がわかりました。ブラウザでテンプレートのconfファイルを参照するということです。ブラウザで表示されているデータのtelegrafにある「Network Interface Monitor」自体をクリックします。そうするとconfファイルをダウンロードすることができます。
ここで注目するべき点はエラーにあった「outputs.influxdb_v2」の所です。ダウンロードしたconfファイルにも同様な記述があると思います。InfluxDBをインストールしたPCには「telegraf.conf」というファイルがあるのでダウンロードしたファイルを参考に修正します。「telegraf.conf」の場所は次の通りですのでエディタで修正します。
sudo vi /etc/telegraf/telegraf.conf
私が修正したところは4つです。最初はコメント扱いになっていました。
urls = ["$INFLUX_HOST"]
token = "$INFLUX_TOKEN"
organization = "$INFLUX_ORG"
bucket = "network_data"
さらにホストと組織を定義するコマンドも入力する必要がありました。
export INFLUX_HOST="http://192.168.26.114:8086"
export INFLUX_ORG="youtube"
そして再度コマンドを入力します。
export INFLUX_TOKEN=Ru30wPltisvAye7nMnWlIFeoeDGq1Evp3y9DoTJlMXwEfU2UcpG6XtpqGsqmWuMN1Eh2GUerHjxbA5eN--WSMQ==
telegraf --config http://192.168.26.114:8086/api/v2/telegrafs/08f6cb735226a000
今度はうまくいったのでブラウザでメニューからボードに行きます。
ネットワークインターフェースを選択するとデータやグラフが表示されます。
同様にして他のテンプレートを試すこともできます。ビットコインの価格や地震のデータを確認することが出来ます。