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のビジュアライズを追加する。

関連記事: