Log Service は、異常なメトリックのサブディメンションをすばやく分析して特定するのに役立つ強力な警告機能と分析機能を提供します。 時系列メトリックが異常な場合は、根本原因分析機能を使用して、異常なメトリックの原因となったディメンション属性をすばやく分析することができます。
rca_kpi_search
関数のフォーマット:
select rca_kpi_search(varchar_array, name_array, real, forecast, level)
次の表に、関数のパラメーターを示します。
項目 | 説明 | 値 |
varchar_アレイ | ディメンションです。 | 配列。 Example: アレイ [col1、col2、col3] 。 |
名_アレイ | ディメンション属性です。 | 配列。 例: array['col1', 'col2', 'col3'] 。 |
リアル | varchar_arrayで指定された各ディメンションの実際の値。 | Double 型 有効な値: すべての実数 |
予測 | The予測値の各寸法varchar_arrayで指定された。 | Double 型 有効な値: すべての実数 |
level | 出力根本原因セットに対応するディメンションの数です。 値 0 は、見つかったすべての根本原因セットが返されることを示します。 | long 型。 有効な値: [0, 分析されるディメンションの数] 分析されるディメンションの数は、varchar_array パラメーターで指定された配列の要素の数です。 |
例:
Theクエリ文は以下のように。
クエリステートメントでは、サブクエリを使用して各細粒属性の実際の値と予測値を取得し、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)
以下の図にテスト結果を示します。
出力結果の構造を次の図に示します。
表示項目について、次の表に説明します。
表示項目 | 説明 |
rcSets | 根本原因セットです。 各値は配列です。 |
rcItems | 根本原因セットです。 |
kpi | 配列である根本原因セット内のKPI。 配列内の各値はJSON形式です。 attrはディメンションを示し、valはディメンション内の属性を示します。 |
nleaf | 現在の KPI が生データでカバーするリーフの数です。 説明 リーフは、最もきめ細かい属性のログです。 |
変更 | 現在の KPI でカバーされるリーフの変化の、同じ時点での総変化に対する比率です。 |
スコア | 現在の KPI の異常スコアです。 有効な値: [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
}
]
}
]
}