日志服务提供智能巡检功能,用于对监控指标或业务日志等数据进行全自动、智能化、自适应的异常巡检。本文介绍如何通过智能巡检功能,对通过SQL聚合的多维指标进行巡检与打标反馈。
前提条件
背景信息
日志服务智能巡检服务支持非指标数据(例如日志数据)进行智能巡检。非指标数据一般指常规的日志数据,您可以通过SQL语句聚合生成指标数据后,再进行智能巡检。
数据示例
例如A公司将其SLB 7层访问日志接入到日志服务后,在智能巡检服务中通过SQL语句计算QPS、延时、出入流量、成功率等指标,即设置实体为host,设置特征为qps、success_date、inflow、outflow和latency。当服务器出现问题时,日志服务将展示QPS、延时、出入流量、成功率等不同维度指标的变化,并通过钉钉群通知给运维人员,便于运维人员及时判断故障,解决问题。
SLB 7层访问日志示例如下图所示。
步骤一:创建智能巡检任务
登录日志服务控制台。
进入创建作业页面。
在日志应用区域,单击智能异常分析。
在实例列表中,单击目标实例。
在左侧导航栏中,单击智能巡检。
单击实时检测。
在巡检任务区域,单击立即创建。
在创建智能巡检作业配置向导的基本信息区域,完成如下配置,然后单击下一步。
参数
说明
任务名
自定义设置智能巡检作业的名称。
Project
选择源日志库或时序库所在的Project。
地域
您所选择的Project的所在地域。
日志库类型
根据您数据存储的位置选择日志库类型。
如果您的数据存储在日志库中,则选中日志库。
如果您的数据存储在时序库中,则选中时序库。
源日志库
当日志库类型设置为日志库时,需设置源日志库,设置为您的源数据所在的日志库。
时序库
当日志库类型设置为时序库时,需设置时序库,设置为您的源数据所在的时序库。
角色
如果您在创建实例时已完成了授权,则此处自动显示AliyunLogETLRole角色的角色标识。
目标库
目标日志库,固定为internal-ml-log。
在数据特征配置区域的数据类型,选择通过SQL格式化数据,然后完成以下配置。
其中,数据特征配置中的查询和分析语句如下:
* | select __time__-__time__ % 60 as time, 'slb-total' as host, COUNT(*) as qps, round(1.0 * count_if(status < 400) / COUNT(*), 2) as success_rate, sum(request_length) as inflow, sum(body_bytes_sent) as outflow, round(avg(upstream_response_time) * 1000, 3) as latency FROM log group by time order by time asc limit 10000
在算法配置区域,完成以下操作。
在算法配置区域,完成以下配置,然后在数据采样中,选择一个实体,单击预览采样数据,验证您所配置的参数与您的数据是否适配,以及执行结果是否符合您的预期。
在调度配置区域,设置智能巡检作业开始执行的时间。
说明智能巡检作业默认从设置的位置开始一直往后执行。
单击下一步。
在创建智能巡检作业配置向导的告警配置区域,完成以下配置,然后单击完成。
如何获取钉钉请求地址,请参见钉钉-自定义。
当指标异常时,即result.score大于0.75时,日志服务将发送告警通知到钉钉群中。
步骤二:打标反馈
您可以在钉钉群,打标告警通知。
如果告警符合预期,单击确认。
如果告警不符合预期,单击误报。
告警通知示例如下: