Snowflake データベースへの接続 - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Snowflake データベースへの接続

Snowflake Enterprise データソースを使用すると、Snowflake データを Grafana の他のすべてのデータソースと一緒に視覚化し、コンテキスト内のログデータとメトリクスデータを視覚化できます。このデータソースには強力な先行入力のクエリエディタが含まれており、複雑な注釈、アラートしきい値の設定、アクセスとアクセス許可の制御などがサポートされます。

注記

このデータソースは、Grafana Enterprise 専用です。詳細については、「Enterprise プラグインへのアクセス許可の管理」を参照してください。

さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「プラグインを使用したワークスペースの拡張」を参照してください。

概要

Snowflake とは

Snowflake は、「データウェアハウスアズアサービス」と一般的に呼ばれるクラウドベースのデータストレージおよび分析サービスを提供します。これは、データウェアハウス、データレイク、データエンジニアリング、データサイエンス、データアプリケーション開発、データ共有のためのソリューションを提供します。過去数年間、Snowflake はクラウドベースのハードウェアとソフトウェアを使用して手頃な価格でデータを保存および分析できるため、大きな人気を得ています。最近では、最大のソフトウェア IPO になりました。現在、多くの企業がプライマリデータベースとして Snowflake を使用して、トランザクションカウント、アクティブなユーザーセッション、さらには時系列やメトリクスデータなどのアプリケーションやビジネスデータを保存しています。

Snowflake および Amazon Managed Grafana の最大限の活用

Snowflake データを移動せずに視覚化する: Grafana の独自のアーキテクチャは、データを移動して冗長ストレージと取り込みに消費するのではなく、データが置かれている場所に直接クエリを実行します。

さまざまなソースからパネルを作成する: 事前に構築されたカスタムダッシュボードを使用すると、さまざまなデータソースのデータを 1 つのウィンドウにまとめることができます。

ユーザーレベルでの変換とコンピューティング: ユーザーはデータを変換し、表示されるデータに対してさまざまな計算を実行できるため、データの準備が少なくて済みます。

パネル内で結合、計算、視覚化: Snowflake やその他のソースからの関連データを表示する混合データソースパネルを作成します。

機能

[クエリエディタ:] クエリエディタは、時系列またはテーブルデータを視覚化し、SQL 構文エラーを処理し、基本的な SQL キーワードを自動補完できる、スマート SQL 自動補完エディタです。

データソースのアクセス許可: Grafana で Snowflake データを表示またはクエリできるユーザーを制御します。

注釈: Snowflake イベントを任意の Grafana グラフにオーバーレイし、イベントを他のグラフデータと関連付けます

アラート: Snowflake にアラートベースのメトリクスストアを設定します

クエリの変数: Snowflake データに基づいて Grafana にテンプレート変数を作成し、Snowflake クエリに変数を含めてダッシュボードをインタラクティブにします。

マルチメトリクスクエリ: 複数のメトリクスを返す単一のクエリを、それぞれ独自の列に書き込みます。

Snowflake プラグインの使用の開始

Grafana の Snowflake プラグインの使用を開始するには、次の 5 つの簡単な手順を実行します。

ステップ 1: Snowflake データソースの設定

データソースを設定するには、[設定][データソース][データソースの追加]、[Snowflake] を選択します。

認証の詳細を追加すると、データソースのクエリ実行準備が整います。

次の設定フィールドを使用できます。

名前 説明
アカウント Snowflake のアカウント。
ユーザーネーム サービスアカウントのユーザー名。
パスワード サービスアカウントのパスワード。
スキーマ (オプション) クエリのデフォルトスキーマを設定します。
ウェアハウス (オプション) クエリのデフォルトのウェアハウスを設定します。
データベース (オプション) クエリのデフォルトのデータベースを設定します。
ロール (オプション) クエリのロールを担います。

ステップ 2: Snowflake データのクエリの記述

ダッシュボード内にパネルを作成して、Snowflake データソースを選択しクエリエディタの使用を開始します。

  • 日付/時刻が含まれている限り、クエリのいずれかの場所に表示される可能性があります。

  • 数値列を含める必要があります。これは集計でも int/float 列でもかまいません。

  • 時系列データがさまざまなメトリクス用にフォーマットされている場合、必要に応じて文字列列を含めて個別のデータシリーズを作成できます。

