変換関数 - Amazon Managed Grafana

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

変換関数

このドキュメントトピックは、Grafana バージョン 10.x をサポートする Grafana ワークスペース向けに設計されています。

Grafana バージョン 9.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 9 での作業

Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 8 での作業

データに対して次の変換を実行できます。

計算からフィールドを追加する

この変換を使用して、他の 2 つのフィールドから計算された新しいフィールドを追加します。各変換では、1 つの新しいフィールドを追加できます。

  • モード - モードを選択します。

    • 行を減らす – 選択したフィールドの各行に、選択した計算を個別に適用します。

    • バイナリオペレーション - 選択した 2 つのフィールドから 1 行の値に基本的なバイナリオペレーション (合計や乗算など) を適用します。

    • 単一オペレーション – 選択したフィールドの 1 行の値に基本的な単一オペレーションを適用します。使用可能なオペレーションは次のとおりです。

      • 絶対値 (abs) – 特定の式の絶対値を返します。0 からの距離を正の数で表します。

      • 自然指数 (exp)e を特定の式の累乗に上げて返します。

      • 自然対数 (ln) — 特定の式の自然対数を返します。

      • 床 (床) – 特定の式以下の最大の整数を返します。

      • Ceiling (ceil) — 指定された式以上の最小整数を返します。

    • 累積関数 – 現在の行と前のすべての行に関数を適用します。

      • 合計 — 現在の行までの累積合計を計算します。

      • 平均 — 現在の行までの平均を計算します。

    • ウィンドウ関数 — ウィンドウ関数を適用します。ウィンドウは、末尾または中央の のいずれかになります。末尾のウィンドウでは、現在の行がウィンドウの最後の行になります。中央ウィンドウの場合、ウィンドウは現在の行の中央に配置されます。均等なウィンドウサイズの場合、ウィンドウは現在の行と前の行の中央に配置されます。

      • 平均 — 移動平均または実行平均を計算します。

      • – 移動標準偏差を計算します。

      • Variance – 移動分散を計算します。

    • 行インデックス — 行インデックスを含むフィールドを挿入します。

  • フィールド名 – 新しいフィールドの計算に使用するフィールドの名前を選択します。

  • 計算行モードを減らすを選択すると、計算フィールドが表示されます。フィールドを選択すると、新しいフィールドの作成に使用できる計算選択肢のリストが表示されます。使用可能な計算については、「計算タイプ」を参照してください。

  • オペレーションバイナリオペレーションまたは単一オペレーションモードを選択すると、オペレーションフィールドが表示されます。これらのフィールドを使用すると、選択した 2 つのフィールドから 1 行の値に対して基本的な数学演算を実行できます。バイナリオペレーションに数値を使用することもできます。

  • As percentile行インデックスモードを選択すると、As percentile スイッチが表示されます。この切り替えにより、行インデックスを行の合計数に対するパーセンテージで変換できます。

  • エイリアス – (オプション) 新しいフィールドの名前を入力します。これを空白のままにすると、 フィールドには計算に一致する名前が付けられます。

  • すべてのフィールドを置き換える – (オプション) 他のすべてのフィールドを非表示にし、計算フィールドのみを視覚化に表示する場合は、このオプションを選択します。

注記

累積関数ウィンドウ関数はパブリックプレビューで最新です。Grafana Labs ではサポートが制限されており、この機能が一般公開される前に重大な変更が発生する可能性があります。

フィールドを連結する

フィールドを連結する

この変換を使用して、すべてのフレームのすべてのフィールドを 1 つの結果に結合します。

例えば、温度と稼働時間データ (クエリ A) と空気品質のインデックスとエラー情報 (クエリ b) を取得する個別のクエリがある場合、連結変換を適用すると、すべての関連情報を含む統合データフレームが 1 つのビューに表示されます。

次の 2 つを考慮してください。

クエリ A:

Temp 稼働時間

15.4

1230233

クエリ B:

アザフト語 エラー

3.2

5

フィールドを連結すると、データフレームは次のようになります。

Temp 稼働時間 アザフト語 エラー

15.4

1230233

3.2

5

この変換により、さまざまなソースからのデータをマージするプロセスが簡素化され、分析と視覚化の包括的なビューが提供されます。

クエリ結果からの設定

クエリ結果からの設定

この変換を使用して、1 つのクエリを選択し、最小 最大単位しきい値などの標準オプションを抽出し、他のクエリ結果に適用します。これにより、特定のクエリによって返されるデータに基づいて、動的な視覚化設定が可能になります。

オプション

  • Config クエリ – 設定として使用するデータを返すクエリを選択します。

  • 適用先 — 設定を適用するフィールドまたはシリーズを選択します。

  • オプションに適用する – に適用する の選択内容に応じて、フィールドタイプを指定するか、フィールド名の正規表現を使用します。

フィールドマッピングテーブル

設定オプションの下には、フィールドマッピングテーブルがあります。この表には、設定クエリによって返されたデータに含まれるすべてのフィールドと、 としての使用 および 選択 オプションが一覧表示されます。フィールドと設定プロパティのマッピングを制御し、複数の行に対して選択する値を選択できます。

次の例は、入力クエリとフィールド設定として使用されるクエリを示しています。

入力クエリ

時間

1626178119127

10

1626178119129

30

Config クエリ

時間

1626178119127

100

1626178119129

100

出力クエリ (入力と同じですが、現在は値フィールドに 設定があります)

時間 値 (設定: Max=100)

1626178119127

10

1626178119129

30

各フィールドに最大設定オプションが設定されました。最小、最大単位しきい値などのオプションは、teh フィールド設定の一部です。設定されている場合、パネルエディタのオプションペインで手動で設定されたオプションの代わりに、視覚化によって使用されます。

値マッピング

クエリ結果を値マッピングに変換することもできます。このオプションでは、設定クエリ結果のすべての行で 1 つの値マッピング行を定義します。次の例を参照してください。

Config クエリ結果

テキスト

L

青色

M

中程度

green

H

高い

赤色

フィールドマッピングで、以下を指定します。

フィールド として を使用する 選択

値マッピング/値

すべての値

テキスト

値マッピング/テキスト

すべての値

