TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編)

Kibana

前回(中編)では、取得したメトリックを可視化する「ビジュアライズ」を作成した。(簡単な例としてUptime)
今回は、ダッシュボードを作成して前回作成したビジュアライズを貼り付ける。またコントロールを追加する。

ダッシュボードの作成

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 17
Kibana左上隅のでメニュー(左列)を開き①、「Dashboard」をクリックする②。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 18
既に何らかのダッシュボードを登録済みでそこにビジュアライズを追加するならダッシュボードリストから既存のダッシュボードをクリック。
新しいダッシュボードを作成するなら右上の「 Create ダッシュボード」をクリックする。
以下、新しいダッシュボードを作成する方で。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 19
作成済みのビジュアライズは「ライブラリ」に登録されているので「 ライブラリから追加」をクリック。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 20
ライブラリに登録済みのビジュアライズがリスト表示されるのでダッシュボードに追加するビジュアライズをクリック。1回のクリックでそのビジュアライズが1つ追加される。追加されたことがよく分からなくてポチポチ押してしまうと大量に追加されてしまうかもしれないので注意。また、違うビジュアライズもクリックで追加できる。
追加したいビジュアライズをクリックしたら右上の「」(閉じる)で完了させる。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 21
追加直後は大きなサイズでビジュアライズが表示される。上の画像のように1つのビジュアライズを登録しただけなら関係ないが、複数のビジュアライズやコントロールを追加した場合はそれぞれ位置を調整したりサイズを調整したり。間違って追加してしまったビジュアライズは、そのビジュアライズの右上の「」(オプション)アイコンの「詳細」(サブメニュー)から削除可能。この削除はダッシュボードから削除するだけで、ライブラリから削除するものではない。
ビジュアライズの左上にはライブラリに登録されたのと同じ名前が表示されるが、ダッシュボードに貼ったビジュアライズの表示名を変更するなら「パネルタイトルを編集」で変更できる。もちろんそのダッシュボード上でだけで有効な変更なのでライブラリに登録されたビジュアライズの名称が変更されるわけではありません。
通常は更に他のビジュアライズも追加しますが、この記事では省略します。
ダッシュボードに登録したのがビジュアライズだけだと絞り込み表示が手動になるので不便です。コントロールを追加します。
コントロールのドロップダウンメニューから「 コントロールを追加」をクリック。(次へ)

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 22
普通はダッシュボードはホスト別に絞り込んで表示したいだろうからホスト名で切り替えるコントロールにする。フィールド名のリストからホスト名のフィールドを選択することになる。Telegrafで普通に出力すると「tag.host」フィールドを使うのが無難。「tag.host」フィールドを選択する。
ホスト名で切り替えるコントロールなのでラベルには「Host」などのわかり易い名前を入力する。
ホスト名で切り替えるダッシュボードなので複数のホストを同時選択できるコントロールにするのはヘン。「ドロップダウンでの複数選択を許可」のスイッチは「オフ」にする。
右下の「 保存して閉じる」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 23
ホスト名で表示を切り替えるコントールが追加された。
ダッシュボードが完成(更新)したら右上隅の「 保存」をクリック。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 24
ダッシュボードの名前を「タイトル」欄に入力する。これは「保存されたオブジェクト」(オブジェクトライブラリ)に登録される名前になる。
「保存」をクリックで保存完了。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 25
ダッシュボードの保存が完了しても「編集モード」のままになるので、このモードでいろいろ触って間違って保存してしまうと面倒なことになる。
忘れずに「表示モードに切り替える」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 26
表示モードの状態。(ビジュアライズが1つしかないので寂しいですが)
ここで、ホスト切り替えのコントロールのドロップダウンメニューをクリックする。ホスト名のリストが表示されるので表示したいホストをクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 27
ビジュアライズの表示が切り替わって選択したホストの状態が表示される。
上の画像のビジュアライズはUptimeで、これは最終値(直近の値)を表示されるものなので基本的にはそのホストのシステムが(再)起動してから「現在」までの時間(日数)が表示されますが、ダッシュボードの右上の(日時範囲)の絞り込みで「過去〜現在」ではなく、「過去〜過去」を指定した場合はその指定範囲での直近側時点での時間(日数)が表示されます。

ビジュアライズ/ダッシュボードの管理

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 28
Kibana左上隅のでメニュー(左列)を開き、「スタック管理」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 29
スタック管理メニューから「保存されたオブジェクト」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 30
仮に、前回作成したUptime表示用ビジュアライズまたは今回作成したダッシュボードを「削除」したいとする。「Telegraf Uptime」という名前のオブジェクトが作成したビジュアライズ、「テスト」というのが今回作成したダッシュボード。(上の画像では2つ選択しているが、今回は「テスト」ダッシュボードだけを削除することにした)
削除したいオブジェクトの左端の(チェックボックス)をクリックしてにする。①
リスト最上部の「 削除」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 31
削除の確認画面が表示されるので対象のオブジェクトが正しいことを確認して右下の「個のオブジェクトを削除」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編) 32
ここまで前回/今回の記事ではビジュアライズ1つだけの寂しいダッシュボードしか作らなかったが、他のシステムリソース監視用のビジュアライズを作成してダッシュボードに貼り付けていくと役に立つものになる。上の画像はまだプロセス関係とネットワーク関係が足されていないので少し寂しいが一応システム監視用らしいものになってきている。

