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

Simple Log Service:SPL コマンド

最終更新日:Jun 18, 2026

Simple Log Service Processing Language (SPL) は、時系列データを変換および可視化するためのコマンドを提供します。

SPL コマンド

コマンド

説明

make-series

テーブルデータを系列に変換します。

render

SPL クエリの結果をグラフとしてレンダリングし、可視化します。

make-series

テーブルデータを系列構造に変換します。

構文

| make-series  <output> = <field-col> [default = <default-value>]
             [, ...]
             on <time-col>
             [from <time-begin> to <time-end>
              step <step-value>]
             [by <tag-col>,...]

コマンドブロック

コマンドブロック

必須

説明

<output> = <field-col>, ...

はい

系列に変換する列。複数の列を指定できます。

on <time-col>

はい

時間列。

[default = <default-value>]

&

[from <time-begin> to <time-end>

step <step-value>]

いいえ

時間列に基づいて、時間範囲、ステップ、および補完戦略を指定して、欠損値を補完します。

[by <tag-col>,...]

いいえ

指定された列でデータをグループ化し、集約します。

パラメーター

パラメーター

タイプ

説明

output

列名

集約後の出力列。

field-col

列名

入力列。

default-value

文字列

欠損値を補完するためのメソッド。

有効値:

  • null:欠損値を null で補完します。

  • nan:欠損している浮動小数点数を非数 (nan) で補完します。

  • 0:欠損値を 0 で補完します。

  • last:最後に確認された値を使用します (フォワードフィル)。次の観測まで値が一定であると予想される場合に適しています。

  • next:次に観測された値を使用します (バックワードフィル)。値が次の観測値と一致すると想定される場合に適しています。

  • avg:直前と直後のデータポイントの平均値を使用します。

time-col

列名

入力時間列。

time-begin

文字列または列名

系列の時間範囲の開始時刻。

有効値:

  • bigint 型の列名。この列の値は、ナノ秒単位の開始時刻を表します。

  • min:各時系列の最小値を開始時刻として使用します。

  • sls_begin_time:クエリの開始時刻を各時系列の開始時刻として使用します。

time-end

文字列または列名

系列の時間範囲の終了時刻。有効値:

  • bigint 型の列名。この列の値は、ナノ秒単位の終了時刻を表します。

  • max:各時系列の最大値を終了時刻として使用します。

  • sls_end_time:クエリの終了時刻を各時系列の終了時刻として使用します。

step-value

文字列

欠損値を補完するためのステップ。

サポートされている単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

tag-col

列名

集約のためにグループ化する列。

生データからタイムラインを作成し、欠損値を補完します。

  • 生データ

    このクエリは、Method ごとに、タイムスタンプを 60 秒のウィンドウに合わせ、集約されたメトリクスを計算します。

    • SPL ステートメント

      * | extend ts = second_to_nano(__time__ - __time__ % 60)
        | stats latency_avg = avg(cast(latency as double)), inflow_avg = avg(cast (inflow as double)) by ts, Method
    • 出力

      このクエリは、Methodtslatency_avginflow_avg の 4 つの列を持つテーブルを返します。データは Method でグループ化され、DeleteMachineGroup、GetCursor、GetConsumerGroupCheckPoint、PostProjectQuery、PullData、TagResources などの API メソッドの統計情報が表示されます。このテーブルには、ナノ秒単位のタイムスタンプ、平均レイテンシ、および平均流入値が含まれます。

  • SPL ステートメント

    * | extend ts = second_to_nano(__time__ - __time__ % 60)
      | stats latency_max = max(cast(latency as double)), inflow_min = min(cast (inflow as double)) by ts, Method
      | make-series   latency_max default = 'last',
                    inflow_min default = 'last'
                    on ts
                    from 'min' to 'max'
                    step '1m'
                    by Method
  • 出力

    結果テーブルには、Method__ts__latency_arrinflow_arr の 4 つの列があります。データは Method でグループ化され、PullDataUpdateMachineGroupMachine などのメソッドの行と、それに対応する配列値が表示されます。latency_arr 列と inflow_arr 列には、時系列データが配列として含まれています。

render

SPL クエリの結果をグラフとしてレンダリングし、可視化します。

  • render コマンドは、SPL クエリの最後の演算子である必要があります。

  • render コマンドはデータを変更しません。クエリ結果の拡張プロパティに可視化パラメーターを追加します。

構文

render visualization [with ( propertyName = propertyValue [, ...])]

コマンドブロック

コマンドブロック

必須

説明

visualization

はい

可視化グラフのタイプ。サポートされているタイプについては、「可視化」をご参照ください。

propertyName = propertyValue

いいえ

キーと値のペアをコンマで区切ったリスト。サポートされているタイプについては、「プロパティ」をご参照ください。

パラメーター

可視化

可視化

説明

linechart

折れ線グラフ

プロパティ

オプションの PropertyName/PropertyValue キーと値のペアを使用して、追加のグラフレンダリングオプションを設定します。

時系列予測パラメーター

PropertyName

PropertyValue

xcolumn

x 軸として使用するクエリ結果の列。

ycolumns

y 軸として使用するクエリ結果の列名をコンマで区切ったリスト。

例:

... ...
| render linechart with (xcolumn = time_series,
                         ycolumns = metric_series, forecast_metric_series)
異常検出パラメーター

PropertyName

PropertyValue

xcolumn

x 軸として使用するクエリ結果の列。

ycolumns

y 軸として使用するクエリ結果の列名をコンマで区切ったリスト。

anomalyscore

異常データポイントの異常スコアを表示します。linechart にのみ適用されます。

anomalytype

異常データポイントの異常タイプを表示します。linechart にのみ適用されます。

例:

... ...
| render linechart with (xcolumn = ts,
                         ycolumns = mem_arr, cpu_arr,
                         anomalyscore = anomalies_score_series,
                         anomalytype = anomalies_type_series)

この例では、すべてのタイムラインで異常を検出し、過去 5 分間の異常スコアを保持し、結果を異常検出グラフとしてレンダリングします。

  • SPL ステートメント

    * 
    | extend ts = second_to_nano(__time__ - __time__ % 60)
    | where Method = 'PostLogStoreLogs'
    | stats latency_avg = avg(cast(latency as bigint)) by ts, Method
    | make-series   latency_avg default = 'null'
                    on ts
                    from 'min' to 'max'
                    step '1m'
                    by Method
    | extend ret = series_decompose_anomalies(latency_avg)
    | extend anomalies_score_series = ret.anomalies_score_series, anomalies_type_series = ret.anomalies_type_series, error_msg = ret.error_msg
    | render linechart with (xcolumn = __ts__,
                             ycolumns = latency_avg,
                             anomalyscore = anomalies_score_series,
                             anomalytype = anomalies_type_series)
  • 出力

    image