値マッピング/色

すべての値

Grafana はクエリ結果から値マッピングを構築し、実際のデータクエリ結果に適用します。設定クエリの結果に従って、値がマッピングされ、色付けされているはずです。

フィールドタイプの変換

この変換を使用して、指定されたフィールドのフィールドタイプを変更します。

この変換には次のオプションがあります。

  • フィールド – 使用可能なフィールドから選択します。

  • as – FieldType 変換する を選択します。

    • Numeric – は値の数値を作成しようとします。

    • 文字列 – は値の文字列を作成します。

    • Time – は値を時間として解析しようとします。

      • yyyy-mm-dd や などの文字列で を入力 DateFormat として指定するオプションを表示しますDD MM YYYY hh:mm:ss

    • ブール値 – 値はブール値になります。

    • 列挙型 - 値は列挙型になります。

      • 列挙型を管理するテーブルを表示します。

    • その他 — は値を json として解析しようとします。

例えば、時間フィールド を時刻 として、日付形式 として選択して変更できる次のクエリを考えてみましょうYYYY

時間 マーク

2017-07-01

上記の

25

2018-08-02

以下

22

2019-09-02

以下

29

2020-10-04

上記の

22

結果:

時間 マーク

2017-01-01 00:00:00

上記の

25

2018-01-01 00:00:00

以下

22

2019-01-01 00:00:00

以下

29

2020-01-01 00:00:00

上記の

22

この変換により、データ型を柔軟に適応させ、視覚化の互換性と一貫性を確保できます。

フィールドの抽出

この変換を使用して、データソースを選択し、さまざまな形式でそこからコンテンツを抽出します。この変換には次のフィールドがあります。

  • ソース – データソースの フィールドを選択します。

  • 形式 — 次のいずれかを選択します。

    • JSON – ソースから JSON コンテンツを解析します。

    • キーと値のペア — 形式a=bまたはソースc:dからコンテンツを解析します。

    • 自動 – フィールドを自動的に検出します。

  • すべてのフィールドを置き換える – (オプション) このオプションを選択すると、他のすべてのフィールドが非表示になり、視覚化に計算フィールドのみが表示されます。

  • 保持時間 - (オプション) すべてのフィールドの置換が true の場合にのみ使用できます。出力の時間フィールドを保持します。

次のデータセットを検討してください。

データセットの例

タイムスタンプ json_data

1636678740000000000

{"value": 1}

1636678680000000000

{"value": 5}

1636678620000000000

{"value": 12}

この設定で時系列パネルで使用するデータを準備できます。

  • ソース: json_data

  • 形式: JSON

    • フィールド: 値

    • エイリアス: my_value

  • すべてのフィールドを置き換える: true

  • 保持時間: true

これにより、次の出力が生成されます。

変換されたデータ

タイムスタンプ my_value

1636678740000000000

1

1636678680000000000

5

1636678620000000000

12

この変換により、さまざまな方法でデータを抽出してフォーマットできます。特定のデータニーズに基づいて抽出形式をカスタマイズできます。

リソースからフィールドを検索する

この変換を使用して、外部ソースから追加のフィールドを検索してフィールド値を充実させます。

この変換には次のフィールドがあります。

  • フィールド – データセットからテキストフィールドを選択します。

  • 検索米国 、および空港 から選択します。

注記

この変換は空間データのみをサポートします。

例えば、このデータがある場合:

データセットの例

ロケーション [値]

AL

0

AK

10

アリゾナ

5

アーカンソー州

1

どこか

5

この設定では、次のようになります。

  • フィールド: location

  • ルックアップ: 米国

次の出力が表示されます。

変換されたデータ

ロケーション ID 名前 Lng 遅延 [値]
AL AL Alabama -80.891064 12.448457 0
AK AK アーカンソー州 -100.891064 24.448457 10
アリゾナ 5
アーカンソー州 1
どこか 5

この変換により、外部ソースから追加情報を取得してデータを強化し、分析と視覚化のためのより包括的なデータセットを提供できます。

クエリ refId でデータをフィルタリングする

この変換を使用して、複数のクエリがあるパネルで 1 つ以上のクエリを非表示にします。

Grafana は、クエリ識別文字をダークグレーテキストで表示します。フィルタリングを切り替えるクエリ識別子を選択します。クエリ文字が白の場合、結果が表示されます。クエリ文字が暗い場合、結果は非表示になります。

注記

このデータソースは返されたデータとクエリの関連付けをサポートしていないため、この変換は Graphite では使用できません。

値でデータをフィルタリングする

この変換を使用して、視覚化内でデータポイントを直接選択的にフィルタリングします。この変換では、選択したフィールドに適用された 1 つ以上の条件に基づいてデータを含めたり除外したりするためのオプションが提供されます。

この変換は、データソースが値でネイティブにフィルタリングしない場合に非常に役立ちます。共有クエリを使用している場合は、これを使用して値を絞り込んで表示することもできます。

すべてのフィールドで使用できる条件は次のとおりです。

  • 正規表現 - 正規表現式を一致させます。

  • Is Null – 値が null の場合に一致。

  • Is Not Null – 値が null でない場合は一致します。

  • Equal – 値が指定された値と等しい場合に一致します。

  • Different – 値が指定された値と異なる場合に一致します。

数値フィールドで使用できるその他の条件は次のとおりです。

  • Greater – 値が指定された値より大きい場合に一致します。

  • 下限 — 値が指定された値よりも小さい場合は一致します。

  • Greater or equal – 値がより大きいか等しい場合は一致します。

  • lower or equal – 値が lower または equal の場合に一致。

  • 範囲 – 指定された最小値と最大値、最小値と最大値の間の範囲を一致させます。

次のデータセットについて考えてみましょう。

時間 温度 高度
2020-07-07 11:34:23 32 101
2020-07-07 11:34:22 28 125
2020-07-07 11:34:21 26 110
2020-07-07 11:34:20 23 98
2020-07-07 10:32:24 31 95
2020-07-07 10:31:22 20 85
2020-07-07 09:30:57 19 101

温度が 30°C 未満のデータポイントを含めると、設定は次のようになります。

  • フィルタータイプ: 'Include'

  • 条件:「温度」が「より低い」「30」と一致する行

また、30°C 未満の温度のみが含まれる次の結果が得られます。

変換されたデータ

時間 温度 高度
2020-07-07 11:34:22 28 125
2020-07-07 11:34:21 26 110
2020-07-07 11:34:20 23 98
2020-07-07 10:31:22 20 85
2020-07-07 09:30:57 19 101

フィルターには複数の条件を追加できます。例えば、高度が 100 より大きい場合にのみデータを含めることができます。そのためには、次の設定にその条件を追加します。

  • フィルタータイプ:「すべて一致」条件を持つ「含める」行

  • 条件 1: 「温度」が「30」より「低い」と一致する行

  • 条件 2: 「高度」が「100 より大きい」と一致する行

複数の条件がある場合、すべての条件に一致する行にアクション (包含/除外) を適用するか、追加した条件のいずれかに一致する行に適用するかを選択できます。

上記の例では、温度が 30°C 未満で高度が 100 を超える行を含めるためすべて一致 を選択しました。温度が 30°C 未満または高度が 100 を超える行を含める場合は、任意の を一致を選択します。これには、元のデータの最初の行が含まれます。元のデータの温度は 32°C (最初の条件には一致しません) ですが、高度は 101 (2 番目の条件に一致) であるため含まれます。

無効または不完全な条件は無視されます。

この汎用的なデータフィルタリング変換により、特定の条件に基づいてデータポイントを選択的に含めたり除外したりできます。独自の分析ニーズに合わせてデータプレゼンテーションをカスタマイズする基準をカスタマイズします。

名前でフィールドをフィルタリングする

この変換を使用して、クエリ結果の一部を削除します。フィールド名をフィルタリングするには、次の 3 つの方法があります。

  • 正規表現を入力します。

  • 含まれているフィールドを手動で選択します。

  • ダッシュボード変数を使用します。

正規表現を使用する

正規表現を使用してフィルタリングすると、正規表現に一致するフィールド名が含まれます。例えば、正規表現を使用すると、 で始まるフィールドのみが返され'prod.*'ます。 prod

正規表現には、 ${variableName}構文を使用して補間されたダッシュボード変数を含めることができます。

含まれているフィールドを手動で選択する

フィールド名を選択または選択解除して、結果から削除します。正規表現も含まれている場合、チェックされていない場合でも、式に一致するフィールドが含まれます。

ダッシュボード変数を使用する

変数から を選択すると、フィールドを含めるために使用されるダッシュボード変数を選択できます。複数の選択肢を持つダッシュボード変数を設定することで、同じフィールドを複数の視覚化で表示できます。

この変換により、効果的な分析と視覚化に必要な特定のフィールドに焦点を当てるようにクエリ結果を柔軟に調整できます。

文字列のフォーマット

この変換を使用して、文字列フィールドの出力をカスタマイズします。この変換には次のフィールドがあります。

  • 大文字 – 文字列全体を大文字でフォーマットします。

  • 小文字 – 文字列全体を小文字でフォーマットします。

  • センテンスケース – 文字列の最初の文字を大文字でフォーマットします。

  • タイトルの大文字と小文字 — 文字列内の各単語の最初の文字を大文字でフォーマットします。

  • パスカルケース – 文字列内の各単語の最初の文字を大文字でフォーマットし、単語間のスペースは含まれません。

  • キャメルケース – 最初の単語を除く文字列内の各単語の最初の文字を大文字でフォーマットし、単語間のスペースは含まれません。

  • スネークケース – 文字列内のすべての文字を小文字でフォーマットし、単語間のスペースの代わりにアンダースコアを使用します。

  • Kebab ケース – 文字列内のすべての文字を小文字でフォーマットし、単語間のスペースの代わりにダッシュを使用します。

  • Trim – 文字列から先頭と末尾のすべてのスペースを削除します。

  • Substring – 指定された開始位置と終了位置を使用して、文字列の部分文字列を返します。

この変換により、文字列データの表示を標準化および調整して、視覚化と分析を改善するのに便利です。

注記

この変換は現在パブリックプレビュー中です。Grafana Labs ではサポートが制限されており、この機能が一般公開される前に重大な変更が発生する可能性があります。

フォーマット時間

この変換を使用して、時間フィールドの出力をカスタマイズします。出力は、Moment.js 形式の文字列 を使用してフォーマットできます。例えば、時間フィールドの年のみを表示する場合は、形式文字列「YYYY」を使用して暦年 (1999 年や 2012 年など) を表示できます。

変換前:

タイムスタンプ イベント
1636678740000000000 システム開始
1636678680000000000 ユーザーログイン
1636678620000000000 データの更新

'YYYY-MM-DD HH:mm:ss' を適用した後:

タイムスタンプ イベント
2021-11-12 14:25:40 システム開始
2021-11-12 14:24:40 ユーザーログイン
2021-11-12 14:23:40 更新されたデータ

この変換により、ビジュアライゼーションの時間表現を調整し、時間データを表示する柔軟性と精度を実現できます。

注記

この変換は、アルファ機能として Grafana v10 と互換性があるワークスペースで使用できます。

グループ化

この変換は、指定されたフィールド (列) 値でデータをグループ化し、各グループの計算を処理します。選択すると、計算の選択肢のリストが表示されます。

オリジナルデータの例を次に示します。

時間 Server ID CPU 温度 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

サーバー 1

80

シャットダウン

7/7/2020 午前 11 時 34 分 20 秒

サーバー 3

62

OK

7/7/2020 午前 10 時 32 分 20 秒

サーバー 2

90

オーバーロード

7/7/2020 午前 10 時 31 分 22 秒

サーバー 3

55

OK

7/7/2020 午前 9 時 30 分 57 秒

サーバー 3

62

再起動

7/7/2020 午前 9 時 30 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 9 時 28 分 6 秒

サーバー 1

80

OK

7/7/2020 午前 9 時 25 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 9 時 23 分 7 秒

サーバー 1

86

OK

この変換は 2 つのステップで行われます。まず、データをグループ化するフィールドを 1 つ以上指定します。これにより、ソートした場合と同じフィールドの値がすべてグループ化されます。例えば、サーバー ID フィールドでグループ化すると、データは次のようにグループ化されます。

