

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

# テンプレートリファレンス
<a name="v9-alerting-template-reference"></a>

****  
このドキュメントのトピックは、**Grafana バージョン 9.x** をサポートする Grafana ワークスペース向けです。  
Grafana バージョン 12.x をサポートする Grafana ワークスペースについては、「」を参照してください[Grafana バージョン 12 での作業](using-grafana-v12.md)。  
Grafana バージョン 10.x をサポートする Grafana ワークスペースについては、「[Grafana バージョン 10 での作業](using-grafana-v10.md)」を参照してください。  
Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「[Grafana バージョン 8 での作業](using-grafana-v8.md)」を参照してください。

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

## テンプレートのデータ
<a name="v9-alerting-template-data"></a>

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


| 名前 | 型 | 注意事項 | 
| --- | --- | --- | 
| `Receiver` | string | コンタクトポイント (通知先) の名前。 | 
| `Status` | string | 少なくとも 1 つのアラートが発生している場合は「発生中」となり、それ以外の場合「解決済」となります。 | 
| `Alerts` | アラート | この通知に含まれるアラートオブジェクトのリスト (以下を参照)。 | 
| `GroupLabels` | KeyValue | これらのアラートがグループ化されたラベル。 | 
| `CommonLabels` | KeyValue | この通知に含まれるすべてのアラートに共通のラベル。 | 
| `CommonAnnotations` | KeyValue | この通知に含まれるすべてのアラートに共通する注釈。 | 
| `ExternalURL` | string | 通知の送信元である Grafana へのリンク。外部のアラートマネージャーを使用している場合、そのアラートマネージャーへのリンク。 | 

`Alerts` 型には、返されたアラートをフィルタリングするための 2 つの関数があります。
+ `Alerts.Firing` – 発生中のアラートのリストを返します。
+ `Alerts.Resolved` – 解決済みのアラートのリストを返します。

**アラート (型)**

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


| 名前 | 型 | 注意事項 | 
| --- | --- | --- | 
| ステータス | string | `firing` または `resolved` | 
| ラベル | 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] (種類) | 説明 | 例 | 
| --- | --- | --- | --- | 
| レシーバー | `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 [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time) パッケージからのものです。時間はさまざまな形式で印刷できます。例えば、アラートが発生した時刻を `Monday, 1st January 2022 at 10:00AM` 形式で出力するには、次のテンプレートを作成します。

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

Go の時間形式に関するリファレンスは、[こちら](https://pkg.go.dev/time#pkg-constants)を参照してください。

## テンプレート関数
<a name="v9-alerting-template-functions"></a>

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


| 名前 | 引数の型 | 戻り型 | 説明 | 
| --- | --- | --- | --- | 
| `humanize` | 数値または文字列 | string | メトリクスプレフィックスを使用して、数値をより読み取り可能な形式に変換します。 | 
| `humanize1024` | 数値または文字列 | string | humanize と同様に、1000 ではなく 1024 を基準にします。 | 
| `humanizeDuration` | 数値または文字列 | string | 時間を秒単位のより読みやすい形式に変換します。 | 
| `humanizePercentage` | 数値または文字列 | string | 比率の値を 100 分の 1 の形に変換します。 | 
| `humanizeTimestamp` | 数値または文字列 | string | Unix のタイムスタンプを秒単位のより読みやすい形式に変換します。 | 
| `title` | string | string | strings.Title を使用すると、各単語の最初の文字が大文字になります。 | 
| `toUpper` | string | string | strings.ToUpper を使用すると、文字列がすべて大文字に変換されます。 | 
| `toLower` | string | string | strings.ToLower を使用すると、文字列がすべて小文字に変換されます。 | 
| `match` | パターン、テキスト | ブール値 | regexp.MatchString を使用すると、アンカーなしでの正規表現の一致テストを実行できます。 | 
| `reReplaceAll` | パターン、置換、テキスト | string | Regexp.ReplaceAllString を使用すると、アンカーなしでの正規表現による置換が実行できます。 | 
| `graphLink` | 文字列 - `expr` および `datasource` フィールドを持つ JSON オブジェクト | string | 指定された式とデータソースに対するグラフィカルビューへのパスを返します。 | 
| `tableLink` | 文字列 - `expr` および `datasource` フィールドを持つ JSON オブジェクト | string | 指定された式とデータソースに対するタブ形式ビューへのパスを返します。 | 
| `args` | []interface{} | map[string]interface{} | オブジェクトのリストを arg0、arg1 などのキーを持つマップに変換します。複数の引数をテンプレートに渡す場合、この関数を使用します。 | 
| `externalURL` | なし | string | 外部 URL を表す文字列を返します。 | 
| `pathPrefix` | なし | 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 | 