すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:組み込みテンプレート関数

最終更新日:Jun 17, 2026

コンテンツテンプレートの組み込み関数を使用すると、データを操作して、通知のフォーマットとスタイルを豊かにすることができます。このトピックでは、これらの組み込み関数の構文と例について説明します。

一般機能

数学関数

関数

説明

フィルター

float(value, default=0.0)

整数または文字列を浮動小数点数に変換します。

変換に失敗した場合、関数はデフォルトで 0.0 を返します。変換失敗時に異なる戻り値を指定するには、 default パラメーターを使用します。

サポート済み

  • {{ float("123") }} の結果は 123.0 です。

  • {{ float("foo") }} の結果は 0.0 です。

  • {{ float("foo", default=1.23) }} の結果は 1.23 です。

int(value, default=0)

文字列または数値を整数に変換します。

変換に失敗した場合、関数はデフォルトで 0 を返します。変換失敗時に異なる戻り値を指定するには、 default パラメーターを使用します。

サポート済み

  • {{ int(1.23) }} の結果は 1 です。

  • {{ int("1.23") }} の結果は 1 です。

  • {{ int("foo") }} の結果は 0 です。

  • {{ int("foo", default=5) }} の結果は 5 です。

length(value)

文字列、リスト、タプルなどのオブジェクトの長さまたは項目数を返します。

サポート済み

  • {{ length("foo") }} の結果は 3 です。

  • {{ length([1, 2]) }} の結果は 2 です。

  • {{ length({"foo": "bar"}) }} の結果は 1 です。

abs(value)

数値の絶対値を返します。

サポート済み

{{ abs(-1) }} の結果は 1 です。

min(value)

最小値を返します。

サポート済み

{{ min([1, 3, 2]) }} の結果は 1 です。

max(value)

最大値を返します。

サポート済み

{{ max([1, 3, 2]) }} の結果は 3 です。

ceil(value)

数値を最も近い整数に切り上げます。

サポート済み

{{ ceil(1.23) }} の結果は 2 です。

floor(value)

数値を最も近い整数に切り捨てます。

サポート済み

{{ floor(1.23) }} の結果は 1 です。

round(value, precision=0)

数値を四捨五入します。

precision パラメーターで、保持する小数点以下の桁数を指定します。たとえば、 1 は小数点以下 1 桁を保持します。

サポート済み

  • {{ round(1.23) }} の結果は 1 です。

  • {{ round(1.56) }} の結果は 2 です。

  • {{ round(1.56, 1) }} の結果は 1.6 です。

sum(value)

合計を計算します。

サポート済み

{{ sum([1, 2, 3]) }} の結果は 6 です。

文字列関数

関数

説明

フィルター

string(value)

オブジェクトを文字列に変換します。

サポート済み

{{ string(1.23) }} の結果は 1.23 です。

この場合、1.23 は文字列です。

capitalize(value)

文字列の最初の文字を大文字に、他のすべての文字を小文字に変換します。

サポート済み

{{ capitalize("heLLO World") }} の結果は Hello world です。

lower(value)

文字列を小文字に変換します。

サポート済み

{{ lower("FOO") }} の結果は foo です。

upper(value)

文字列を大文字に変換します。

サポート済み

{{ upper("foo") }} の結果は FOO です。

title(value)

文字列をタイトルケースに変換します。各単語の最初の文字が大文字になり、残りは小文字になります。

サポート済み

{{ title("hello world") }} の結果は Hello World です。

trim(value)

文字列の先頭と末尾から空白文字を削除します。

サポート済み

{{ trim(" foo\n") }} の結果は foo です。

replace(value, old, new)

文字列内のサブストリングを置き換えます。

サポートされていません

{{ replace("foo", "oo", "ly") }} の結果は fly です。

wordcount(value)

文字列内の単語数をカウントします。

サポート済み

{{ wordcount("hello world") }} の結果は 2 です。