時間 Server ID CPU 温度 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

サーバー 1

80

シャットダウン

7/7/2020 午前 9 時 28 分 6 秒

サーバー 1

80

OK

7/7/2020 午前 9 時 23 分 7 秒

サーバー 1

86

OK

7/7/2020 午前 10 時 32 分 20 秒

サーバー 2

90

オーバーロード

7/7/2020 午前 9 時 30 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 9 時 25 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 11 時 34 分 20 秒

サーバー 3

62

OK

7/7/2020 午前 10 時 31 分 22 秒

サーバー 3

55

OK

7/7/2020 午前 9 時 30 分 57 秒

サーバー 3

62

再起動

サーバー ID の値が同じすべての行がグループ化されます。

データをグループ化するフィールドを選択したら、他のフィールドにさまざまな計算を追加し、その計算を行の各グループに適用できます。例えば、これらの各サーバーの平均 CPU 温度を計算できます。そのため、CPU 温度フィールドに適用された平均計算を追加して、以下を取得できます。

Server ID CPU 温度 (平均)

サーバー 1

82

サーバー 2

88.6

サーバー 3

59.6

また、複数の計算を追加できます。例:

  • Time フィールドでは、Last 値を計算して、サーバーごとに最後のデータポイントがいつ受信されたかを確認できます。

  • Server Status フィールドでは、Last 値を計算して、各サーバーの最終状態値を確認できます。

  • フィールド温度については、最終値を計算して、各サーバーでモニタリングされる最新の温度を確認することもできます。

その後、以下を取得します。

Server ID CPU 温度 (平均) CPU 温度 (最新) 時間 (最終) サーバーステータス (最新)

サーバー 1

82

80

7/7/2020 午前 11 時 34 分 20 秒

シャットダウン

サーバー 2

88.6

90

7/7/2020 午前 10 時 32 分 20 秒

オーバーロード

サーバー 3

59.6

62

7/7/2020 午前 11 時 34 分 20 秒

OK

この変換により、時系列からキー情報を抽出し、便利な方法で表示できます。

マトリックスへのグループ化

この変換を使用して、クエリ出力の列 、行 セル値フィールドの入力として使用される 3 つのフィールドを結合し、行列を生成します。 行列は次のように計算されます。

元のデータ

Server ID CPU 温度 サーバーステータス
サーバー 1 82 OK
サーバー 2 88.6 OK
サーバー 3 59.6 シャットダウン

の値を列名Server Statusとして使用し、 のServer ID値を行名として使用し、 を各セルの内容CPU Temperatureとして使用して、行列を生成できます。各セルの内容は、既存の列 (Server Status) と行の組み合わせ () に表示されますServer ID。残りのセルでは、Null 、True 、False 、または空の の間で表示する値を選択できます。

出力

サーバー IDServer ステータス OK シャットダウン
サーバー 1 82
サーバー 2 88.6
サーバー 3 59.6

この変換を使用して、クエリ結果からフィールドを指定して行列を作成します。行列出力には、これらのフィールドの一意の値間の関係が反映されます。これにより、複雑な関係を明確で構造化されたマトリックス形式で提示できます。

ネストされたテーブルにグループ化する

この変換を使用して、指定したフィールド (列) 値でデータをグループ化し、各グループの計算を処理します。同じグループ化されたフィールド値を共有するレコードが生成され、ネストされたテーブルに表示されます。

フィールドの統計を計算するには、フィールドの横にあるボックスを選択し、計算オプションを選択します。これにより、統計を選択する別の選択ボックスが追加されます。

次の表は、サンプルデータを示しています。

時間 Server ID CPU 温度 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

サーバー 1

80

シャットダウン

7/7/2020 午前 11 時 34 分 20 秒

サーバー 3

62

OK

7/7/2020 午前 10 時 32 分 20 秒

サーバー 2

90

オーバーロード

7/7/2020 午前 10 時 31 分 22 秒

サーバー 3

55

OK

7/7/2020 午前 9 時 30 分 57 秒

サーバー 3

62

再起動

7/7/2020 午前 9 時 30 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 9 時 28 分 6 秒

サーバー 1

80

OK

7/7/2020 午前 9 時 25 分 5 秒

サーバー 2

88

OK

7/7/2020 午前 9 時 23 分 7 秒

サーバー 1

86

OK

この変換には 2 つのステップがあります。まず、データをグループ化するフィールドを 1 つ以上指定します。これにより、これらのフィールドのすべての同じ値がグループ化されます。例えば、Server IDフィールドでグループ化すると、Grafana は次のようにデータをグループ化します。

Server ID [データ]

サーバー 1

時間 CPU 温度 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

80

シャットダウン

7/7/2020 午前 9 時 28 分 6 秒

80

OK

7/7/2020 午前 9 時 23 分 7 秒

86

OK

サーバー 2

時間 CPU 温度 サーバーステータス

7/7/2020 午前 10 時 32 分 20 秒

90

オーバーロード

7/7/2020 午前 9 時 30 分 5 秒

88

OK

7/7/2020 午前 9 時 25 分 5 秒

88

OK

サーバー 3

時間 CPU 温度 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

62

OK

7/7/2020 午前 10 時 31 分 22 秒

55

OK

7/7/2020 午前 9 時 30 分 57 秒

62

再起動

データをグループ化するフィールドを選択したら、他のフィールドにさまざまな計算を追加し、その計算を行の各グループに適用できます。例えば、これらの各サーバーの平均 CPU 温度を計算できます。これを行うには、CPU 温度 フィールドに適用された平均計算を追加して、次の結果を取得します。

Server ID CPU Temperatute (平均)

サーバー 1

82

時間 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

シャットダウン

7/7/2020 午前 9 時 28 分 6 秒

OK

7/7/2020 午前 9 時 23 分 7 秒

OK

サーバー 2

88.6

時間 サーバーステータス

7/7/2020 午前 10 時 32 分 20 秒

オーバーロード

7/7/2020 午前 9 時 30 分 5 秒

OK

7/7/2020 午前 9 時 25 分 5 秒

OK

サーバー 3

59.6

