この記事はSnowflake Advent Calendar 2023シリーズ2の5日目です。
アドベントカレンダーがみつしりだ!
Grafanaとは
GrafanaはGrafana Labs社が開発しているデータ可視化ツールです。
時系列データを可視化してダッシュボードとして表示することが得意で、しばしばシステムの監視ツールとして用いられています。
Grafanaには以下のようなサービスがあります。
- 無料で使えるオープンソースソフトウェアであるGrafana OSS
- 強力な機能が解禁されるGrafana Enterprise
- Grafana Labs社が提供しているフルマネージドサービス、Grafana Cloud
- AWSが提供しているフルマネージドサービス、Amazon Managed Grafana
Snowflake data source for Grafana
GrafanaからSnowflakeに接続するためのデータソースプラグインが用意されています。
このプラグインはGrafana Enterpriseで利用できるEnterprise pluginというものの一つです。
検証の準備
前述の通り、Snowflake data source for GrafanaはEnterprise pluginなのですが、Grafana CloudをCloud Proで契約すればEnterprise pluginを1つだけ無料で使うことが可能です。
そしてCloud Proには14日間の無料トライアルがある…!
さっそく登録してみましょう。
準備完了!
インストールと接続
Grafana Cloudは2023年12月現在はUIが日本語化されていませんが、そこまで難しいところはないので困らないでしょう。
まず、Connections
から新規接続していきます。Snowflake
で検索するとデータソースプラグインが表示されます。
データソースプラグインの詳細ページを確認すると、Install via grafana.com
というボタンがあるのでこれをクリック。
新しいタブでgrafana.comが開くので、ここでInstall plugin
をクリック。すぐにインストールが完了します。
Grafana Cloudに戻れば先ほどインストールしたデータソースプラグインを選択できるようになっているはずなのですが、自分で検証したときはここでなぜか選択できなくて少しまりました…が、タブをリロードすると無事に選択できるように。
データソースプラグインを選択するともうデータソースを追加できるようです。
データソースの設定画面ですが、ここはあまり困らないでしょう。細かい説明もポップアップするようになっています。
Account
にはxx12345.ap-northeast-1.aws
のような値を設定します。
分からない方は、SnowsightでアカウントURLをコピー
したときにクリップボードにコピーされるURLから抜き出してきましょう。
最後にSave & Test
をクリックしてData source is working
のようなメッセージが表示されればOKです。
ダッシュボードに追加してみます。
なお、ダッシュボードに表示できるものは時系列のデータをクエリした結果です。
具体的には、日時カラムをas time
として命名してあげる必要があるようです。
デフォルトのSnowflake Queryを参考に次のようなクエリを書いてみました。
QUERY_HISTORYでクエリ実行時間を可視化するクエリです。
SELECT
$__timeGroup(START_TIME, $__interval) as time,
TOTAL_ELAPSED_TIME
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE $__timeFilter(time)
無事にクエリ実行時間を確認することができました!
感想
Grafana Enterpriseであれば非常に手軽にSnowflakeとGrafanaを接続することが可能です。
例えば、Exporterで収集したシステムの稼働状況と、Snowflakeに流れてくる自社の売上データを一つのダッシュボードにまとめる…なんてことができるかもしれませんね!