truncate(value, n, end='')

文字列を切り捨てます。

  • 保持する文字数を指定するには、truncate(value, n) を使用します。

  • 追加するサフィックスを指定するには、truncate(value, n, end='...') を使用します。

サポートされていません

  • {{ truncate("foo bar", 5) }} の結果は foo b です。

  • {{ truncate("foo bar", 5, end="...") }} の結果は foo b... です。

quote(value)

値を二重引用符 ("") で囲みます。

サポート済み

  • {{ quote(123) }} の結果は "123" です。

  • {{ quote("foo") }} の結果は "foo" です。

indent(value, n=4)

文字列の各行をインデントします。デフォルトのインデントは 4 スペースです。

インデントのスペース数を指定するには、n パラメーターを使用します。

サポート済み

  • {{ "foobar\n" }}{{ indent("foo\nbar") }} の結果は次のとおりです:

    foobar
        foo
        bar
  • {{ "foobar\n" }}{{ indent("foo\nbar", 2) }} の結果は次のとおりです:

    foobar
      foo
      bar

startswith(value, prefix)

文字列が特定のプレフィックスで始まるかどうかを確認します。

サポート済み

{{ startswith("football", "foo") }} の結果は true です。

endswith(value, suffix)

文字列が特定のサフィックスで終わるかどうかを確認します。

サポート済み

{{ endswith("football", "all") }} の結果は true です。

removeprefix(value, prefix)

文字列からプレフィックスを削除します。

サポート済み

{{ removeprefix("football", "foot") }} の結果は ball です。

removesuffix(value, suffix)

文字列からサフィックスを削除します。

サポート済み

{{ removesuffix("football", "ball") }} の結果は foot です。

split(value, sep=None, maxsplit=-1)

文字列を分割します。

  • 区切り文字を指定するには、sep パラメーターを使用します。

  • 分割数を制限するには、maxsplit パラメーターを使用します。

    maxsplit が指定されていないか、-1 に設定されている場合、分割数に制限はありません。

サポート済み

  • {{ split('a b c ') }} の結果は ['a', 'b', 'c'] です。

  • {{ split('a-b-c', sep='-') }} の結果は ['a', 'b', 'c'] です。

  • {{ split('a-b-c', sep='-', maxsplit=1) }} の結果は ['a', 'b-c'] です。

  • {{ split('a<>b<>c', sep='<>') }} の結果は ['a', 'b', 'c'] です。

リストおよびオブジェクトの関数

関数

説明

フィルター

enumerate(value)

イテラブル内の各要素をインデックスとペアにし、(インデックス, 要素) のタプルのリストを返します。

サポートされていません

{{ enumerate(["foo", "bar"]) }} の結果は [(0, 'foo'), (1, 'bar')] です。

list(value)

イテラブルオブジェクトをリストに変換します。

サポート済み

  • {{ list(("foo", "bar")) }} の結果は ['foo', 'bar'] です。

  • {{ list("foo") }} の結果は ['f', 'o', 'o'] です。

dict(value)

{} を使用するのと同様に、辞書を作成します。

サポートされていません

{{ dict(foo=1, bar="hello") }} の結果は {'foo': 1, 'bar': 'hello'} です。

first(value)

リストの最初の項目を返します。

サポート済み

{{ first([1, 2, 3]) }} の結果は 1 です。

last(value)

リストの最後の項目を返します。

サポート済み

{{ last([1, 2, 3]) }} の結果は 3 です。

sort(value, reverse=true)

リストの要素をソートします。

逆順でソートするには、reverse=true を指定します。

サポート済み

  • {{ sort([3, 1, 2]) }} の結果は [1, 2, 3] です。

  • {{ sort([3, 1, 2], reverse=true) }} の結果は [3, 2, 1] です。

dictsort(value)

オブジェクトのキーと値のペアをキーでソートし、ソート済みのペアの配列を返します。