時間 サーバーステータス

7/7/2020 午前 11 時 34 分 20 秒

OK

7/7/2020 午前 10 時 31 分 22 秒

OK

7/7/2020 午前 9 時 30 分 57 秒

再起動

ヒートマップの作成

この変換を使用して、時間の経過に伴う傾向を視覚化するためのヒストグラムデータを準備します。ヒートマップの視覚化と同様に、この変換はヒストグラムメトリクスを時間バケットに変換します。

X バケット

この設定は、X 軸をバケットに分割する方法を決定します。

  • サイズ – 入力フィールドに時間間隔を指定します。例えば、 の時間範囲は、X 軸に 1 時間幅のセル1hを作成します。

  • Count – non-time-related シリーズの場合、このオプションを使用してバケット内の要素の数を定義します。

Y バケット

この設定は、Y 軸をバケットに分割する方法を決定します。

  • [Linear] (線形)

  • 対数 – ログベース 2 またはログベース 10 のいずれかを選択します。

  • Symlog – 対称対数スケールを使用します。負の値を許可して、ログベース 2 またはログベース 10 から選択します。

次のデータセットがあるとします。

タイムスタンプ
2023-01-01 12:00:00 5
2023-01-01 12:15:00 10
2023-01-01 12:30:00 15
2023-01-01 12:45:00 8
  • X バケットを に設定Size: 15mし、Y バケットを に設定するとLinear、ヒストグラムは X 軸で 15 分の時間間隔に、Y 軸で直線的に値を整理します。

  • X Bucket を Logarithmic (base 10)、Y Bucket Count: 2 を として、ヒストグラムは X 軸の 2 つのバケットに値をグループ化し、Y 軸の対数スケールを使用します。

Histogram

この変換を使用して、入力データに基づいてヒストグラムを生成し、値の分布を視覚化できます。

  • バケットサイズ – バケット内の最小項目と最大項目の範囲 (xMin から xMax )。

  • バケットオフセット — non-zero-based バケットのオフセット。

  • シリーズを組み合わせる – 使用可能なすべてのシリーズを使用して、統合されたヒストグラムを作成します。

元のデータ

シリーズ 1:

A B C
1 3 5
2 4 6
3 5 7
4 6 8
5 7 9

シリーズ 2:

C
5
6
7
8
9

出力

xMin xMax A B C C
1 2 1 0 0 0
2 3 1 0 0 0
3 4 1 1 0 0
4 5 1 1 0 0
5 6 1 1 1 1
6 7 0 1 1 1
7 8 0 1 1 1
8 9 0 0 1 1
9 10 0 0 1 1

生成されたヒストグラムを使用して値の分布を視覚化し、データのスプレッドと密度に関するインサイトを提供します。

フィールドで結合

この変換を使用して、複数の結果を 1 つのテーブルにマージし、異なるクエリからのデータを統合できます。

は、複数の時系列の結果を共有時間フィールドを持つ 1 つのワイドテーブルに変換する場合に特に便利です。

内部結合

内部結合は、選択したフィールドのすべてのテーブルが同じ値を共有する複数のテーブルのデータをマージします。このタイプの結合は、すべての結果で値が一致しないデータを除外します。

この変換を使用して、複数のクエリの結果 (渡された結合フィールドまたは最初の列の組み合わせ) を 1 つの結果にまとめ、成功した結合を実行できない行を削除します。

次の例では、2 つのクエリがテーブルデータを返します。内部結合変換を適用する前に、2 つの個別のテーブルとして視覚化されます。

クエリ A:

時間 ジョブ 稼働時間

7/7/2020 午前 11 時 34 分 20 秒

node

25260122

7/7/2020 午前 11 時 24 分 20 秒

postgre

123001233

7/7/2020 午前 11 時 14 分 20 秒

postgre

345001233

クエリ B:

時間 [サーバー] エラー

7/7/2020 午前 11 時 34 分 20 秒

サーバー 1

15

7/7/2020 午前 11 時 24 分 20 秒

サーバー 2

5

7/7/2020 午前 11 時 4 分 20 秒

サーバー 3

10

内部結合変換を適用した後の結果は次のようになります。

時間 ジョブ 稼働時間 [サーバー] エラー

7/7/2020 午前 11 時 34 分 20 秒

node

25260122

サーバー 1

15

7/7/2020 午前 11 時 24 分 20 秒

postgre

123001233

サーバー 2

5

外部結合

外部結合には、すべての入力で値が一致しない内部結合と行のすべてのデータが含まれます。内部結合は時間フィールドでクエリ A とクエリ B を結合しますが、外部結合には時間フィールドで一致しないすべての行が含まれます。

次の例では、2 つのクエリがテーブルデータを返します。外部結合変換を適用する前に、2 つのテーブルとして視覚化されます。

クエリ A:

時間 ジョブ 稼働時間

7/7/2020 午前 11 時 34 分 20 秒

node

25260122

7/7/2020 午前 11 時 24 分 20 秒

postgre

123001233

7/7/2020 午前 11 時 14 分 20 秒

postgre

345001233

クエリ B:

時間 [サーバー] エラー

7/7/2020 午前 11 時 34 分 20 秒

サーバー 1

15

7/7/2020 午前 11 時 24 分 20 秒

サーバー 2

5

7/7/2020 午前 11 時 4 分 20 秒

サーバー 3

10

外部結合変換を適用した後の結果は次のようになります。

時間 ジョブ 稼働時間 [サーバー] エラー

7/7/2020 午前 11 時 4 分 20 秒

サーバー 3

10

7/7/2020 午前 11 時 14 分 20 秒

postgre

345001233

7/7/2020 午前 11 時 34 分 20 秒

node

25260122

サーバー 1

15

7/7/2020 午前 11 時 24 分 20 秒

postgre

123001233

サーバー 2

5

ラベルによる結合

この変換を使用して、複数の結果を 1 つのテーブルに結合します。

これは、複数の時系列の結果を共有ラベルフィールドを持つ単一のワイドテーブルに変換する場合に特に便利です。

  • Join – すべての時系列で使用可能なラベルまたは共通のラベル間で結合するラベルを選択します。

  • – 出力結果の名前。

