翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM ポリシー
Grafana が Redshift のメトリクスを読み取るには、IAM を使用して権限が付与されている必要があります。これらの権限を IAM ロールに付与し、Grafana のビルトイン機能を使用してロールを引き受けることができます。組み込みの Amazon Grafana Redshift アクセスポリシーは、AWS マネージドポリシー: AmazonGrafanaRedshiftAccess セクションで定義されています。
Amazon Redshift データのクエリ
Amazon Redshift データソースには標準の SQL クエリエディタが用意されています。Amazon Managed Grafana には、より複雑な時系列クエリの記述に役立つマクロがいくつか含まれています。
マクロ
マクロ | 説明 | 出力例 |
---|---|---|
$__timeEpoch(column)
|
$__timeEpoch は UNIX タイムスタンプに変換して列の名前を時刻に変更する式に置き換えられます。 |
UNIX_TIMESTAMP(dateColumn) as "time"
|
$__timeFilter(column)
|
$__timeFilter はパネルの時間範囲を基準に (column を使用して) データのフィルタ条件を作成します。 |
time BETWEEN '2017-07-18T11:15:52Z' AND
'2017-07-18T11:15:52Z'
|
$__timeFrom()
|
$__timeFrom はパネルの範囲の現在の開始時刻を引用符付きで出力します。 |
'2017-07-18T11:15:52Z' |
$__timeTo()
|
$__timeTo はパネルの範囲の現在の終了時刻を引用符付きで出力します。 |
'2017-07-18T11:15:52Z' |
$__timeGroup(column, '1m')
|
$__timeGroup はタイムスタンプをグループ化して、グラフ上の期間ごとに 1 つのポイントになるようにします。 |
floor(extract(epoch from time)/60)*60 AS
"time" |
$__schema
|
$__schema は選択したスキーマを使用します |
public |
$__table
|
$__table は特定の $__schema からテーブルを出力します (デフォルトではパブリックスキーマを使用します) |
sales |
$__column
|
$__column は現在の $__table から列を出力します |
date
|
$__unixEpochFilter(column)
|
$__unixEpochFilter は指定された列名と Unix タイムスタンプとして表される時刻を使用して、時間範囲フィルターで置き換えられます。 |
column >= 1624406400 AND column <= 1624410000
|
$__unixEpochGroup(column)
|
$__unixEpochGroup は $__timeGroup と同じですが、Unix タイムスタンプとして保存されている時間用です |
floor(time/60)*60 AS "time" |
視覚的表現
Redshift でのほとんどのクエリは、テーブル形式での表示が最も適しています。すべてのクエリではテーブルにデータを表示します。クエリができれば、テーブルに入れることができます。
以下の例は、テーブル形式での視覚的表現に対応した結果を返します。
SELECT {column_1}, {column_2} FROM {table};
時系列とグラフの視覚化
時系列とグラフの視覚化には、以下のようないくつかの要件があります。
-
date
またはdatetime
タイプの列を選択する必要があります。 -
date
列は昇順である必要があります (ORDER BY column ASC
を使用)。 -
数値列を選択する必要があります。
より妥当なグラフを作成するには、必ず $__timeFilter
および $__timeGroup
マクロを使用してください。
時系列クエリの例:
SELECT
avg(execution_time) AS average_execution_time,
$__timeGroup(start_time, 'hour'),
query_type
FROM
account_usage.query_history
WHERE
$__timeFilter(start_time)
group by
query_type,start_time
order by
start_time,query_type ASC;
[フルモード]
Grafana はデフォルトで値を持たないフレームを自動補完します。この値を設定するには、クエリエディタで [フィル値] を変更します。
クエリの検査
Grafana では Redshift がサポートしていないマクロがサポートされるため、Redshift に直接コピーして貼り付けることができる、完全にレンダリングされたクエリはクエリインスペクターに表示されます。補間されたクエリ全体を表示するには、[クエリインスペクター] メニューを選択すると、[クエリ] タブにクエリ全体が表示されます。
テンプレートおよび変数
新しい Redshift クエリ変数を追加する方法の詳細については、「クエリ変数の追加」を参照してください。Redshift データソースを使用可能なクエリのデータソースとして使用します。
Amazon Redshift テーブルからクエリされた値は変数として使用できます。値が多すぎるとパフォーマンスの問題が発生する場合があるため、選択しすぎないようにしてください。
変数を作成したら、 変数構文 を使用して Redshift クエリで使用できます。変数の詳細については、「テンプレートおよび変数」を参照してください。
注釈
注釈 を使用すると、グラフの上にリッチイベント情報をオーバーレイできます。注釈を追加するには、パネルを選択するか、[ダッシュボード] メニューから開く [注釈] ビューを使用して注釈クエリを追加します。
注釈を自動的に追加するクエリの例:
SELECT
time as time,
environment as tags,
humidity as text
FROM
$__table
WHERE
$__timeFilter(time) and humidity > 95
次の表は、注釈のレンダリングを考慮された列の値を示しています。
名前 | 説明 |
---|---|
|
日付または時刻のフィールド名。ネイティブ SQL 日付/時刻データ型またはエポック値を持つ列にすることができます。 |
|
終了日時フィールドのオプション名。ネイティブ SQL 日付/時刻データ型またはエポック値を持つ列にすることができます。 |
|
イベントの説明フィールド。 |
|
カンマ区切り文字列としてイベントタグに使用するオプションのフィールド名。 |