机器学习¶
根因分析函数¶
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 varchar_array对应的实际值。 double 类型,取值范围:全体实数。
forecast varchar_array对应的预测值。 double 类型,取值范围:全体实数。
level 输出的根因集合对应的维度属性的数量,
其中level=0表示输出找到的全部根因集合。
long类型,取值范围:0<=level<=分析维度数(对应varchar_array的长度)
查询分析:
% 先利用子查询去组织每个细粒度属性对应的实际值和预测值,
% 然后直接调用rca_kpi_search函数去分析异常时刻的根因。
* not status:200 |
select rca_kpi_search(
array[ Project, LogStore, UserAgent, Method ],
array[ 'Project', 'LogStore', 'UserAgent', 'Method' ],
real, forecast, 1)
from (
select
Project, 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, Project, LogStore,
UserAgent, Method, COUNT(*) as real
from log
GROUP by time, Project, LogStore, UserAgent, Method
)
GROUP BY Project, LogStore, UserAgent, Method limit 100000000
)