入力 1: series1{what='Temp', cluster='A', job='J1'}

時間
1 10
2 200

入力 2: series2{what='Temp', cluster='B', job='J1'}

時間
1 10
2 200

入力 3: series3{what='Speed', cluster='B', job='J1'}

時間
22 22
28 77

設定:

value: 'what'

出力:

クラスター ジョブ Temp [Speed] (スピード)
A J1 10
A J1 200
B J1 10 22
B J1 200 77

時系列データをこの変換と効果的に組み合わせて整理し、包括的なインサイトを得ることができます。

フィールドへのラベル付け

この変換を使用して、ラベルまたはタグを含む時系列の結果を、結果の各ラベルのキーと値を含むテーブルに変換します。ラベルを列または行値として表示して、データの視覚化を強化します。

2 つの時系列のクエリ結果を示します。

  • シリーズ 1 – ラベル Server=Server ADatacenter=EU

  • シリーズ 2 – ラベル Server=Server BDatacenter=EU

モードでは、結果は次のようになります。

時間 [サーバー] Datacenter

7/7/2020 午前 11 時 34 分 20 秒

サーバー A

EU

1

7/7/2020 午前 11 時 34 分 20 秒

サーバー B

EU

2

「行」モードでは、結果にはシリーズごとにテーブルがあり、次のような各ラベル値が表示されます。

ラベル value

[サーバー]

サーバー A

Datacenter

EU

ラベル value

[サーバー]

サーバー B

Datacenter

EU

値フィールド名

Server を値フィールド名 として選択した場合、Server ラベルの値ごとに 1 つのフィールドを取得します。

時間 Datacenter サーバー A サーバー B

7/7/2020 午前 11 時 34 分 20 秒

EU

1

2

マージ動作

フィールドトランスフォーマーへのラベルは、内部的に 2 つの別々の変換です。最初の は 1 つのシリーズで動作し、フィールドにラベルを抽出します。2 つ目は、すべての結果を 1 つのテーブルに結合するマージ変換です。マージ変換は、一致するすべてのフィールドで結合を試みます。このマージステップは必須であり、無効にすることはできません。

これを説明するために、ラベルが重複していない時系列を返すクエリが 2 つある例を次に示します。

  • シリーズ 1 – ラベル Server=ServerA

  • シリーズ 2 – ラベル Datacenter=EU

これにより、最初に次の 2 つのテーブルが作成されます。

時間 [サーバー]

7/7/2020 午前 11 時 34 分 20 秒

ServerA

10

時間 Datacenter

7/7/2020 午前 11 時 34 分 20 秒

EU

20

マージ後:

時間 [サーバー] Datacenter

7/7/2020 午前 11 時 34 分 20 秒

ServerA

10

7/7/2020 午前 11 時 34 分 20 秒

20

EU

制限

この変換を使用して、表示される行数を制限し、データのより焦点を絞ったビューを提供します。これは、大規模なデータセットを扱う場合に特に便利です。

以下は、制限変換がデータソースからのレスポンスに与える影響を示す例です。

時間 メトリクス

7/7/2020 午前 11 時 34 分 20 秒

温度

25

7/7/2020 午前 11 時 34 分 20 秒

湿度

22

7/7/2020 午前 10 時 32 分 20 秒

湿度

29

7/7/2020 午前 10 時 31 分 22 秒

温度

22

7/7/2020 午前 9 時 30 分 57 秒

湿度

33

7/7/2020 午前 9 時 30 分 5 秒

温度

19

以下は、「3」の値を持つ制限変換を追加した後の結果です。

時間 メトリクス

7/7/2020 午前 11 時 34 分 20 秒

温度

25

7/7/2020 午前 11 時 34 分 20 秒

湿度

22

7/7/2020 午前 10 時 32 分 20 秒

湿度

29

この変換は、最も関連性の高いデータに焦点を当てるようにデータの視覚的な表示を調整するのに役立ちます。

シリーズ/テーブルをマージする

この変換を使用して、複数のクエリの結果を 1 つの結果にまとめます。これは、テーブルパネルの視覚化を使用するときに特に便利です。共有フィールドに同じデータが含まれている場合、変換は値を同じ行にマージします。

以下は、Merge series/tables 変換がテーブルデータを返す 2 つのクエリに与える影響を示す例です。

クエリ A:

時間 ジョブ 稼働時間

7/7/2020 午前 11 時 34 分 20 秒

node

25260122

7/7/2020 午前 11 時 24 分 20 秒

postgre

123001233

クエリ B:

時間 ジョブ エラー

7/7/2020 午前 11 時 34 分 20 秒

node

15

7/7/2020 午前 11 時 24 分 20 秒

postgre

5

マージ変換を適用した後の結果は次のとおりです。

時間 ジョブ エラー 稼働時間

7/7/2020 午前 11 時 34 分 20 秒

node

15

25260122

7/7/2020 午前 11 時 24 分 20 秒

postgre

5

123001233

この変換は、クエリ A とクエリ B の値を統合テーブルに結合し、インサイトを向上させるためにプレゼンテーションを強化します。

名前でフィールドを整理する

この変換を使用して、パネル内の 1 つのクエリによって返されるフィールドの名前を変更、並べ替え、または非表示にします。この変換は、1 つのクエリを持つパネルでのみ機能します。パネルに複数のクエリがある場合は、外部結合変換を適用するか、追加のクエリを削除する必要があります。

フィールドの変換

Grafana は、クエリによって返されたフィールドのリストを表示します。次のようにできます。

  • フィールドの順序の変更 — リスト内の新しい場所にフィールドをドラッグします。

  • フィールドを非表示または表示 – フィールド名の横にある目のアイコンを使用して、フィールドの表示を切り替えます。

  • フィールドの名前変更名前変更ボックスに新しい名前を入力します。

この最初のクエリ結果があるとします。

時間 メトリクス
2020-07-07 11:34:20 温度 25
2020-07-07 11:34:20 湿度 22
2020-07-07 10:32:20 湿度 29

名前変更フィールドのオーバーライドを適用して、以下を作成できます。

時間 センサー 読み取り
2020-07-07 11:34:20 温度 25
2020-07-07 11:34:20 湿度 22
2020-07-07 10:32:20 湿度 29

