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

Simple Log Service:根本原因分析関数

最終更新日:Jun 22, 2026

Simple Log Service (SLS) は、問題の診断と異常なサブディメンションの特定を支援する強力なアラートおよび分析ツールを提供します。時系列メトリックにアノマリーが発生した場合は、根本原因分析関数を使用して、偏差の原因となっているディメンション属性を特定します。

rca_kpi_search

構文:

select rca_kpi_search(varchar_array, name_array, real, forecast, level)

次の表でパラメータについて説明します。

パラメータ

説明

varchar_array

ディメンション属性。

配列。例:array[col1, col2, col3]

name_array

ディメンションの名前。

配列。例:array['col1', 'col2', 'col3']

real

対応する属性の組み合わせの実測値。

型: double。すべての実数がサポートされます。

forecast

対応する属性の組み合わせの予測値。

型: double。すべての実数がサポートされます。

level

出力する根本原因セットに含めるディメンション属性の数。このパラメータを 0 に設定すると、関数は特定されたすべての根本原因セットを返します。

型: long。有効な値: 0 ≤ level ≤ 分析対象のディメンション数 (varchar_array の長さ)。

  • クエリと分析:

    まず、サブクエリを使用して、各詳細な属性の実測値と予測値を整理します。次に、 rca_kpi_search 関数を呼び出して、アノマリーの根本原因を分析します。

    * not Status:200 | 
    select rca_kpi_search(
     array[ ProjectName, LogStore, UserAgent, Method ],
     array[ 'ProjectName', 'LogStore', 'UserAgent', 'Method' ], real, forecast, 1) 
    from ( 
    select ProjectName, LogStore, UserAgent, Method,
     sum(case when time < 1552436040 then real else 0 end) * 1.0 / sum(case when time < 1552436040 
    then 1 else 0 end) as forecast,
     sum(case when time >=1552436040 then real else 0 end) *1.0 / sum(case when time >= 1552436040 
    then 1 else 0 end) as real
     from ( 
    select '("__time__" - ("__time__" % 60))' as time, ProjectName, LogStore, UserAgent, Method, COUNT(*) as real 
    from log GROUP by time, ProjectName, LogStore, UserAgent, Method ) 
    GROUP BY ProjectName, LogStore, UserAgent, Method limit 100000000)
  • 出力:分析結果には、時系列のエリアチャートと、複数の展開可能な根本原因セットのエントリが含まれます。根本原因セットテーブルの列には、ProjectNameLogStoreUserAgentMethodrsstchangescore が含まれます。この文脈では、 rsst は根本原因サブメトリックの統計値を表し、 score は根本原因の異常スコアを表します。対応するサブメトリックの小さなトレンドラインチャートが右側に表示され、アノマリー発生時の変動を視覚的に確認できます。

出力構造:

{
  "rcSets": [
    {
      "rcItems": [
        {
          "kpi": [{"attr": "xxx", "val": "xxx"}],
          "nleaf": 100,
          "change": 0.524543,
          "score": 0.1454543
        }
      ]
    }
  ]
}

次の表で表示項目について説明します。

パラメータ

説明

rcSets

根本原因セットの配列。

rcItems

根本原因セットを構成する項目の配列。

kpi

根本原因セット内の項目の条件を表す配列。配列内の各要素は、 attr がディメンション名で、 val が属性値であるオブジェクトです。

nleaf

根本原因セット内の KPI 項目が対象とする、生データ内のリーフ数です。

説明

リーフは、最も詳細な属性の組み合わせのログエントリです。

change

この項目のリーフによる、全体の異常変化への寄与率です。

score

この根本原因項目の異常スコア。値の範囲は [0, 1] です。

出力は JSON オブジェクトです。次にコード例を示します。

{
  "rcSets": [
  {
    "rcItems": [
    {
      "kpi": [
      {
        "attr": "country",
        "val": "*"
      },
      {
        "attr": "province",
        "val": "*"
      },
      {
        "attr": "provider",
        "val": "*"
      },
      {
        "attr": "domain",
        "val": "example.com"
      },
      {
        "attr": "method",
        "val": "*"
      }
      ],
      "nleaf": 119,
      "change": 0.3180687806279939,
      "score": 0.14436007709620113
    }
    ]
  }
  ]
}