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

April 02, 2020

大好評のやたらシリーズ新作!InfluxDB(InfluxData)公式が提供する可視化ツール「Chronograf」をサクッと動かそう

Chronograf

前提条件

  1. InfluxDBがインストールされていること
  2. 何かデータが入っていること
  3. Windows版であること

2に関してはこちらの記事にて作成した公式が用意するサンプルプログラムを稼働した事がある前提で進める。

公式のサンプルプログラムを起動した状態でlocalhost:3000にアクセスするとアクセスにかかった時間(プログラム内で意図的に遅延を発生させている)を記録する。ブラウザを更新すればするだけレコード追加されている。

サンプルプログラムではなくとも別のデータが入っていれば良い。

Chronografのインストール

DLはこちらのページから

DL

Chronografのバージョンを選択してダウンロードして解答する。2020/04/02現在はv1.8.0だった。

chronograf.exe と chronoctl.exe 2つのファイルが出力される。

なんと設定は何も必要ない

Windowsの場合は設定はUIから行うので事前にテキストファイルなどを編集する必要はない。楽である。

起動

  1. InfluxDBを起動しておく
  2. chronograf.exe をダブルクリックで起動
  3. http://localhost:8888 をブラウザで開く
  4. 「Get Started」をクリック

Get Started

  1. デフォルトのまま「Add Connection」をクリック

Add Connection

  1. クリックしてから少しラグがあり次の画面。

    ロード中のような画面が出るが気にせず Next をクリック。

Next

  1. Kapacitor はインストールしていないので Skip をクリック

Kapacitor

  1. View All Connections をクリックして完了。

View All Connections

何も設定していない。デフォルトで確定し続けただけで完了した。

使ってみる

ここまでくれば既にアプリのメイン画面に遷移している。

実際にデータを可視化してみたいのでまずは Explore をクリック

Explore

次のような画面になっている。矢印を書いたところがサンプルプログラムで作成されたDBである。

main

DBの名前をクリックすると右に「response_time」というのが出てくる。これがテーブルに当たるところの「Measurement」だ。

ここもクリックする。

response_time

すると更に右側に duration と path のチェックボックスがあらわれる。

こちらもサンプルプログラムの次のコードで自分で設定した値が選択肢となっている。

       influx.writePoints([
           {
               measurement: 'response_times',
               tags: { host: os.hostname() },
               fields: { duration, path: req.path },
           }
       ])

このdurationに先程説明した「読み込みの遅延情報」が入っているので、durationにチェックを入れる。

この時点で次のメッセージが表示されている場合はデータが入っていないのでサンプルプログラムを稼働してlocalhost:3000 にアクセスし何回かリロードしておく

No data

初期設定で mean (平均値) が表示される設定のようなので解除しておく

function

mean

Applyで確定

apply

すると上部にレコードが表示されるはず。人によっては既にグラフが出ているかもしれない。

record

意外に面倒だがここまでが一般のデータベースで言うところのSQLを発行してデータを抽出してきた状態だ。

なお、InfluxDBではSQLに似ているがSQLではなく「InfluxQL」と呼ばれる独自の形を使用している。

SQLを使わないデータベースを「NoSQLデータベース」とも呼ぶ。

可視化

ようやく可視化(グラフ化)の出番だ。

先程の状態で上部の「Visualization」をクリック。

Visualization

あとは左下のグラフの形状を選択すれば上部にグラフがあらわれるはずだ。

type

ダッシュボードに登録

グラフをダッシュボードに登録しいつでも参照できるようにすることができる。

右上「Send to Dashboard」をクリック。

Send

ダッシュボードが何枚も登録できるようでTarget Dashboard(s)をクリックして選択する。

初期設定でダッシュボードを作らなかったのでSend to a New Dashboardにチェックして新規作成する。

Send to a New Dashboard

新しいダッシュボードの名前(上段)とグラフの名前(下段)を入力したらSend to Dashboardで作成される。

Send to Dashboard

Dashboards移動し先程作成したダッシュボードをクリック。

ダッシュボードをクリック

これで表示される・・・はず?

graf

宿題

はず?と書いた理由なのだがグラフが描画されないパターンがあった。

もう一度サンプルプログラムを使ってlocalhost:3000に何度かアクセスし、レコードを追加してやったら表示された。

このあたりの動作がイマイチ把握できていない。また詳しい情報が分かり次第更新する。

所感

とりあえず可視化するだけであればシンプルであり外観も非常に美しい。さらにDashboardの画面もカスタマイズしやすい。

InfluxQL周りを覚えていくことが必須になりそうだが、これは少しづつ調べながら慣れていくしか無いだろう。

余談ではあるがChronografのgrafがgraphでない点は覚えておこう(よく間違える)おそらく検索結果を考慮して固有の名詞になるようにしているのだろう。

phだと次になってしまう - Wikipedia : クロノグラフ(Chronograph)

この記事をシェア:

author icon

仮想トイレ @CrypticToilet
プログラミングや仮想通貨のシステムトレードに関する情報を更新中!どんな情報を流しても詰まらないトイレ。