この変換により、クエリ結果の表示を調整できるため、Grafana でデータを明確かつインサイトのある形で表現できます。

値によるパーティション

この変換を使用して、異なるWHERE句を持つ複数のクエリを必要とせずに、複数のシリーズをグラフ化するプロセスを合理化します。

注記

この関数は、Grafana バージョン 9 以降と互換性のあるワークスペースで使用できます。

これは、次の例のように、メトリクス SQL テーブルを使用する場合に特に便利です。

時間 リージョン

10/20/2022 午後 12 時 00 分

米国

1520

10/20/2022 午後 12 時 00 分

EU

2936

10/20/2022 午前 1 時 00 分 00 秒

米国

1327

10/20/2022 午前 1 時 00 分 00 秒

EU

912

Partition by values transformer を使用すると、単一のクエリを発行し、選択した 1 つ以上の列 (フィールド) の一意の値で結果を分割できます。次の例では Region を使用しています。

SELECT Time, Region, Value FROM metrics WHERE Time > '2022-10-20'
時間 リージョン

10/20/2022 午後 12 時 00 分

米国

1520

10/20/2022 午前 1 時 00 分 00 秒

米国

1327

時間 リージョン

10/20/2022 午後 12 時 00 分

EU

2936

10/20/2022 午前 1 時 00 分 00 秒

EU

912

この変換により、プロセスが簡素化され、同じ時系列視覚化内で複数のシリーズを視覚化する柔軟性が向上します。

時系列を準備する

この変換を使用して、データソースが目的の視覚化と互換性のない形式で時系列データを返す場合の問題に対処します。この変換により、時系列データを幅広形式と長い形式の間で変換できます。

マルチフレーム時系列

このオプションを使用して、時系列データフレームをワイド形式からロング形式に変換します。これは、視覚化との最適な互換性のために再形成する必要がある形式で、データソースが時系列情報を配信する場合に特に役立ちます。

この入力:

タイムスタンプ Value1 Value2

2023-01-01 00:00:00

10

20

2023-01-01 01:00:00

15

25

次のように変換できます。

タイムスタンプ 変数

2023-01-01 00:00:00

Value1

10

2023-01-01 00:00:00

Value2

20

2023-01-01 01:00:00

Value1

15

2023-01-01 01:00:00

Value2

25

幅広い時系列

このオプションを使用して、時系列データフレームを長い形式から広い形式に変換します。これは、データソースが時系列データを長い形式で配信し、視覚化に広い形式が必要な場合に特に役立ちます。

この入力:

タイムスタンプ 変数

2023-01-01 00:00:00

Value1

10

2023-01-01 00:00:00

Value2

20

2023-01-01 01:00:00

Value1

15

2023-01-01 01:00:00

Value2

25

次のように変換できます。

タイムスタンプ Value1 Value2

2023-01-01 00:00:00

10

20

2023-01-01 01:00:00

15

25

削減

この変換を使用すると、データフレームの各フィールドに計算が適用され、単一の値が返されます。この変換は、複数の時系列データをよりコンパクトで要約された形式に統合するのに特に役立ちます。この変換を適用すると、時間フィールドは削除されます。

入力について考えてみましょう。

クエリ A:

時間 Temp 稼働時間

2020-07-07 11:34:20

12.3

256122

2020-07-07 11:24:20

15.4

1230233

クエリ B:

時間 アザフト語 エラー

2020-07-07 11:34:20

6.5

15

2020-07-07 11:24:20

3.2

5

リデューストランスフォーマーには 2 つのモードがあります。

  • シリーズから行 – 各フィールドの行と各計算の列を作成します。

  • フィールドを減らす – 既存のフレーム構造を維持しますが、各フィールドを 1 つの値に折りたたみます。

例えば、シリーズで最初最後の計算を使用して変換を行った場合、結果は次のようになります。

フィールド 最初 最後

Temp

12.3

15.4

稼働時間

256122

1230233

アザフト語

6.5

3.2

エラー

15

5

最後の計算で Reduce フィールドは、それぞれ 1 行の 2 つのフレームになります。

クエリ A:

Temp 稼働時間

15.4

1230233

クエリ B:

アザフト語 エラー

3.2

5

正規表現で名前を変更する

この変換を使用して、正規表現と置換パターンを使用してクエリ結果の一部の名前を変更します。

正規表現を指定できます。正規表現は、バックリファレンスをサポートする置換パターンとともに、一致にのみ適用されます。例えば、ホストあたりの CPU 使用率を視覚化し、ドメイン名を削除するとします。正規表現を に設定([^\.]+)\..+でき、置換パターンを web-01.example.comに設定した場合$1、 になりますweb-01

この変換により、視覚化のニーズに合わせてデータをカスタマイズできるため、ダッシュボードはより有益でユーザーフレンドリになります。

行からフィールドへ

この変換を使用して、行を別々のフィールドに変換します。これは、フィールドを個別にスタイル付けして設定できるため、便利です。また、動的フィールド設定のソースとして追加のフィールドを使用したり、フィールドラベルにマッピングしたりすることもできます。その後、追加のラベルを使用して、結果のフィールドにより良い表示名を定義できます。

この変換には、設定クエリによって返されるデータ内のすべてのフィールドを一覧表示するフィールドテーブルが含まれます。この表では、各設定プロパティにマッピングするフィールドを制御できます (Use as オプション)。返されたデータに複数の行があるかどうかを選択する値を選択することもできます。

この変換には以下が必要です。

  • フィールド名のソースとして使用する 1 つのフィールド。

    デフォルトでは、変換は最初の文字列フィールドをソースとして使用します。代わりに使用するフィールドの「Use as 列」で「Field name」を選択すると、このデフォルト設定を上書きできます。

  • 値のソースとして使用する 1 つのフィールド。

    デフォルトでは、変換は最初の数値フィールドをソースとして使用します。ただし、代わりに使用するフィールドの「Use as 列」で「Field value」を選択して、このデフォルト設定を上書きできます。

データを視覚化する場合に便利です。

  • Gauge

  • Stat

  • 円グラフ

追加のフィールドをラベルにマッピングする