関連記事:

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編)

Kibana

ビジュアライズの作成

今回はサンプルとしてシステム起動からの稼働時間(Uptime)を表示するビジュアライズを作成する。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 1
まず、DiscoverでTelegrafが収集したメトリックデータを確認したい。
KibanaにKibana操作用ユーザーでログインし、左上隅のでメニュー(左列)を開き、「Discover」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 2
左上の水色のドロップダウンメニューをクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 3
「Telegraf-*」データビューをクリックする。
ここに「Telegraf-*」が表示されないのであれば、前回(前編)のようにデータビューの作成を行ってください。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 4
「Telegraf-*」に該当するメトリクスデータが表示されます。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 5
データが大量だと確認に困ることがあるので必要に応じて表示するデータを絞り込むことができます。
たとえば特定のホストのデータだけを表示したいということであれば、ホスト名が含まれるのが「tag.host」フィールドなので上部の検索欄に tag.host:"ホスト名"と入力して右端の (リロード)ボタンをクリックします。
抽出されたデータは絞り込み条件が黄色のハイライトになります。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 6
Discoverのメトリクスデータ表示の初期値は1つのデータ毎に3行まで改行なしで表示となります。読みにくいので行の右端の (展開)アイコンをクリックします。ポップアップウインドウは改行ありのJsonデータが表示されるので見易いですが、ポップアップウィンドウのサイズが変更できないことが多いので見辛いことがあるかもしれません。フィールド名に対応する値にどのようなものがあるか確認します。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 7
ビジュアライズ作成のため、左上隅のでメニュー(左列)を開き、「Visualize Library」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 8
今回は、既存のビジュアライズを修正/流用するのではなく「新規作成」なので右上の「 Create ビジュアライゼーション」をクリックする。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 9
使いやすいのは「TSVB」か「レンズ」のようです。Kibana 5系,6系にあったTimelionは使いやすかったのですが7系のどこかのバージョンで廃止された模様。今回はUptimeという簡単な値を使うので「レンズ」でいきます。「レンズ」をクリック。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 10
先にフィールドを選択しても良いのですが、データ表示が重いことがあるので今回は先にビジュアライゼーションのタイプ(種類)の選択を行います。
中央列上部のドロップダウンメニューをクリックし①、今回はレガシーメトリックを選びます②。レガシーではない方の「メトリック」は複数メトリック表示が可能なものの表示にクセがあるので今回は使いませんでした。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 11
左列のフィールド名リストから中央列に、または右列の「メトリック」欄にドラッグ&ドロップします。今回はUptimeを表示したいので「system.uptime」を使います。中央列にポイッと放り込んでやるだけです。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 12
中央列に大きな数字が表示され「system.uptimeの中央値」という表示が付きます。Uptimeの表示としてはほぼ意味のない値です。起動時(ゼロ)から現在までの範囲とは限らないので単純に2倍で良いとは限らないでしょうから。
右列の「system.uptimeの中央値」をクリック。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 13
右列にいろいろ表示されるようになります。ValueのMethodが「クイック機能」の選択状態の筈なので、「最終値」(直近)をクリックします。

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 14
中央列が最終値(直近)になります、Uptimeなのでその値はシステムの起動から(ほぼ)現在までの秒数になります。
右列のVlaueのMethodを「式」に切り替えます。①
Methodの下にFormulaが表示されます。これがsystem.uptimeのlast.value(最終値)です。単に秒数を表示されても普通は理解しにくいので日数表示にしたいと思います。1日は86400秒なので秒数の最終値を86400で単純に割れば良さそうです。割り算なので「/86400」を付けるだけです。②
下方の「値の形式」が重要なのでクリックします。③(次へ)

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 15
「値の形式」のドロップダウンメニューで「数字」を選択します。①
「名前」欄が式になっているので消してUptimeなどの任意の文字列を入力します。これは中央列の数字の左上に表示されます。②
小数点以下の桁数は初期値は2桁です。特に変更の必要はなさそうです。「接尾辞」は数字の後に表示される文字列です。今回は日数を表示するので「日」にでもしておけば良さそうです。③
表示が完成したら、右上隅の「 保存」をクリック。④

TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編) 16
ビジュアライズのオブジェクトとして保存するための情報と、ダッシュボードへの追加について指定します。
とりあえず、タイトルにはオブジェクトの名前として識別しやすい名前を入力します。①
既存のダッシュボードがあってそのダッシュボードに追加したいということであれば「既存」を選択してドロップダウンメニューからそのダッシュボードを選択します。新しいダッシュボードを作ってそこに追加したいということであれば「新規」を選択します。ダッシュボードに追加というのは後でということであれば「なし」を選択します。今回は、あえて「なし」を選択。②
「ライブラリに追加」のチェックを確認して右下の「保存してライブラリに追加」をクリック。③

これでUptimeのビジュアライズが完成した。 次回はダッシュボードを作成してそこに今回作成したUptimeのビジュアライズを追加する。

関連記事:
Up