サポート済み

  • alert.labels フィールドの例

    {
        "host": "host-1",
        "app": "nginx"
    }
  • コンテンツテンプレートの設定

    {%- for key, val in dictsort(alert.labels) %}
    {{ key }}: {{ val }}
    {%- endfor %}
  • 結果

    app: nginx
    host: host-1

join(value, d='')

リストの要素を区切り文字で結合します。

d パラメーターで区切り文字を指定します。

サポート済み

  • {{ join([1, 2, 3]) }} の結果は 123 です。

  • {{ join([1, 2, 3], ',') }} の結果は 1,2,3 です。

フォーマット関数

関数

説明

フィルター

escape_markdown(value)

Markdown の特殊文字をエスケープします。

サポート

{{ escape_markdown("__a__ **b** #c") }} は、 \_\_a\_\_ \*\*b\*\* \#c になります。

escape_html(value)

HTML の特殊文字をエスケープします。

サポート

{{ escape_html("<div>") }} は、 &lt;div&gt; になります。

to_json(value)

オブジェクトを JSON 形式に変換します。

サポート

  • {{ to_json("foo") }} は、 "foo" になります。

  • {{ to_json(1.23) }} は、 1.23 になります。

  • {{ to_json(True) }} は、 true になります。

  • {{ to_json(alert.labels) }} は、 {"host": "host-1", "app": "nginx"} になります。

parse_json(value)

文字列を JSON データ構造にパースします。

サポート

  • {{ parse_json('{"foo": "bar"}').foo }} は、 bar になります。

  • {{ parse_json('[1, 2, 3]')[1] }} は、 2 になります。

エンコーディング・デコーディング関数

関数

説明

フィルター

base64_encoding(value)

入力値を Base64 でエンコードします。

サポート

{{ base64_encoding("foo") }} の結果は Zm9v です。

base64_decoding(value)

Base64 でエンコードされた入力値をデコードします。

サポート

{{ base64_decoding("Zm9v") }} の結果は foo です。

md5_encoding(value)

入力値の MD5 ハッシュを生成します。

サポート

{{ md5_encoding("foo") }} の結果は acbd18db4cc2f85cedef654fccc4a4d8 です。

url_encoding(value)

入力値を URL エンコードします。

サポート

{{ url_encoding("https://example.com?a=b&c=d") }} の結果は https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd です。

url_decoding(value)

入力値を URL デコードします。

サポート

{{ url_decoding("https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd") }} の結果は https://example.com?a=b&c=d です。

日時関数

関数

説明

フィルター

parse_date(value, fmt="%Y-%m-%d %H:%M:%S")

UNIX タイムスタンプまたはフォーマットされた文字列を datetime オブジェクトに変換します。

fmt パラメーターを使用して datetime フォーマットを指定します。

サポート済み

  • {{ parse_date(1629820800) }} の結果は 2021-08-25 00:00:00 です。

  • {{ parse_date("2021|08|25|00|00|00", fmt="%Y|%m|%d|%H|%M|%S") }} の結果は 2021-08-25 00:00:00 です。

format_date(value, tz=None, fmt="%Y-%m-%d %H:%M:%S")

datetime 値を文字列としてフォーマットします。

fmt パラメーターを使用して出力フォーマットを指定します。

入力値が date オブジェクトでない場合、関数はまずそれを date オブジェクトに変換してからフォーマットします。datetime フォーマットディレクティブの詳細については、「datetime フォーマットの説明」をご参照ください。タイムゾーンの詳細については、「タイムゾーン」をご参照ください。

サポートされていません

  • {{ format_date(1629820800) }} の結果は 2021-08-25 00:00:00 です。

  • {{ format_date(1629820800, fmt="%Y/%m/%d %H:%M:%S") }} の結果は 2021/08/25 00:00:00 です。

  • {{ format_date(1629820800, tz="UTC", fmt="%Y/%m/%d %H:%M:%S") }} の結果は 2021/08/24 16:00:00 です。