フィールドが設定プロパティにマッピングされない場合、Grafana は自動的に出力フィールドのラベルのソースとして使用します。

例:

名前 DataCenter

ServerA

米国

100

ServerB

EU

200

出力:

ServerA (ラベル: DataCenter: 米国) ServerB (ラベル: DataCenter: EU)

100

200

フィールド表示名に追加のラベルを使用して、より完全なフィールド名を提供できるようになりました。

あるクエリから設定を抽出して別のクエリに適用する場合は、クエリ結果変換から設定を使用する必要があります。

Input:

名前 最大

ServerA

10

100

ServerB

20

200

ServerC

30

300

出力:

ServerA (設定: max=100) ServerB (設定: 最大 = 200) ServerC (設定: 最大 = 300)

10

20

30

ソースデータ内の各行が個別のフィールドになるのがわかります。各フィールドには、最大設定オプションも設定されるようになりました。最小、最大単位しきい値などのオプションはすべてフィールド設定の一部であり、このような設定を行うと、パネルエディタのオプションペインで手動で設定されたオプションではなく、視覚化によって使用されます。

この変換により、行を個々のフィールドに変換し、動的なフィールド設定を容易にし、追加のフィールドをラベルにマッピングできます。

シリーズから行へ

この変換を使用して、複数の時系列データクエリの結果を 1 つの結果にまとめます。これは、テーブルパネルの視覚化を使用する場合に役立ちます。

この変換の結果には、時間、メトリクス、値の 3 つの列が含まれます。メトリクス列が追加され、メトリクスのソースとなるクエリを簡単に確認できます。ソースクエリでラベルを定義して、この値をカスタマイズします。

以下の例では、時系列データを返すクエリが 2 つあります。変換を適用する前に、2 つの個別のテーブルとして視覚化されます。

クエリ A:

時間 温度

2020-07-07 11:34:20

25

2020-07-07 10:31:22

22

2020-07-07 09:30:05

19

クエリ B:

時間 湿度

2020-07-07 11:34:20

24

2020-07-07 10:32:20

29

2020-07-07 09:30:57

33

シリーズを行変換に適用した後の結果は次のとおりです。

時間 メトリクス

2020-07-07 11:34:20

温度

25

2020-07-07 11:34:20

湿度

22

2020-07-07 10:32:20

湿度

29

2020-07-07 10:31:22

温度

22

2020-07-07 09:30:57

湿度

33

2020-07-07 09:30:05

温度

19

この変換により、複数の時系列クエリの結果の統合が容易になり、合理化され統合されたデータセットが提供され、効率的な分析と視覚化が表形式で実現されます。

並べ替え

この変換を使用して、指定したフィールドに基づいてクエリ結果内の各フレームをソートし、データの理解と分析を容易にします。ソートするフィールドを設定することで、テーブルまたは視覚化にデータが表示される順序を制御できます。

リバーススイッチを使用して、指定されたフィールド内の値を逆に順序付けします。この機能は、分析ニーズに合わせて昇順と降順をすばやく切り替える場合に特に便利です。

例えば、時系列データがデータソースから取得されるシナリオでは、変換によるソートを適用して、分析要件に応じて、タイムスタンプに基づいてデータフレームを昇順または降順で配置できます。この機能により、時系列データを簡単にナビゲートして解釈し、整理された視覚的に一貫性のあるプレゼンテーションから貴重なインサイトを得ることができます。

空間

この変換を使用して、空間オペレーションをクエリ結果に適用します。

  • アクション – アクションを選択します。

    • 空間フィールドの準備 – 他のフィールドの結果に基づいてジオメトリフィールドを設定します。

      • 位置モード – 位置モードを選択します (これらのオプションは、計算値モードと変換モードによって共有されます)。

        • 自動 – デフォルトのフィールド名に基づいて位置データを自動的に識別します。

        • 座標 - 緯度フィールドと経度フィールドを指定します。

        • Geohash – geohash フィールドを指定します。

        • ルックアップ — Gazetteer の場所フィールドを指定します。

    • 値の計算 — ジオメトリを使用して新しいフィールド (見出し/距離/エリア) を定義します。

      • 関数 – ジオメトリに適用する数学演算を選択します。

        • 見出し — 2 つのポイント間の見出し (方向) を計算します。

        • エリア – ジオメトリで定義されたポリゴンで囲まれたエリアを計算します。

        • 距離 — 2 つのポイント間の距離を計算します。

    • 変換 — 空間オペレーションをジオメトリに適用します。

      • オペレーション – ジオメトリに適用するオペレーションを選択します。

        • 行として - 各行に頂点を持つ 1 行の特徴量を作成します。

        • Line Builder – 2 つのポイントの間に線を作成します。

この変換により、地理空間データを操作および分析し、ポイント間の線の作成、空間プロパティの計算などの操作が可能になります。

時系列からテーブルへの変換

この変換を使用して時系列結果をテーブルに変換し、時系列データフレームをトレンドフィールドに変換します。Trend フィールドは、スパークラインセルタイプ を使用してレンダリングでき、テーブル行ごとにインラインスパークラインを生成します。時系列クエリが複数ある場合、それぞれに個別のテーブルデータフレームが作成されます。これらは結合変換またはマージ変換を使用して結合し、行ごとに複数のスパークラインを持つ単一のテーブルを生成できます。

生成されたトレンドフィールド値ごとに、計算関数を選択できます。デフォルトは最終 NULL 以外の値 です。この値はスパークラインの横に表示され、テーブル行のソートに使用されます。

回帰分析

この変換を使用して、統計モデルによって予測された値を含む新しいデータフレームを作成します。これは、混乱したデータの傾向を見つけるのに役立ちます。線形回帰または多項回帰を使用して、数学関数をデータに適合させることで機能します。その後、データフレームを視覚化で使用してトレンドラインを表示できます。

2 つの異なるモデルがあります。

  • 線形回帰 – 線形関数をデータに適合させます。

  • 多項回帰 – 多項関数をデータに適合させます。

注記

この変換は現在パブリックプレビュー中です。Grafana Labs ではサポートが制限されており、この機能が一般公開される前に重大な変更が発生する可能性があります。