1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SnowflakeAdvent Calendar 2023

Day 5

GrafanaからSnowflakeに接続しよう!

Posted at

この記事は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日間の無料トライアルがある…!
さっそく登録してみましょう。

Preparation

準備完了!

インストールと接続

Grafana Cloudは2023年12月現在はUIが日本語化されていませんが、そこまで難しいところはないので困らないでしょう。
まず、Connectionsから新規接続していきます。Snowflakeで検索するとデータソースプラグインが表示されます。

Plugin1

データソースプラグインの詳細ページを確認すると、Install via grafana.comというボタンがあるのでこれをクリック。

Plugin2

新しいタブでgrafana.comが開くので、ここでInstall pluginをクリック。すぐにインストールが完了します。

Plugin3
Plugin4

Grafana Cloudに戻れば先ほどインストールしたデータソースプラグインを選択できるようになっているはずなのですが、自分で検証したときはここでなぜか選択できなくて少しまりました…が、タブをリロードすると無事に選択できるように。

Datasources1

データソースプラグインを選択するともうデータソースを追加できるようです。

Datasources2

データソースの設定画面ですが、ここはあまり困らないでしょう。細かい説明もポップアップするようになっています。

Datasources3

Accountにはxx12345.ap-northeast-1.awsのような値を設定します。
分からない方は、SnowsightでアカウントURLをコピーしたときにクリップボードにコピーされるURLから抜き出してきましょう。

Copy account URL

最後にSave & TestをクリックしてData source is workingのようなメッセージが表示されればOKです。

Datasources4

ダッシュボードに追加してみます。

Dashboard1
Dashboard2

なお、ダッシュボードに表示できるものは時系列のデータをクエリした結果です。
具体的には、日時カラムをas timeとして命名してあげる必要があるようです。

Dashboard3

デフォルトのSnowflake Queryを参考に次のようなクエリを書いてみました。
QUERY_HISTORYでクエリ実行時間を可視化するクエリです。

Snowflake Query
SELECT 
	 $__timeGroup(START_TIME, $__interval) as time,
	 TOTAL_ELAPSED_TIME
 FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
 WHERE $__timeFilter(time)

無事にクエリ実行時間を確認することができました!

Result

感想

Grafana Enterpriseであれば非常に手軽にSnowflakeとGrafanaを接続することが可能です。
例えば、Exporterで収集したシステムの稼働状況と、Snowflakeに流れてくる自社の売上データを一つのダッシュボードにまとめる…なんてことができるかもしれませんね!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?