
Grafana Git Syncのブランチの切り方を考えてみた
はじめに
前回「Grafana v12で発表されたGit Syncを使ってみた」という記事を書きました。
Git Sync機能はあくまでも現時点ではプレビュー機能ですので、今後機能が変更される可能性はあります。
検証環境は前回に引き続きEnterprise版のGrafanaをインストールしています。
バージョンは12.1.0-preです。
$ grafana -v
grafana version 12.1.0-pre
新しいブランチを作成
まずは普通に新しいブランチを作成してプルリクエストからマージまでの流れを試します。
まずはダッシュボードを用意して、mainブランチとして保存します。
最初のコミットとしてメッセージも残しておきます。
次にパネルを一部編集します。
Time series→Bar chartに変更してダッシュボードを保存します。
保存する際にWorkflowでPush to new branchを選択して開発用ブランチ(develop)として保存します。
そのままdevelopブランチで連続して変更してみます。
ではGitHubからコミット履歴を確認します。
3つのコミット履歴が確認できます。
それではプルリクエストを作成してマージします。
GitHubのタブが開かれるのでプルリクエストを作成してマージします。
ここまではスムーズにプルリクエストまで行った例です。
次に気になった部分を見ていきます。
気になるところ
新しいブランチを作成した時にGrafana上でブランチの切り替えが可能なのか気になりました。
私のイメージでは
- ブランチ毎のダッシュボードが作られる
- ブランチを切り替えられる
のどちらかで、ブランチごとにダッシュボードを編集できるとイメージしてました。
が、実際はちょっとイメージしていたものと違ってました。
まずはダッシュボードを作成して、ブランチを新規作成するところまでいきます。
現在ブランチはmainとdevelopの2つあります。
ではこの状態でブランチ毎のダッシュボードが増えているのか確認します。
ダッシュボードは増えていませんでした。
次にmainとdevelopを切り替えられるか確認します。
先ほど作成したNew Branchダッシュボードを開きます。
この時点では変更前(mainブランチ)のダッシュボードが表示されています。
色々設定を確認しましたが、ブランチを切り替えるような設定は見当たりませんでした。
ドキュメントも確認しましたが、現時点ではブランチ毎にダッシュボードを切り替えるといった機能は見当たりませんでした。
Grafanaに取り込まれている情報も確認しておきます。
Administration > Provisioning でGit Syncの設定ができるので、そちらを見てみましょう。
Resourcesタブからダッシュボード毎のHistoryが確認できます。
コミットは2回(main1回、develop1回)行いましたが、表示されているのはダッシュボード作成時のmainブランチで行った1回のみです。
つまり、Grafanaが持っている情報はmainブランチの情報のみだと思われます。
ただし、最初にデモしたように新たなブランチを作成したままであればダッシュボードを編集することができます。
一度ダッシュボードを閉じてしまうと新しいブランチのダッシュボードを開くことができませんので注意が必要です。
(どうしても修正中のダッシュボードを再現したい場合はGitHubからjsonをコピペすれば再現できなくもないです)
私のブランチの切り方
現時点ではブランチ毎にダッシュボードを切り替えることはできませんでした。
そのため、複数のブランチを切りながら開発するのは難しいのかなと思いました。
現時点での私の使い方としては機能追加や修正毎に複数のブランチを作成するのではなく、都度mainブランチから新しいブランチを作成して、最終的にキリのいいところでプルリクエストを出すといった使い方になります。
まとめ
今回はGrafanaのGit Syncでブランチを切ってダッシュボードを修正する方法を試してみました。現時点ではブランチ毎にダッシュボードが作られる訳では無いようなので、使い方に少し工夫がいるなと感じました。
今後、ブランチを切り替える機能が増えると嬉しいですね。
また、今回は試せませんでしたがImage Rendererプラグインを利用したプルリクエストにダッシュボードのプレビュー画像を埋め込む機能を使うことで、Git Syncのプルリクエストがダッシュボード開発における重要な要素になるのではと考えています。
こちらの機能についても実際に触ってブログを書きたいと思います。