[InfluxDB V2.x]管理画面のGUI操作から外部アプリケーション(Grafana)との連携まで

influxDBのインストールについては下記の記事を参照してください。

注意:2.0系では、1.0系と同じようにシェルのようにコマンドを実行することができません。

ためしにinfluxと入力してもshell画面に移行しないはずです。2.0系は基本ブラウザベースで操作を進める必要があります。

管理画面にアクセスするには

http://<サーバのIPアドレス>:8086

ステップ1:データファイルの準備

例えば、バケット名 test-bucket に「Ondo」「Power」それぞれの値を持つ100件のデータをいれる

ラインプロトコルで手動追加で以下を追加してください。

t0001 Ondo=22.5,Power=101.2
t0002 Ondo=28.1,Power=96.5
t0003 Ondo=23.9,Power=105.7
t0004 Ondo=21.3,Power=83.6
t0005 Ondo=24.8,Power=114.1
t0006 Ondo=27.2,Power=98.4
t0007 Ondo=20.4,Power=89.9
t0008 Ondo=26.6,Power=109.2
t0009 Ondo=25.0,Power=111.7
t0010 Ondo=29.3,Power=86.2

mesurement名が同一の場合は、タイムスタンプが必要です。タイムスタンプによって別レコードと識別するため

タイムスタンプなしのレコード10件では最後の1レコードのみが追加されます(内部的には上書きされています。)

読み込みが正常に完了するとHooray!と出るはずです。そうすればCloseしましょう。

次はData Exploerで取り込んだ値を参照しましょう

View Raw Data を ON

AGGREGATE FUNCTIONをCUSTOMにしてMEANのチェックを外します。

データが追加されています。

今生成したLine Protocolデータの「データ構造」説明

1. measurement(計測名・テーブル名に相当)

  • 各行の先頭(t0001 など)が measurement です。
  • measurementはデータの分類名・データセット名のようなもので、SQLで言う「テーブル名」に相当します。
  • この例では t0001 から t0100 まで measurement が100種類ある形になります。

2. field(フィールド)

  • Ondo(温度値:数値)、Power(電力値:数値)がフィールドです。
  • measurementの中に複数フィールド(ここではOndo, Power)を持てます。
  • Line Protocol では必ず1つ以上のフィールドが必要です。

3. tag(タグ)

  • 今回のデータにはタグは使っていません。(例:場所=officeなどはタグになりますが今回は省略)

4. timestamp(時刻)

  • 今回のデータにはtimestamp(タイムスタンプ)は省略しています。
  • 省略した場合、InfluxDBサーバーに書き込まれた瞬間の時刻が自動的にセットされます。
  • 例:t0001 Ondo=22.5,Power=101.2 1627539600000000000 ←この一番右の数字がタイムスタンプ

具体例で解説

t0001 Ondo=22.5,Power=101.2
  • t0001measurement名
  • Ondo=22.5field(温度値)
  • Power=101.2field(電力値)
  • タイムスタンプなし(受信時刻で自動付与)

【イメージ図】

| measurement | Ondo | Power | timestamp(自動) |
|-------------|------|-------|----------------|
| t0001 | 22.5 | 101.2 | 受信時刻 |
| t0002 | 28.1 | 96.5 | 受信時刻 |
| ... | ... | ... | ... |

補足

  • measurementはデータの「まとまり」を表します。通常は「sensor_data」など用途名や種別でひとまとめにすることが多いですが、今回は measurementごとに1行ずつ生成しています。
  • fieldは「値をもつ項目」。時系列DBとしてはどんな数値・文字列も格納できます。
  • timestampが無い場合は、受信時刻(サーバ時刻)が自動的に付与されるので、ログの時刻精度が不要なテスト投入などでは省略可能です。

外部アプリケーションと連携する方法

InfluxDB1.0ではユーザーパスワード認証でしたが、2.0ではToken認証を使用しなければいけません。

InfluxDB 2.xでのトークン確認方法

1. Web UI(ブラウザ)で確認する方法

  1. InfluxDBのWeb管理画面にアクセス
    • 例)http://localhost:8086 など
  2. ログイン(メールアドレスとパスワードで)
  3. 左側メニューから
    Load Data」→「API Tokens
  4. 上記のAPIトークン画面で「Generate Token(トークンの生成)」をクリック
  5. 必要なバケットや権限を選ぶ
  6. トークン文字列が表示されるので、必ずコピーして保存(後で参照ができないセキュリティの観点により)
  7. このトークンをコピーして、Node-REDなどの設定で使う

2. CLIで確認する場合

  • 通常、CLI(コマンドライン)で既存トークンの値を「表示」することはできません(セキュリティ上、生成時のみ値が表示されます)。
  • ただし、組織名や権限、トークンIDなどの情報は確認可能
influx auth list
  • 上記コマンドでトークンの一覧と権限を確認可能
  • でも実際のトークン文字列自体はCLIで再表示不可なので、必ず生成時に保存してください

もしInfluxDB 1.xの場合

  • トークン方式ではなく、ユーザー名とパスワード方式です。
    Web UIやCLIからユーザー管理します。

まとめ

  • InfluxDB 2.x → Web管理画面からトークンを確認・コピーが基本
  • CLIではトークン値そのものは再確認不可(セキュリティ仕様)

InfluxDB 2.xでの組織情報の確認方法

InfluxDB 2.xにおける「Organization(組織)」は、バケットやユーザー・APIトークンなどの管理単位です。
Node-REDやCLI、API、Web UIの設定で必要になることが多いですが、「自分のorganization名が分からない!」という場合の確認方法
を以下にまとめます。


1. Web UI(ブラウザ)で確認する方法

  1. InfluxDBの管理画面にアクセス(例: http://your-vps-ip:8086
  2. 画面右上または左側の「User」アイコン、またはプロフィール画像をクリック
  3. 「About」または「アカウント」などの項目を選択
  4. Organization名(またはID)が表示されます

または
左メニューの「Buckets(バケット)」画面などでも、
**「Organization」**と書かれている欄で自分の組織名が見えます。


2. CLIで確認する方法

VPSのターミナルなどで、以下のコマンドを実行します:

influx org list
  • これで登録されているOrganizationの一覧が表示されます。
  • org名(Name欄)とIDが出ます。

Grafanaと連携する際の注意事項 InfluxDB2.0における特殊な設定について

Grafanaのインストールについては下記の記事を参照してください。

QueryLanguageは必ず、「Flux」を選択すること。

「 Flux 」は InfluxDB のバージョン 2.x で「 InfluxQL 」に代わり採用されているクエリ言語です。

接続する InfluxDB は同じサーバ上にあるので、「 HTTP 」の「 URL 」は http://localhost:8086 を指定します。
「 Allowed cookies 」と「 Timeout 」は空欄
「 Auth 」もすべてチェックを外した状態
「 Custom HTTP Headers 」も不要。

詳細設定「 InfluxDB Details 」は、

「 Organization 」に InfluxDB 構築時に指定した組織名

「 Token 」には InfluxDB 構築時に表示された API トークンを指定します。
「 Default Bucket 」、「 Min tim interval 」、「 Max series 」は空欄のままで問題ありません。

Save & Test をクリックします。
問題がなければ、Bucket の数が表示されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする