Grafana10の新機能を触ってみた!
2023.08.18 Grafanaコラム

※この記事は、SIOS Tech.Labから抜粋して転載しています。

はじめに

こんにちは!PS SLエンジニアの佐々木千奈です!

Grafanaというツールをご存じでしょうか。今回はGrafanaが10周年を迎え、Version 10をリリースしたということで、その内容を確認していきます。

今回のリリースでは多くの新機能が追加されました。詳細を知りたい方は公式のGrafana v10.0の新機能をご確認下さい。

機能面、パネル、UI等々、プレビュー版の機能も含めて多くの改善や追加があった今回のリリースですが、今回は私が特に気になる以下の4つの機能について実際に検証してみたので、これらについてレポートしていきます。

Canvas panel (正式リリース版)
Trend panel (試験機能)
Datagrid panel (試験機能)
SubFolder (パブリックプレビュー版)

  • また、アップグレードに影響する重大な変更はこちらに情報があります。

色々触ってみた

環境準備

正式リリースされていない機能も使うために、設定の変更が必要なため、今回はGrafana Cloudは使用せずローカルにDockerでGrafanaの環境を建ててテストを行いました。

具体的には、Grafana公式のdockerによるGrafanaインストールの手順を参考に、下記のコマンドを実行しました。今回は設定変更等サクッとできそうなのでUbuntu版を選択しました。

docker run -d --name=grafana -p 3000:3000 grafana/grafana-enterprise:10.0.3-ubuntu

Canvas panel の検証

Canvas panelは柔軟性高く操作可能なUIパネルの中で動的及び静的な要素を自由に配置できるパネルです。ver10から一般提供のため、特別な設定なしに利用することができます。IoTのセンサデータをリアルタイムで図示したい場合や、トラフィックをリアルタイムで図示したい場合など、様々な状況で活用できそうです。(Canvas panelのドキュメント)

主な操作

主な操作項目としては以下のようなものが挙げられます。パネル上の要素 (Elements) に対してドラック & ドロップや右クリックによる要素の編集への遷移など、直感的な操作が可能で使いやすいと感じました。

  • [Visualization] で [Canvas] を選択したら、[Layer] → [Elements] でElementを編集することで画面に様々な要素を増やせる。
    • メトリック値
      • データソースから読み込んでいる値(field value)の最新値を画面に表示。
      • 値の範囲によって色を変えるThresholds や Value mappingの設定も可能。
    • 文章
      • Canvasに任意のテキストを追加することが可能。
    • 矩形
      • ただの四角として、またはfeild valueを表示するための箱としても使用可能。
    • アイコン
      • アイコンをCanvasに追加可。アイコンの色を Threshold と Value mapping で設定することも可能。
    • サーバ
      • 一つのサーバー、サーバーのスタック、データベースと端末を表すことが可能。
      • ステータスの色・電球の色・電球の点滅速度をサポートしていて、全て固定値とフィールド値で構成可。
  • 接続
    • 要素にカーソルを当てた状態で表示される×印から矢印の接続を伸ばすことができる。接続の色やサイズは固定値やフィールド値によって変更可能。
データソースはTest Data DBを利用したダミーデータを使って検証を行った

デモ

ここでは検証のために操作を試しながら、疑似的におばあちゃんの部屋の現在の温度を監視するパネルを作成していました。(いらすとやさんのイラストをお借りしました。)

Canvas panelは、panel編集画面ではなくDashBoard画面でも編集が可能でした。背景、要素等編集したい部分を右クリックするとその場にメニューが表示されます。

Canvas編集ポップアップ画面

以下が妄想だけで作成したおばあちゃんのお部屋監視パネルです。温度と湿度を監視している風です。直感的な操作でできました。

おばあちゃんの部屋画像

感想

Canvas panelは非常に直感的な操作が可能であり、エンジニアではない人にとっても使いやすいパネルだと感じました。アイデア次第で様々な場面で活躍するタイミングがありそうです。

Datagrid panel と Trend panel の検証

Datagrid panelとは (Datagridのドキュメント)

Datagrid panel について簡単に解説すると、Grafanaで簡単に編集可能なExeclのようなパネルを作成するものです。今までのTableとは全く違うのは、データソースから読み込んだデータを自由に書き換えられること。また、データソースから読み込んだデータすらなくて自由にデータを書き込んでいくことも可能です。さらにこのパネルをデータソースとすることで、Dashboard上でインタラクティブな編集を可能とします。

Trend panelとは (TrendのDocument)

Trend panelについてドキュメントの日本語訳では「トレンドパネルは時間ではない連続した数値xを持つデータソースに対して使用する必要がある」と書かれています。続けて、「例えば、関数グラフ、rpm/トルク曲線、需要/供給の関係、レースコースに沿った標高または心拍数のプロット (x はスタートからの距離または継続時間) などがあります。」とあります。これまで、Grafanaではこのようなデータの可視化が難しかったため、非常に便利な改善になりそうです。

