- ダッシュボード(トップレベル)のプロパティ
- テンプレート (
templating
) プロパティ - リンク (
links
) プロパティ - パネルグループ (
panel_groups
) のプロパティ - パネル (
panels
) のプロパティ - 軸 (
panels[].y_axis
) プロパティ - メトリクス (
metrics
) プロパティ - ダイナミックラベル
- ダッシュボードのYAML構文検証
ダッシュボードのYAMLプロパティ
ダッシュボードにはいくつかの構成要素があります:
- テンプレート変数。
- パネルで構成されるパネルグループ。
- 1つまたは複数のメトリクスをサポートするパネル。
以下の表は、予想されるプロパティの詳細です。
ダッシュボード(トップレベル)のプロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
dashboard
| 列 | はい | ダッシュボードの見出し。 ダッシュボードはファイルごとに1つだけ定義する必要があります。 |
panel_groups
| アレイ | はい | ダッシュボードにあるべきパネルグループ。 |
templating
| ハッシュ | いいえ | テンプレート関連のオプションを追加できるトップレベルのキーです。 |
links
| アレイ | いいえ | ダッシュボードに表示するリンクを追加します。 |
テンプレート (templating
) プロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
variables
| ハッシュ | はい | 変数はここで定義できます。 |
テンプレートに関するドキュメントを読んでください。
リンク (links
) プロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
url
| 列 | はい | リンクのアドレス。 |
title
| 列 | いいえ | リンクの表示タイトル。 |
type
| 列 | いいえ | リンクのタイプを指定します:grafana
|
リンクのドキュメントをお読みください。
パネルグループ (panel_groups
) のプロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
group
| 列 | 必須 | パネルグループに向かいます。 |
priority
| 番号 | 任意、デフォルトはファイル内の順序 | ダッシュボードに表示される順番。 数字が大きいほど優先順位が高く、ページ上で上位に表示されます。 数字は連続している必要はありません。 |
panels
| アレイ | 必須 | パネルグループに属するパネル。 |
パネルグループ内のパネルは、1行につき2つのパネルで構成される行にレイアウトされます。 このルールの例外は、行に1つのパネルがある場合です。
パネル (panels
) のプロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type
| 列挙 | いいえ、デフォルトはarea-chart
|
area-chart ,line-chart またはanomaly-chart 。
|
title
| 列 | はい | パネルに向かいます。 |
y_label
| 列 | いいえ。 | パネルのY軸ラベル。 |
y_axis
| 列 | いいえ | パネルのY軸構成。 |
max_value
| 番号 | いいえ | パーセンタイルに基づく結果の算出に使用される分母値 |
weight
| 番号 | いいえ、デフォルトはファイルの順序 | グループ内で表示される順番。 番号が小さいほど優先順位が高く、ページ上で上位に表示されます。 番号は連続している必要はありません。 |
metrics
| アレイ | はい | パネルに表示するメトリクス。type がarea-chart またはline-chart の場合はいくつでも表示できますが、type がanomaly-chart の場合は 3 つまでしか表示できません。
|
links
| アレイ | いいえ | Chartのコンテキストメニューに表示するリンクを追加します。 |
軸 (panels[].y_axis
) プロパティ
プロパティ | タイプ | 必須 | 説明 | |
---|---|---|---|---|
name
| 列 | いいえ。 | パネルの Y 軸ラベル。設定されている場合はy_label を置き換えます。
| |
format
| 列 | いいえ、デフォルトはengineering
| 使用されている単位形式。単位の完全なリストを参照してください。 | |
precision
| 番号 | いいえ、デフォルトは2
| 数値を表示する小数点以下の桁数。 |
メトリクス (metrics
) プロパティ
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 列 | いいえ | ダッシュボードのメトリクスとデータベース・レコードの関連付けに使用されます。 ダッシュボード構成ファイル間で一意である必要があります。アラートに必要です(サポートはまだ有効になっていません。関連するイシューを参照してください)。 |
unit
| 列 | はい | クエリの返りデータの単位を定義します。 |
label
| 列 | いいえ。 | クエリの凡例ラベルを定義します。 パネルのメトリクス内で一意である必要があります。 補間変数として時系列ラベルを含むことができます。 |
query
| 列 |
query_range が定義されていない場合は yes
| Chart/panelに入力するために使用するPrometheusクエリを定義します。定義されている場合、Prometheus APIの query エンドポイントが利用されます。
|
query_range
| 列 |
query が定義されていない場合は yes
| Chart/panelに入力するために使用するPrometheusクエリを定義します。定義されている場合、Prometheus APIの query_range エンドポイントが利用されます。
|
step
| 番号 | 定義されていない場合、値は計算されます。 | クエリの分解能ステップ幅を浮動小数点数秒で定義します。 同じパネル上のメトリクスは、同じstep 値を使用する必要があります。
|
ダイナミックラベル
動的ラベルは、Prometheusクエリから複数の時系列が返される場合に便利です。
静的ラベルが使用され、クエリが複数の時系列を返す場合、すべての凡例項目は同じラベルになり、各時系列を識別することが難しくなります:
metrics:
- id: my_metric_id
query_range: 'http_requests_total'
label: "Time Series"
unit: "count"
そうすると、こんな伝説が生まれるかもしれません:
ラベルをより明示的にするには、時系列ラベルを反映する変数を使用するのがよい方法です。 この変数は、凡例がレンダリングされるときに、時系列ラベルの値に置き換えられます:
metrics:
- id: my_metric_id
query_range: 'http_requests_total'
label: "Instance: {{instance}}, method: {{method}}"
unit: "count"
レンダリングされた凡例は次のようになります:
また、1つの時系列ラベルのみを使用するダイナミック・ダッシュボード・ラベル用の省略値もあります:
metrics:
- id: my_metric_id
query_range: 'http_requests_total'
label: "Method"
unit: "count"
これは、label
の値を小文字にし、さらにスペースで区切られた単語がある場合は、そのスペースをアンダースコア(_
)に置き換えることで動作します。変換された値は、Prometheusクエリによって返された時系列のラベルと照合されます。変換された値と等しい時系列のラベルが見つかった場合は、そのラベル値が使用され、このように凡例に表示されます:
ダッシュボードのYAML構文検証
GitLab 13.1で導入されました。
ダッシュボードの定義に有効な YAML 構文が含まれていることを確認します:
- doc-text}リポジトリ> ファイルに移動します。
- リポジトリ内のダッシュボードファイルに移動します。
- ファイル内容の上に表示されている、ファイルに関する情報ペインをレビューします。
有効な構文を持つファイルはMetrics Dashboard YAML定義が有効であることを表示し、無効な構文を持つファイルはMetrics Dashboard YAML定義が無効であることを表示します。
メトリクス・ダッシュボードのYAML定義が無効な場合、以下のメッセージのうち少なくとも1つが表示されます:
-
dashboard: can't be blank
もっと詳しく -
panel_groups: should be an array of panel_groups objects
もっと詳しく -
group: can't be blank
もっと詳しく -
panels: should be an array of panels objects
もっと詳しく -
title: can't be blank
もっと詳しく -
metrics: should be an array of metrics objects
もっと詳しく -
query: can't be blank
もっと詳しく -
query_range: can't be blank
もっと詳しく -
unit: can't be blank
もっと詳しく -
YAML syntax: The parsed YAML is too big
これはYAMLファイルが1MBを超える場合に表示されます。
-
YAML syntax: Invalid configuration format
これは YAML ファイルが空であるか、有効な YAML を含んでいない場合に表示されます。
メトリクスダッシュボードのYAML定義検証情報は、GraphQL APIフィールドとしても利用可能です。