テンプレートリファレンス - Amazon Managed Grafana

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

テンプレートリファレンス

このドキュメントのトピックは、Grafana バージョン 9.x をサポートする Grafana ワークスペース向けです。

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

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

このセクションでは、テンプレートを作成するためのリファレンス情報を提供します。

テンプレートのデータ

メッセージテンプレートには、次のデータが渡されます。

名前 メモ

Receiver

文字列

コンタクトポイント (通知先) の名前。

Status

文字列

少なくとも 1 つのアラートが発生している場合は「発生中」となり、それ以外の場合「解決済」となります。

Alerts

アラート

この通知に含まれるアラートオブジェクトのリスト (以下を参照)。

GroupLabels

KeyValue

これらのアラートがグループ化されたラベル。

CommonLabels

KeyValue

この通知に含まれるすべてのアラートに共通のラベル。

CommonAnnotations

KeyValue

この通知に含まれるすべてのアラートに共通する注釈。

ExternalURL

文字列

通知の送信元である Grafana へのリンク。外部のアラートマネージャーを使用している場合、そのアラートマネージャーへのリンク。

Alerts 型には、返されたアラートをフィルタリングするための 2 つの関数があります。

  • Alerts.Firing – 発生中のアラートのリストを返します。

  • Alerts.Resolved – 解決済みのアラートのリストを返します。

アラート (型)

アラート型には、次のデータがあります。

名前 メモ

ステータス

文字列

firing または resolved

ラベル

KeyValue

アラートに付与された一連のラベル。

‏注釈

KeyValue

アラートに付与された一連の注釈。

KeyValue クラシック条件を含むすべての式の値

StartsAt

time.Time

アラートが発行された時刻。

EndsAt

time.Time

アラートの終了時刻がわかっている場合にのみ設定されます。それ以外の場合、最後にアラートを受信してから設定可能なタイムアウト期間が適用されます。

GeneratorURL

文字列

Grafana または外部アラートマネージャーへのリンク。

SilenceURL

文字列

アラートをサイレンスするリンク (このアラートのラベルがあらかじめ入力されています)。Grafana 管理のアラートのみ。

DashboardURL

文字列

Grafana ダッシュボードへのリンク (アラートルールが Grafana に属している場合)。Grafana 管理のアラートのみ。

PanelURL

文字列

Grafana ダッシュボードパネルへのリンク (アラートルールが Grafana に属している場合)。Grafana 管理のアラートのみ。

Fingerprint

文字列

アラートの識別に使用するフィンガープリント。

ValueString

文字列

アラート内の各削減された式のラベルと値を含む文字列。

ExtendedData

ExtendedData オブジェクトには、以下のプロパティが含まれています。

名前 [Kind] (種類) 説明

レシーバー

string

通知を送信するコンタクトポイントの名前。

{{ .Receiver }}

ステータス

string

ステータスはfiring if at least one alert is firing, otherwise resolved.です。

{{ .Status }}

アラート

[]Alert

この通知のすべての発生アラートと解決済みアラートのリスト。

There are {{ len .Alerts }} alerts

発生アラート

[]Alert

この通知のすべての発生アラートのリスト。

There are {{ len .Alerts.Firing }} firing alerts

解決済みアラート

[]Alert

この通知で解決されたすべてのアラートのリスト。

There are {{ len .Alerts.Resolved }} resolved alerts

GroupLabels

KeyValue

これらのアラートをこの通知にグループ化するラベル。

{{ .GroupLabels }}

CommonLabels

KeyValue

この通知のすべてのアラートに共通するラベル。

{{ .CommonLabels }}

CommonAnnotations

KeyValue

この通知のすべてのアラートに共通する注釈。

{{ .CommonAnnotations }}

ExternalURL

string

この通知を送信した Grafana ワークスペースまたはアラートマネージャーへのリンク。

{{ .ExternalURL }}

KeyValue 型

KeyValue 型は、キー (ラベル) 値 (注釈) の文字列を組み合わせたものです。

