変数構文 - Amazon Managed Grafana

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

変数構文

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

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

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

パネルタイトルとメトリクスクエリは、2 つの異なる構文を使用して変数を参照できます。

  • $varname – この構文は読みやすいですが、単語の途中で変数を使用することはできません。

    例: apps.frontend.$server.requests.count

  • ${var_name} – 式の途中で変数を使用する場合は、この構文を使用します。

  • ${var_name:<format>} – この形式により、Grafana が値を解釈する方法をより詳細に制御できます。詳細については、次のリストの「高度な変数形式オプション」を参照してください。

  • [[varname]] – は使用しないでください。この構文は古く、廃止されました。今後のリリースで削除されます。

クエリがデータソースに送信される前に、クエリは補間されます。つまり、変数は現在の値に置き換えられます。補間中に、クエリ言語の構文とその使用場所に準拠するために、変数値をエスケープすることがあります。例えば、InfluxDB または Prometheus クエリの正規表現式で使用される変数は、正規表現をエスケープします。

高度な変数形式オプション

変数補間の形式はデータソースによって異なりますが、デフォルトの形式を変更したい場合があります。

例えば、MySQL データソースのデフォルトは、複数の値を引用符 で区切って結合することです'server01','server02'。場合によっては、引用符なしでカンマ区切りの文字列を指定することもできます: server01,server02。これは、以下に示す高度な変数フォーマットオプションで実現できます。

一般的な構文

構文: ${var_name:option}

無効なフォーマットオプションが指定されている場合、 がデフォルト/フォールバックオプションglobです。

CSV

複数の値を持つ変数をカンマ区切りの文字列としてフォーマットします。

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'

分散型 - OpenTSDB

OpenTSDB のカスタム形式で複数の値を持つ変数をフォーマットします。

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'

二重引用符

単一値と複数値の変数をカンマ区切り"の文字列にフォーマットし、 によって各値をエスケープ\"し、各値を で引用符で囲みます"

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'

Glob - Graphite

複数の値を持つ変数を glob にフォーマットします (Graphite クエリの場合)。

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'

JSON

複数の値を持つ変数をカンマ区切りの文字列としてフォーマットします。

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'

Lucene - Elasticsearch

Elasticsearch の Lucene 形式の複数の値を持つ変数をフォーマットします。

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'

パーセントエンコード

URL パラメータで使用する単一値変数と複数値の変数をフォーマットします。

servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'

パイプ

複数の値を持つ変数をパイプ区切りの文字列にフォーマットします。

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'

Raw

SQL クエリの一重引用符など、データソース固有の書式設定をオフにします。

servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'

[Regex] (正規表現)

複数の値を持つ変数を正規表現文字列にフォーマットします。

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'

シングルクォート

単一値と複数値の変数をカンマ区切り'の文字列にフォーマットし、 によって各値をエスケープ\'し、各値を で引用符で囲みます'

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"

SQLstring

単一値と複数値の変数をカンマ区切り'の文字列にフォーマットし、 によって各値をエスケープ''し、各値を で引用符で囲みます'

servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"

[Text] (テキスト)

単一値および複数値の変数をテキスト表現にフォーマットします。単一の変数の場合、テキスト表現のみを返します。複数値変数の場合、テキスト表現を と組み合わせた値を返します+

servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"

クエリパラメータ

単一値および複数値の変数をクエリパラメータ表現にフォーマットします。例: var-foo=value1&var-foo=value2

servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"