Log Service では、アラートテンプレートを設定するときに通知内容をカスタマイズできます。

テンプレート変数

アラートテンプレートを設定する場合、通知のタイトルおよびコンテンツにテンプレート変数を追加できます。 Log Service からアラート通知が送信される場合、テンプレート変数が実際の値に置換されます。 たとえば、${project} 変数は、実際のプロジェクト名にされます。 詳細については、「テンプレート変数」をご参照ください。

アラートがトリガーされるたびにアラート情報が自動的に生成され、Results フィールドに保存されます。 Results フィールドのすべてのサブフィールドはテンプレート変数として参照できます。 詳細については、「アラームログフィールド」をご参照ください。

  • 配列型のフィールドは、${results[{index}]} 形式で参照されます。 {index} は 0 から始まる配列サブスクリプトを示します。 たとえば、${results[0]} の場合、Results 配列の最初の要素を参照することを示します。
  • オブジェクトタイプのフィールドは、${object.key} 形式で参照されます。 例えば、${results[0].StartTimeTs} は、タイムスタンプ 1542453580 が参照されることを示します。
Results のRawResults および FireResult では大文字と小文字が区別されます。 Results の他のフィールドでは、大文字と小文字は区別されません。 RawResults および FireResult のフィールドはクエリの結果です。

Results フィールドの例を以下に示します。

{
  "EndTime": "2006-01-02 15:04:05",
  "EndTimeTs": 1542507580,
  "FireResult": {
    "__time__": "1542453580",
    "field": "value1",
    "count": "100"
  },
  "FireResultAsKv": "[field:value1,count:100]",
  "Truncated": false,
  "LogStore": "test-logstore",
  "Query": "* | SELECT field, count(1) group by field",
  "QueryUrl": "http://xxxx",
  "RawResultCount": 2,
  "RawResults": [
    {
      "__time__": "1542453580",
      "field": "value1",
      "count": "100"
    },
    {
      "__time__": "1542453580",
      "field": "value2",
      "count": "20"
    }
  ],
  "RawResultsAsKv": "[field:value1,count:100],[field:value2,count:20]",
  "StartTime": "2006-01-02 15:04:05",
  "StartTimeTs": 1542453580
}
  • 配列型のフィールドは、${results[{index}]} 形式で参照されます。 {index} は 0 から始まる配列サブスクリプトを示します。 たとえば、${results[0]} の場合、Results 配列の最初の要素を参照することを示します。
  • オブジェクトタイプのフィールドは、${object.key} 形式で参照されます。 例えば、${results[0].StartTimeTs} は、タイムスタンプ 1542453580 が参照されることを示します。

コンテンツの書式設定

  • DingTalk

    DingTalk メッセージでは、Markdown 構文のサブセットがサポートされています。 以下の要素が利用できます。

    • 見出し
      # Level 1 heading
      ## Level 2 heading
      ### Level 3 heading
      #### Level 4 heading
      ##### Level 5 heading
      ###### Level 6 heading
    • リファレンス
      > A man who stands for nothing will fall for anything.
    • 太字と斜体のテキスト
      **bold**
      *italic*
    • リンク
      [this is a link](http://name.com)
    • イメージ
      ![](http://name.com/pic.jpg)
    • 順不同リスト
      - item1
      - item2
    • 順序付けされたリスト
      1. item1
      2. item2
  • Enterprise WeChat

    Enterprise WeChat メッセージでは、Markdown 構文がサポートされています。 以下の要素が利用できます。

    重要 Enterprise Wechat メッセージでは、\n\n\n と解釈されます。 メッセージの行の間に空白行を追加する場合は、\n\n\n とする必要があります。
    • 見出し
      # Level 1 heading
      ## Level 2 heading
      ### Level 3 heading
      #### Level 4 heading
      ##### Level 5 heading
      ###### Level 6 heading
    • 太字
      **bold**
    • リンク
      [This is a link](http://work.weixin.qq.com/api/doc)
    • インラインコードセグメント
      `code`
    • 参照
      > Referenced text
    • 文字の色

      事前設定した 3 色のみサポートされます。

      <font color="info">Green</font>
      <font color="comment">Gray</font>
      <font color="warning">Orange red</font>
  • Lark

    Lark メッセージでは、Markdown 構文がサポートされています。 以下の要素が利用できます。

    • 太字
      **Bold**
    • 斜体
      *Italic*
    • 取り消し線
      ~~Strikethrough~~
    • ハイパーリンク
      <a>https://open.feishu.cn</a>
    • テキストリンク
      [Development documentation](https://open.feishu.cn)
    • 画像
      ![hover_text](image_key)
    • セパレーターライン
      \n---\n
  • Slack

    Slack の着信 Webhook では、Markdown 構文の一部のみサポートされています。 詳細については、「Slack Markdown リファレンス 」をご参照ください。

  • Webhook

    Webhookは、一度に 1 つのメッセージ送信または組み合わせた複数メッセージの同時送信をサポートします。

    • 一度に 1 件のメッセージを送信:
      {
        "Project": "${project}",
        "Alert name": "${alert_name}"
      }
    • 複数のメッセージを組み合わせて同時に送信します。
      [
        {
          "Project": "project-name1",
          "Alert name": "alert-name1"
        },
        {
          "Project": "project-name2",
          "Alert name": "alert-name2"
        }
      ]
  • 電子メール
    メールでは HTML タグがサポートされています。 詳細については、「HTML 」をご参照ください。 例:
    • 開業には <br> を使用します。
    • リンクを追加するには <a href="${query_url}">Details</a> を使用します。 リンクをクリックすると、アラートの詳細を表示できます。
    • アラートを太字で表示するには、<strong>${severity}</strong> を使用します。