Snowflake クエリのレイアウト

select <time_column>, <any_numerical_column> <other_column_1>, <other_column_2>, <...> from <any_table> where $__timeFilter(<time_column>) // predefined where clause for time range and $<custom_variable> = 1 // custom variables start with dollar sign

間隔による時系列グループ用 SQL クエリ形式

select $__timeGroup(created_ts, '1h'), // group time by interval of 1h <time_column>, <any_numerical_column>, <metric_column> from <any_table> where $__timeFilter(<time_column>) // predefined where clause for time range and $<custom_variable> = 1 // custom variables start with dollar sign group by <time_column>

テーブル用 SQL クエリ形式

select <time_column>, // optional if result format option is table <any_column_1> <any_column_2> <any_column_3> from <any_table> where $__timeFilter(time_column) // macro for time range, optional if format as option is table and $<custom_variable> = 1 // custom variables start with dollar sign

ステップ 3: テンプレート変数の作成および使用

テンプレート変数の使用

次の例に示すように、クエリにはテンプレート変数を含めることができます。

select <column> from <table> WHERE column >= '$variable'

次の例は、クエリで複数値の変数を使用する方法を示しています。

select <column> from <table> WHERE <column> regexp '${variable:regex}'

変数作成のための Snowflake データソースの使用

ダッシュボード設定で、[変数] を選択し、[新規] を選択します。

「Query」変数型を使用して、Snowflake データソースを「データソース」として選択します。

重要

変数クエリでは必ず 1 つの列のみを選択してください。

例:

SELECT DISTINCT query_type from account_usage.query_history;

次の変数が提供されます。

All DESCRIBE USE UNKNOWN GRANT SELECT CREATE DROP SHOW

ステップ 4: アラートのセットアップ

特定の Snowflake メトリクス、または作成したクエリに、アラートを設定できます。

クエリエディタ内のアラートタブボタンを選択して、[アラートを作成] を選択します。

ステップ 5. 注釈の作成

注釈を使用すると、イベントをグラフ上にオーバーレイできます。

注釈を作成するには、ダッシュボード設定で、[注釈][新規] を選択して、データソースとして [Snowflake] を選択します。

注釈はイベントであるため、イベントを記述するために、少なくとも 1 つの時間列と 1 つの列が必要です。

次のサンプルコードは、Snowflake へのログイン失敗すべてに注釈を付けるクエリを示しています。

SELECT EVENT_TIMESTAMP as time, EVENT_TYPE, CLIENT_IP FROM ACCOUNT_USAGE.LOGIN_HISTORY WHERE $__timeFilter(time) AND IS_SUCCESS!='YES' ORDER BY time ASC;

And

  • 時間: TIME

  • タイトル: EVENT_TYPE

  • テキスト: CLIENT_IP

これにより、ダッシュボードパネル上の Snowflake へのログイン失敗すべての注釈がオーバーレイされます。

追加機能

表示名フィールドの使用

このプラグインは、[オプション] パネルの [フィールド] タブにある [表示名] フィールドを使用して、名前、ラベル、または値に基づいて凡例キーを短縮または変更します。他のデータソースでは、カスタムalias機能を使用して凡例キーを変更しますが、表示名関数の方がより一貫性のある方法です。

データソースの権限機能

Snowflake へのアクセスを制限するには、データソース設定ページの [アクセス許可] タブを選択してデータソースのアクセス許可を有効にします。アクセス許可ページでは、管理者はアクセス許可を有効にし、クエリのアクセス許可を特定のユーザーとチームに制限できます。

Snowflake の請求と使用状況データについて

Snowflake データソースでは、便利な請求情報と使用状況情報を表示する、請求および使用状況ダッシュボードをインポートできます。

Snowflake データソース設定ページにダッシュボードを追加します。

このダッシュボードは ACCOUNT_USAGE データベースを使用し、クエリには ACCOUNTADMIN ロールが必要です。これを安全に行うには、ACCOUNTADMIN ロールのユーザーを持つ新しい Grafana データソースを作成します。変数でそのデータソースを選択します。