ドキュメント テンプレートの変数

このページでは、アラート ポリシーに関連付けられているドキュメント テンプレートで使用可能な変数とチャネル固有のコントロールについて説明します。

変数の使用

Markdown に加えて、${varname} 形式の変数を使用して、ドキュメントの内容を調整できます。ドキュメントが通知付きで送信されると、文字列 ${varname}varname の値に置き換えられます。次のスクリーンショットは、アラート ポリシーの作成: ドキュメントで説明されているドキュメント テンプレートから作成されたメール通知に含まれるドキュメントを示しています。

メールに含まれているドキュメント。

ドキュメント フィールドで使用できる変数は次のとおりです。

変数
condition.name 条件の REST リソース名(例: projects/foo/alertPolicies/1234/conditions/5678
condition.display_name 条件の表示名(例: CPU usage increasing rapidly
metric.type 指数タイプ(例: compute.googleapis.com/instance/cpu/utilization
metric.display_name 指数タイプの表示名(例: CPU utilization
metric.label.[KEY] 指数ラベルの値 [KEY]1
policy.user_label.[KEY] ユーザーラベル [KEY] の値 1,2
policy.name ポリシーの REST リソース名(例: projects/foo/alertPolicies/1234
policy.display_name ポリシーの表示名(例: High CPU rate of change
project ワークスペースのプロジェクト ID(例: a-gcp-project
resource.project アラート ポリシーのモニタリング対象リソースのプロジェクト ID
resource.type モニタリング対象リソースの種類(例: api
resource.label.[KEY] リソースラベル [KEY] の値 1,3

1 たとえば、${resource.label.zone}zone ラベルの値に置き換えられます。これらの変数の値はグループ分けの影響を受けます。詳細については、次のをご覧ください。
2 ポリシーのユーザーラベルは、Monitoring API を使用してのみ設定できます。
3 アラート ポリシーでモニタリング対象リソース上の project_id ラベルの値を取得するには、${resource.project} を使用します。

注:

  • 表に記載している変数のみがサポートされています。${varname1 + varname2} のような、より複雑な式とそれらを組み合わせることはできません。
  • 一部の変数の値(たとえば、resource.projectmetric.label.[KEY]resource.label.[KEY]metadata.user_label.[KEY] など)は時系列から派生します。時系列クエリから返される値がない場合、値は null になる可能性があります。変数に null 値が含まれる原因の 1 つとして、アラート ポリシーでクロス系列集約が使用されている場合を挙げられます(たとえば、フィルタに一致する各時系列全体で SUM を計算する場合など)。クロス系列集約を使用する場合、グループ化に使用されていない変数はドロップされ、変数の置き換えで参照されると、null 値を持つようになります。
  • リテラル文字列 ${ をドキュメントに含めるには、$ 記号を 2 つ目の $ 記号でエスケープします。$${ はドキュメントでは ${ としてレンダリングされます。
  • これらの変数は、通知チャネルを介して送信される通知でのみ、値に置き換えられます。Google Cloud Console では、ドキュメントが表示されるときに、値ではなく変数が表示されます。コンソールの例には、インシデントの説明や、アラート ポリシー作成時のドキュメントのプレビューなどがあります。

チャネル コントロールの使用

ドキュメント フィールド内のテキストには、通知チャネル自体がフォーマットや通知を制御するために使用する特殊文字を含めることもできます。

たとえば、Slack では @ が使用されます。これを使用して、通知を特定のユーザーにリンクできます。ドキュメント フィールドに次のような文字列を含めているとします。

<@backendoncall> policy ${policy.display_name} triggered an incident
    

ドキュメント フィールドが、関連する Slack チャンネルによって通知の一部として受信されると、この行によってユーザー backendoncallpolicy High CPU rate of change triggered an incident など)に対する追加メッセージがトリガーされます。

これらの追加オプションはチャネルに固有です。利用可能な追加オプションの詳細については、チャネル ベンダーが提供しているドキュメントをご覧ください。