timestamp(value)

日時文字列を UNIX タイムスタンプに変換します。

入力値が date オブジェクトでない場合、関数はまずそれを date オブジェクトに変換してからタイムスタンプを返します。

サポート済み

  • {{ timestamp("2021-08-25 00:00:00") }} の結果は 1629820800 です。

  • {{ timestamp(parse_date("2021-08-25 00:00:00")) }} の結果は 1629820800 です。

format_duration(value, locale='en-US', sep='')

時間間隔をフォーマットします。 value の単位は秒です。

locale パラメーターを使用して言語を指定します。locale パラメーターに指定可能な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

サポート済み

  • {{ 10 | format_duration }} の結果は 10s です。

  • {{ 60 | format_duration }} の結果は 1m です。

  • {{ 3600 | format_duration }} の結果は 1h です。

  • {{ 86400 | format_duration }} の結果は 1d です。

  • {{ 100000 | format_duration }} の結果は 1d3h46m40s です。

  • {{ 100000 | format_duration(sep=",") }} の結果は 1d,3h,46m,40s です。

アラート関数

アラート関数は、アラートコンテキスト内で動作し、コンテンツテンプレートの設定に従って、以下の項目を自動的に検出します。

説明

異なるアラートコンテキストでアラート関数を実行すると、異なる結果が返される場合があります。

  • 現在のアラートの重大度やステータスなどのアラートプロパティ。

  • コンテンツテンプレートで設定された言語 (中国語や英語など)。

  • DingTalk やメールなどの通知チャネル。

関数

説明

フィルター

format_type(alert.type, locale=None)

アラートタイプをテキストの説明に変換します。

locale パラメーターを使用して言語を指定します。locale パラメーターの有効な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

対応

  • アラートタイプは sls_pub です。

  • コンテンツテンプレートの設定

    {{ format_type(alert.type) }}
  • 結果

    • コンテンツテンプレートの言語が中国語に設定されている場合、通知内容は アラート取り込みシステム です。

    • コンテンツテンプレートの言語が英語に設定されている場合、通知内容は Pub アラート です。

format_region(alert.region, locale=None)

アラートリージョンをテキストの説明に変換します。

locale パラメーターを使用して言語を指定します。locale パラメーターの有効な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

対応

  • 現在のアラートリージョンは cn-hangzhou です。

  • コンテンツテンプレートの設定

    {{ format_region(alert.region) }}
  • 結果

    • コンテンツテンプレートの言語が中国語に設定されている場合、通知内容は 中国 (杭州) です。

    • コンテンツテンプレートの言語が英語に設定されている場合、通知内容は 中国 (杭州) です。

format_severity(alert.severity, locale=None)

アラートの重大度を色付きのテキスト説明に変換します。

説明

色付きテキストは、DingTalk、WeCom、メール、およびメッセージセンターの通知でのみサポートされています。

locale パラメーターを使用して言語を指定します。locale パラメーターの有効な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

対応

  • アラートの重大度は 6 です。

  • コンテンツテンプレートの設定

    {{ format_severity(alert.severity) }}
  • 結果

    • コンテンツテンプレートの言語が中国語に設定されている場合、通知内容は黄色のフォントで です。

    • コンテンツテンプレートの言語が英語に設定されている場合、通知内容は黄色のフォントで Medium です。

format_status(alert.status, locale=None)

アラートのステータスを色付きのテキスト説明に変換します。

説明

色付きテキストは、DingTalk、WeCom、メール、およびメッセージセンターの通知でのみサポートされています。他のチャネルでは、出力は変更されません。

locale パラメーターを使用して言語を指定します。locale パラメーターの有効な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