長く説明しましたが、簡単に言うとDatagridはExeclみたいなパネルであり、Trendは連続するx値に対する傾向をグラフ化するためのパネルです。

デモ

早速実際に使っていきましょう!今回はテストのためにとして子供の年齢と平均身長のデータをDatagridパネルに書き込み、そのデータをデータソースとしてTrendパネルで可視化しました。

  • Datagrid panelの利用
    • Datagrid panelを使用するために 機能切り替えの構成 を変更する必要があります。 Grafanaの設定 に従って、feature toggleに enableDatagridEditing を追加するように編集し、Dockerを再起動しました。
    • 設定を変更し再起動すると画面右の[Visualization]内に[Datagrid]が現れます。
      Visualisation選択画面
    • 左クリックでセルの内容の編集、右クリックで行ごと列ごとやヘッダーの編集ができます。ヘッダー内右の▽をクリックして開く設定によりカラムの型なども設定可能です。
      Datagridパネルで型の選択
    • 今回は手動で子供の平均身長のデータを入力してみました。
      DataGridパネルに子供の年齢と平均身長を入力
  • Trend panelの利用
    • Trend panelはBata版の機能として設定を変更せずに使用可能です。
    • [datasouce]に[–Dashboard–] を選択し、で先ほど登録したパネルである ”子供の年齢と平均身長” を選択します。
      DatasourceにDatagridパネルを選択
    • その後、[Visualization] で [Trend] を選択すると以下のようなGraphが表示されます。
      Trendパネルで作成したグラフ

感想

Datagridパネルは発想はとても便利そうだと思うのですが、もっと柔軟性があるとより面白くなりそうな機能だと思いました。また、Trendパネルについては今までできなかったところができるようになったということでかゆいところに手が届く機能となりそうです。今後安定板がリリースされることが楽しみです。

SubFolder の検証

SubFolderとは

SubFolderとはその名の通りSubFolderのことです。GrafanaのDashboard管理画面ではこれまでFolderの中にDashboardを並べていくという1階層での管理しかできなかったため、この機能によりダッシュボードの管理が便利になります。

検証

  • datagridパネルをON1にした時と同様に、設定ファイル内のfeaturetogglesを編集しコンテナを再起動します。
    Subfolder機能を有効にする設定画面
  • 以下の画像のようにフォルダーの配下にサブフォルダーが作成できるようになりました。
    サブフォルダーの利用

感想

単純にDashBoardを整理するためにも、フォルダーごとにチームを使って権限管理をしている場合などにも、サブフォルダーの機能が追加されたことによって便利になることが考えられます。しかし、Grafanaはまだ正式にリリースされていない機能は開発用かテスト用で使用することを推奨しているため、その点注意が必要です。

その他の気になる新機能

他の気になるアップデートについて軽く紹介しておきます。これらも、非常に強力なアップデートになりそうなのですが、使いこなすのに時間がかかりそうなので、今回の検証からは割愛させて頂きました。

  • Correlations (パブリックプレビュー版):複数のデータソースからコンテキストを読み込むことであるデータソースから別のデータソースへシームレスで移動できる機能。
  • パブリックダッシュボード (パブリックプレビュー版):GrafanaにログインしていないユーザーともGrafanaダッシュボードをリアルタイムで共有できる機能。
  • Grafana Scenes (パブリックプレビュー版):Grafanaプラグイン開発者がGrafanaアプリプラグインにダッシュボードのようなエクスペリエンスを簡単に構築できるようにするための新しいフロントエンドライブラリ。
  • GrafanaUIでSAMLプロバイダー構成 (一般提供)

最後に

今回はGrafana10のリリースを追って新機能を色々触ってみました。今回触ってみた機能はどれも、Grafanaの可能性が広がったことを感じるものでした。

今回紹介しきれていない新機能もたくさんあります。特にScenesに関しては今回あまり触れませんでしたが、ダッシュボード画面を簡単に作成できるフロントエンドライブラリができたというとで、私もそれを使ってプラグインを作成できるかも、Grafanaのコミュニティがさらに活発化するかも、とわくわくしています。

Grafanaは使い方次第で本当に色々なことができるツールだと思っています、皆さんがこのように活用してみたいなどの声もぜひお聞かせください!

ところで、途中で出てきたCanvasでIoTをつながりで、最近個人でIoTの監視を行ってみたいと思っています。電気やエアコンの消し忘れがないように管理したいのですが、安く実現できる方法はないですかね。もしご存じでしたら教えてください!Switch bot高い、、、

参考リンク

Grafana関連記事

原文:https://tech-lab.sios.jp/archives/35172
著者:tina

関連記事