KeyValue として保存されたデータに直接アクセスするメソッドだけでなく、データをソート、削除、変換するメソッドも備えています。

名前 引数 戻り値 メモ

SortedPairs

キーと値の文字列のソート済みのリスト

{{ .Annotations.SortedPairs }}

削除

[]string

KeyValue

指定したキーを除いたキー/値のマップのコピーを返します。

{{ .Annotations.Remove "summary" }}

名前

[]string

ラベル名のリスト

{{ .Names }}

[]string

ラベル値のリスト

{{ .Values }}

[時間]

時間は Go time パッケージからのものです。時間はさまざまな形式で印刷できます。例えば、アラートが発生した時刻を Monday, 1st January 2022 at 10:00AM 形式で出力するには、次のテンプレートを作成します。

{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}

Go の時間形式に関するリファレンスは、こちらを参照してください。

テンプレート関数

テンプレート関数を使用すると、ラベルと注釈を処理して動的に通知を生成できます。以下の機能を使用できます。

名前 引数の型 戻り型 説明

humanize

数値または文字列

文字列

メトリクスプレフィックスを使用して、数値をより読み取り可能な形式に変換します。

humanize1024

数値または文字列

文字列

humanize と同様に、1000 ではなく 1024 を基準にします。

humanizeDuration

数値または文字列

文字列

時間を秒単位のより読みやすい形式に変換します。

humanizePercentage

数値または文字列

文字列

比率の値を 100 分の 1 の形に変換します。

humanizeTimestamp

数値または文字列

文字列

Unix のタイムスタンプを秒単位のより読みやすい形式に変換します。

title

文字列

文字列

strings.Title を使用すると、各単語の最初の文字が大文字になります。

toUpper

文字列

文字列

strings.ToUpper を使用すると、文字列がすべて大文字に変換されます。

toLower

文字列

文字列

strings.ToLower を使用すると、文字列がすべて小文字に変換されます。

match

パターン、テキスト

ブール値

regexp.MatchString を使用すると、アンカーなしでの正規表現の一致テストを実行できます。

reReplaceAll

パターン、置換、テキスト

文字列

Regexp.ReplaceAllString を使用すると、アンカーなしでの正規表現による置換が実行できます。

graphLink

文字列 - expr および datasource フィールドを持つ JSON オブジェクト

文字列

指定された式とデータソースに対するグラフィカルビューへのパスを返します。

tableLink

文字列 - expr および datasource フィールドを持つ JSON オブジェクト

文字列

指定された式とデータソースに対するタブ形式ビューへのパスを返します。

args

[]interface{}

map[string]interface{}

オブジェクトのリストを arg0、arg1 などのキーを持つマップに変換します。複数の引数をテンプレートに渡す場合、この関数を使用します。

externalURL

なし

文字列

外部 URL を表す文字列を返します。

pathPrefix

なし

文字列

外部 URL のパスを返します。

次の表に、各関数の使用例を紹介します。

関数 TemplateString Input 予想

humanize

{ humanize $value }

1234567.0

1.235M

humanize1024

{ humanize1024 $value }

1048576.0

1Mi

humanizeDuration

{ humanizeDuration $value }

899.99

14 分 59 秒

humanizePercentage

{ humanizePercentage $value }

0.1234567

12.35%

humanizeTimestamp

{ humanizeTimestamp $value }

1435065584.128

2015-06-23 13:19:44.128 +0000 UTC

title

{ $value | title }

aa bB CC

Aa Bb Cc

toUpper

{ $value | toUpper }

aa bB CC

AA BB CC

toLower

{ $value | toLower }

aa bB CC

aa bb cc

match

{ match "a+" $labels.instance }

aa

reReplaceAll

{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}

localhost:3000

my.domain:3000

graphLink

{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}

/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]

tableLink

{{ tableLink "{\"expr\":\"up\", \"datasource\":\"gdev-prometheus\"}" }}

/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]

args

{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}

1 2

externalURL

{ externalURL }

http://localhost/path/prefix

pathPrefix

{ pathPrefix }

/path/prefix