対応

  • 現在のアラートは 発火中の状態 です。

  • コンテンツテンプレートの設定

    {{ format_status(alert.status) }}
  • 結果

    • コンテンツテンプレートの言語が中国語に設定されている場合、通知内容は赤色のフォントで 発火中 です。

    • コンテンツテンプレートの言語が英語に設定されている場合、通知内容は赤色のフォントで Firing です。

to_list(value)

配列またはオブジェクトをリストに変換します。

対応

  • アラートラベル

    {
        "app": "nginx",
        "host": "host-1"
    }
  • コンテンツテンプレートの設定

    {{ to_list(alert.labels) }}
  • 結果

    • 通知内容が Markdown フォーマットの場合、結果は次のようになります:

      関数は通知チャネルの要件に基づいて Markdown の特殊文字を自動的にエスケープします。

      - app: nginx
      - host: host-1
    • 通知内容が HTML フォーマットの場合、結果は次のようになります:

      <ul>
        <li>app: nginx</li>
        <li>host: host-1</li>
      </ul>
    • 通知内容がプレーンテキスト形式の場合、結果は次のようになります:

      [app: nginx][host: host-1]

annotations_to_list(alert.annotations, locale=None)

アラートアノテーションをリストに変換します。この関数は to_list(alert.annotations) のように動作しますが、標準フィールド名を分かりやすいラベルに自動的にマッピングします。たとえば、title フィールドを Title または Title に変換します。標準名の一覧については、「アラートアノテーションフィールドのマッピング」をご参照ください。

locale パラメーターを使用して言語を指定します。locale パラメーターの有効な値については、「アラート関数における locale パラメーターの有効な値」をご参照ください。

対応

  • アラートアノテーション

    {
        "title": "Nginx access abnormal",
        "desc": "PV decreased by 80% year-over-year",
        "cnt": "120"
    }
  • コンテンツテンプレートの設定

    {{ annotations_to_list(alert.annotations) }}
  • 結果

    通知内容が Markdown フォーマットの場合、結果は次のようになります:

    - Title: Nginx access abnormal
    - Description: PV decreased by 80% year-over-year
    - cnt: 120

blockquote(value)

通知内容にブロッククォートを追加します。

  • 通知内容が Markdown フォーマットの場合、各行の先頭に > 記号が追加されます。

  • 通知内容が HTML フォーマットの場合、コンテンツは <blockquote> タグで囲まれます。

対応

  • コンテンツテンプレートの設定

    {{ blockquote("foo\nbar") }}
  • 結果

    • 通知内容が Markdown フォーマットの場合、結果は次のようになります:

      > foo
      > bar
    • 通知内容が HTML フォーマットの場合、結果は次のようになります:

      <blockquote>
      foo
      bar
      </blockquote>

関連ドキュメント

  • アラート関数における locale パラメーターの有効な値

    ロケール値

    説明

    None または空の文字列

    コンテンツテンプレートで設定された言語を使用します。

    en-US

    英語

    zh-CN

    中国語

  • アラートアノテーションのフィールドマッピング

    アノテーション

    マッピング値 (日本語)

    マッピング値 (英語)

    title

    タイトル

    Title

    desc

    説明

    Description

    anomaly_score

    アノマリースコア

    Anomaly Score

    job_id

    ジョブ ID

    Task ID

    model_id

    モデル ID

    Model ID

    severity

    アノマリーの重大度

    Anomaly Severity

    __pub_alert_app__

    アプリケーション

    Application

    __pub_alert_protocol__

    プロトコル

    Protocol

    __pub_alert_region__

    リージョン

    Region

    __pub_alert_service__

    サービス

    Service

    __ensure_url__

    アノマリーの確認

    Anomaly Confirmation

    __mismatch_url__

    誤検知の確認

    False Positive Confirmation

    __plot_image__

    時系列グラフ

    Time Series Chart

    __host_ip__

    マシンアドレス

    Machine Address

    __host_group_name__

    マシングループ名

    Machine Group Name

    __cloud_monitor_type__

    CloudMonitor

    CloudMonitor