Snowflake データソースに接続する - Amazon Managed Grafana

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

Snowflake データソースに接続する

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

注記

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

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

概要

Snowflake とは

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

Snowflake と Amazon Managed Grafana を最大限に活用する

Snowflake データを動かさずに視覚化する: Grafana の独自のアーキテクチャは、データを動かして冗長ストレージと取り込みに支払うのではなく、データを直接クエリします。

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

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

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

機能

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

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

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

アラート: 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 データソースを使用した変数の作成

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

「クエリ」変数タイプを使用して、Snowflake データソースを「データソース」として選択します。

重要

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

例:

SELECT DISTINCT query_type from account_usage.query_history;

は、次の変数を提供します。

All DESCRIBE USE UNKNOWN GRANT SELECT CREATE DROP SHOW

ステップ 4: アラートを設定する

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

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

Step 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 データソースを作成します。次に、変数でそのデータソースを選択します。