翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
テンプレートリファレンス
このドキュメントのトピックは、Grafana バージョン 9.x をサポートする Grafana ワークスペース向けです。
Grafana バージョン 12.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 12 での作業。
Grafana バージョン 10.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 10 での作業」を参照してください。
Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 8 での作業」を参照してください。
このセクションでは、テンプレートを作成するためのリファレンス情報を提供します。
テンプレートのデータ
メッセージテンプレートには、次のデータが渡されます。
| 名前 | 型 | 注意事項 |
|---|---|---|
|
|
string |
コンタクトポイント (通知先) の名前。 |
|
|
string |
少なくとも 1 つのアラートが発生している場合は「発生中」となり、それ以外の場合「解決済」となります。 |
|
|
アラート |
この通知に含まれるアラートオブジェクトのリスト (以下を参照)。 |
|
|
KeyValue |
これらのアラートがグループ化されたラベル。 |
|
|
KeyValue |
この通知に含まれるすべてのアラートに共通のラベル。 |
|
|
KeyValue |
この通知に含まれるすべてのアラートに共通する注釈。 |
|
|
string |
通知の送信元である Grafana へのリンク。外部のアラートマネージャーを使用している場合、そのアラートマネージャーへのリンク。 |
Alerts 型には、返されたアラートをフィルタリングするための 2 つの関数があります。
-
Alerts.Firing– 発生中のアラートのリストを返します。 -
Alerts.Resolved– 解決済みのアラートのリストを返します。
アラート (型)
アラート型には、次のデータがあります。
| 名前 | 型 | 注意事項 |
|---|---|---|
|
ステータス |
string |
|
|
ラベル |
KeyValue |
アラートに付与された一連のラベル。 |
|
注釈 |
KeyValue |
アラートに付与された一連の注釈。 |
| 値 | KeyValue | クラシック条件を含むすべての式の値 |
|
StartsAt |
time.Time |
アラートが発行された時刻。 |
|
EndsAt |
time.Time |
アラートの終了時刻がわかっている場合にのみ設定されます。それ以外の場合、最後にアラートを受信してから設定可能なタイムアウト期間が適用されます。 |
|
GeneratorURL |
string |
Grafana または外部アラートマネージャーへのリンク。 |
|
SilenceURL |
string |
アラートをサイレンスするリンク (このアラートのラベルがあらかじめ入力されています)。Grafana 管理のアラートのみ。 |
|
DashboardURL |
string |
Grafana ダッシュボードへのリンク (アラートルールが Grafana に属している場合)。Grafana 管理のアラートのみ。 |
|
PanelURL |
string |
Grafana ダッシュボードパネルへのリンク (アラートルールが Grafana に属している場合)。Grafana 管理のアラートのみ。 |
|
Fingerprint |
string |
アラートの識別に使用するフィンガープリント。 |
|
ValueString |
string |
アラート内の各削減された式のラベルと値を含む文字列。 |
ExtendedData
ExtendedData オブジェクトには、以下のプロパティが含まれています。
| 名前 | [Kind] (種類) | 説明 | 例 |
|---|---|---|---|
|
レシーバー |
|
通知を送信するコンタクトポイントの名前。 |
|
|
ステータス |
|
ステータスは |
|
|
アラート |
|
この通知のすべての発生アラートと解決済みアラートのリスト。 |
|
|
発生アラート |
|
この通知のすべての発生アラートのリスト。 |
|
|
解決済みアラート |
|
この通知で解決されたすべてのアラートのリスト。 |
|
|
GroupLabels |
|
これらのアラートをこの通知にグループ化するラベル。 |
|
|
CommonLabels |
|
この通知のすべてのアラートに共通するラベル。 |
|
|
CommonAnnotations |
|
この通知のすべてのアラートに共通する注釈。 |
|
|
ExternalURL |
|
この通知を送信した Grafana ワークスペースまたはアラートマネージャーへのリンク。 |
|
KeyValue 型
KeyValue 型は、キー (ラベル) 値 (注釈) の文字列を組み合わせたものです。
KeyValue として保存されたデータに直接アクセスするメソッドだけでなく、データをソート、削除、変換するメソッドも備えています。
| 名前 | 引数 | 戻り値 | 注意事項 | 例 |
|---|---|---|---|---|
|
SortedPairs |
キーと値の文字列のソート済みのリスト |
|
||
|
削除 |
[]string |
KeyValue |
指定したキーを除いたキー/値のマップのコピーを返します。 |
|
|
名前 |
[]string |
ラベル名のリスト |
|
|
|
値 |
[]string |
ラベル値のリスト |
|
[時間]
時間は Go timeMonday, 1st January 2022 at 10:00AM 形式で出力するには、次のテンプレートを作成します。
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
Go の時間形式に関するリファレンスは、こちら
テンプレート関数
テンプレート関数を使用すると、ラベルと注釈を処理して動的に通知を生成できます。以下の機能を使用できます。
| 名前 | 引数の型 | 戻り型 | 説明 |
|---|---|---|---|
|
|
数値または文字列 |
string |
メトリクスプレフィックスを使用して、数値をより読み取り可能な形式に変換します。 |
|
|
数値または文字列 |
string |
humanize と同様に、1000 ではなく 1024 を基準にします。 |
|
|
数値または文字列 |
string |
時間を秒単位のより読みやすい形式に変換します。 |
|
|
数値または文字列 |
string |
比率の値を 100 分の 1 の形に変換します。 |
|
|
数値または文字列 |
string |
Unix のタイムスタンプを秒単位のより読みやすい形式に変換します。 |
|
|
string |
string |
strings.Title を使用すると、各単語の最初の文字が大文字になります。 |
|
|
string |
string |
strings.ToUpper を使用すると、文字列がすべて大文字に変換されます。 |
|
|
string |
string |
strings.ToLower を使用すると、文字列がすべて小文字に変換されます。 |
|
|
パターン、テキスト |
ブール値 |
regexp.MatchString を使用すると、アンカーなしでの正規表現の一致テストを実行できます。 |
|
|
パターン、置換、テキスト |
string |
Regexp.ReplaceAllString を使用すると、アンカーなしでの正規表現による置換が実行できます。 |
|
|
文字列 - |
string |
指定された式とデータソースに対するグラフィカルビューへのパスを返します。 |
|
|
文字列 - |
string |
指定された式とデータソースに対するタブ形式ビューへのパスを返します。 |
|
|
[]interface{} |
map[string]interface{} |
オブジェクトのリストを arg0、arg1 などのキーを持つマップに変換します。複数の引数をテンプレートに渡す場合、この関数を使用します。 |
|
|
なし |
string |
外部 URL を表す文字列を返します。 |
|
|
なし |
string |
外部 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 |