最初に
こんにちは!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 で設定することも可能。
- サーバ
- 一つのサーバー、サーバーのスタック、データベースと端末を表すことが可能。
- ステータスの色・電球の色・電球の点滅速度をサポートしていて、全て固定値とフィールド値で構成可。
- メトリック値
- 接続
- 要素にカーソルを当てた状態で表示される×印から矢印の接続を伸ばすことができる。接続の色やサイズは固定値やフィールド値によって変更可能。
デモ
ここでは検証のために操作を試しながら、疑似的におばあちゃんの部屋の現在の温度を監視するパネルを作成していました。(いらすとやさんのイラストをお借りしました。)
Canvas panelは、panel編集画面ではなくDashBoard画面でも編集が可能でした。背景、要素等編集したい部分を右クリックするとその場にメニューが表示されます。
以下が妄想だけで作成したおばあちゃんのお部屋監視パネルです。温度と湿度を監視している風です。直感的な操作でできました。
感想
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]が現れます。
-
左クリックでセルの内容の編集、右クリックで行ごと列ごとやヘッダーの編集ができます。ヘッダー内右の▽をクリックして開く設定によりカラムの型なども設定可能です。
-
今回は手動で子供の平均身長のデータを入力してみました。
-
-
Trend panelの利用
-
Trend panelはBata版の機能として設定を変更せずに使用可能です。
- [datasouce]に[–Dashboard–] を選択し、で先ほど登録したパネルである ”子供の年齢と平均身長” を選択します。
-
その後、[Visualization] で [Trend] を選択すると以下のようなGraphが表示されます。
-
感想
Datagridパネルは発想はとても便利そうだと思うのですが、もっと柔軟性があるとより面白くなりそうな機能だと思いました。また、Trendパネルについては今までできなかったところができるようになったということでかゆいところに手が届く機能となりそうです。今後安定板がリリースされることが楽しみです。
SubFolder の検証
SubFolderとは
SubFolderとはその名の通りSubFolderのことです。GrafanaのDashboard管理画面ではこれまでFolderの中にDashboardを並べていくという1階層での管理しかできなかったため、この機能によりダッシュボードの管理が便利になります。
検証
- datagridパネルをON1にした時と同様に、設定ファイル内のfeaturetogglesを編集しコンテナを再起動します。
- 以下の画像のようにフォルダーの配下にサブフォルダーが作成できるようになりました。
感想
単純にDashBoardを整理するためにも、フォルダーごとにチームを使って権限管理をしている場合などにも、サブフォルダーの機能が追加されたことによって便利になることが考えられます。しかし、Grafanaはまだ正式にリリースされていない機能は開発用かテスト用で使用することを推奨しているため、その点注意が必要です。
その他の気になる新機能
他の気になるアップデートについて軽く紹介しておきます。これらも、非常に強力なアップデートになりそうです。本ブログの検証からは割愛させて頂きましたが、検証する機会がありましたら、アップデートします。
- Correlations (パブリックプレビュー版)- 複数のデータソースからコンテキストを読み込むことであるデータソースから別のデータソースへシームレスで移動できる機能。
- パブリックダッシュボード (パブリックプレビュー版) – GrafanaにログインしていないユーザーともGrafanaダッシュボードをリアルタイムで共有できる機能。
- Grafana Scenes (パブリックプレビュー版) – Grafanaプラグイン開発者がGrafanaアプリプラグインにダッシュボードのようなエクスペリエンスを簡単に構築できるようにするための新しいフロントエンドライブラリ。
- GrafanaUIでSAMLプロバイダー構成 (一般提供)
最後に
今回はGrafana10のリリースを追って新機能を色々触ってみました。今回触ってみた機能はどれも、Grafanaの可能性が広がったことを感じるものでした。
今回紹介しきれていない新機能もたくさんあります。特にScenesに関しては今回あまり触れませんでしたが、ダッシュボード画面を簡単に作成できるフロントエンドライブラリができたというとで、私もそれを使ってプラグインを作成できるかも、Grafanaのコミュニティがさらに活発化するかも、とわくわくしています。
Grafanaは使い方次第で本当に色々なことができるツールだと思っています、皆さんがこのように活用してみたいなどの声もぜひお聞かせください!
ところで、途中で出てきたCanvasでIoTをつながりで、最近個人でIoTの監視を行ってみたいと思っています。電気やエアコンの消し忘れがないように管理したいのですが、安く実現できる方法はないですかね。もしご存じでしたら教えてください!Switch bot高い、、、
Grafanaのサポートなら!
サイオスOSSよろず相談室にお任せください!
Grafanaだけでなく、各種最新のOSSにも取り組んでおり、現在、150種類以上のOSSのサポートに対応しております。商用製品のサポート品質に匹敵する手厚いサービスを各種OSSでご利用いただけます。
OSSサポートのことでお困りでしたら、お気軽にご相談ください!
参考リンク
- Grafana v10.0 の新機能
- Grafana 10 リリース: 新しいパネル、コードとしての Grafana の更新、データ相関など
- Grafana v10.0 の重大な変更
- グラファナをダウンロード
- キャンバス
- データグリッド
- 傾向
Grafana関連記事
- Grafana を使ってみる
- よくわかるGrafana入門【ダッシュボード編①】
- よくわかるGrafana入門【ダッシュボード編②】
- 【デモ動画公開】Grafana~初めてのダッシュボード作成
- Grafana Labs – APIエコシステムデザインソリューション
自宅のオフグリッド(電力自立)システムを自作して、電力の授受をラズパイで収集しgrafanaで表示させています。
データベースの方は全くの素人でカット&ペーストで何とか動くシステムが出来ましたが、一年経ってグラフの表示が遅いなどの問題が出始めました。その他にも色々お聞きしたいことが有ったりするのですが、どこかにgrafanaのフォーラムとかないのでしょうか。
オフグリッドシステムの自作とは、すごいですね。
Grafanaは、GrafanaCONというイベントを定期的に開催しています。(日本でのオフライン開催事例は今のところないと思います。)
https://grafana.com/about/events/grafanacon/2024/
また、インターネット上で情報交換ができるコミュニティフォーラムも存在し、活発に利用されています。
https://community.grafana.com/
ちょっと敷居が高そうですね。communityの方はgithubみたいで使えそうだから、ちょっと私の抱えている問題が共有されてないか見てみます。
私のシステムはラズパイを使って1分ごとにデータを収集してMySQLに保存しつつ、瞬時値はメモリーデーターベースのredisに保存して、それをGrafanaで表示してます。ただデータが多いせいか最初の表示が遅く、更新も10分に1度くらいになっちゃうんで、それを解決したいと思ってます。データベースも素人なんで、sql文を工夫すればいいのかもしれませんが。
既にご存じかもしれませんが、Grafana Meetup Japanという、ハイブリットでのイベントの開催が日本でも始まりました。
https://grafana-meetup-japan.connpass.com/