AIOPS语义级日志异常检测在证券行业的探索与实践 姓名:李进武 背景 探索与实践 目录 思考与展望 01 背景 服务管理 自动化管理 监控管理 运维展现 一体化运维体系(e海智维) ECC大屏 管理门户 移动端 业务运行信息 应用运行信息 基础架构运行信息 综合管理信息 报表管理 运维分析 持续分析优化 问题跟踪、容量分析、持续性改进分析、知识库演进 在线分析决策 业务趋势分析、性能趋势分析、问题趋势分析等 智能分析决策 异常检测、根因分析、自动排查与修复 服务台 服务目录 事件管理 服务请求管理 问题管理 变更管理 配置管理 知识管理 服务水平管理 IT财务管理 运维管理 业务监控应用监控集中监控资源监控 系统、存储、网络、机房、应用、中间件、数据库、灾备 数据采集自动化 灾备自动化 环境自动部署 应急自动化 日常运维操作 日常业务操作 自动化编排 资源自动部署与配置系统、网络、存储、中间件、数据库 事件统计 事件统计 从海通证券的历史事件统计来看,目前的主要痛点是由程序质量问题产生且首次发生的生产事件。早期证券行业的IT投入较少,系统大多以外购为主,这导致一些遗留的应用系统无法对日志进行结构化修改,程序一旦产生问题,需要大量人力和时间去排查和处理。另外,证券行业应用系统的日志也具有鲜明的行业特点,如夜间期间跑批、节假日休市等等。 日志监控方案 日志是运维中最常用的数据之一,是表达系统运行状态的重要载体。 传统日志监控 关键字数量 •对专家强依赖 •漏报/误报多 •更新滞后 •维护成本高 日志异常检测 日志模式识别模式数量异常检测 •无需人工解析 •告警准确性高 •日志更新自动学习 •维护成本低 & 行业研究和现状 算法研究落地应用 在格式规范的日志上,很多聚类算法效果良好。 已落地该场景应用的用户体验效果欠佳。 主要瓶颈和挑战: ①没有利用日志模式的语义特征; ②缺少针对券商行业日志复杂性和多样性的算法; ③分析性能难以支撑券商行业大流量日志。 主要瓶颈和挑战: ①算法适配性,难以保证稳定的告警准确性; ②在业务流量高峰时存在明显监控延迟。 GOPS全球运维大会暨研运数智化技术峰会2024·上海站 行业研究和现状 02 探索与实践 整体方案 提出一种能够适应于券商业务的语义级日志异常检测模型,在不依赖关键字规则的情况下,准确感知系统故障。 日志模式解析 故障定位 日志预处理 日志存储 日志 数据处理 异常检测 故障修复 日志采集 语义识别 突发告警 日志输出 指标异常检测 故障修复 异常检测包括基于自然语言处理的语义理解技术、基于无监督算法的模式解析技术与时序数据异常检测技术,异常检测流程为:日志输入–》语义识别—》模式解析–》异常检测–》结果输出。 1、基于语义特征的异常检测模型 第一阶段检测日志语义中是否包含异常信息,第二阶段检测日志中包含的异常类型。 •针对第一阶段日志语义中是否包含异常信息的问题,采用机器学习与深度学习中的二分类算法(如SVM、RandomForest、Bert等),训练模型,将日志分为正常日志与错误日志。 •针对第二阶段日志异常语义中包含哪种类型异常的问题,依据智能运维业务场景中语义类别进行梳理,将日志中包含的异常类型分为网络异常、数据库异常等类型。然后采用机器学习与深度学习中的多分类算法(如RandomForest、BERT等),训练模型,判断日志语义中包含的异常类型。同时,利用日志来源检测模型对日志、异常的来源进行理解,扩展异常检测模型对日志的感知能力。 日志 日志来源检测模型预处理 日志分类模型 是否错误 日志 是 异常分类模型 否 <日志来源,日志类型,异常类型> 2、基于依赖度的日志模式识别算法 本方案提出一种基于词频依赖度的特征计算方式,计算每个单词相对同一条日志中其他单词的依赖度,提高被依赖度低的单词识别为变量的概率,综合词频、位置、结构、单词组成等特征,融合多种机器学习算法,有效解决准确判定同一单词在不同日志模式同时属于变量和非变量这一难题。经实际验证,在公开数据集和海通数据集上,F1-score均超出SOTA算法。 日志条目 分词 按日志等级分组 按日志所含自定义关键词分组按日志所含内置关键词分组 与叶子节点每个模式的聚类中心比较 是否长度和相似度 是均达到阈值否 更新匹配到的模式在该节点增加薪的模式 3、基于行业特点的时序异常检测 本方案提出了一种融合滑动窗口与层次权重模式的多场景日志异常检测方法 (DW_LoADs)。首先经过同比日期选择器,输入模式参数,获得待检测点的同比日期序列;然后经过滑动窗口选择器,自定义窗口大小获得待检测点的同比时间点矩阵与对应的取值矩阵;再利用层次权重模式对待检测点的同比取值序列进行加权平均,得到最终的历史同比取值序列;最后利用n-sigma进行异常检测。 日志指标序列 预处理(排序、去重、填充) 构建周同比时间序列 构建周同比取值序列 计算周同比历史比较值 由历史值与待检测值确定周同比异常 构建日同比时间序列 构建日同比取值序列 计算日同比历史比较值 由历史值与待检测值确定日同比异常 检测点同时满足以上异常即为异常 3、基于行业特点的时序异常检测 ①增加日历管理功能。含节假日和非节假日。节假日与非节假日的数据模式存在明显差异,因此将节假日的数据与节假日的数据对比,非节假日的数据与非节假日的数据进行对比,可以提高异常检测的准确率,减少误报。 ②丰富的场景异常识别。在时序异常检测算法的基础上融合了在场景领域的丰富的故障检测经验,包含了历史新增、时段新增、时段突增、时段突降等特别的异常检测算法。 ③异常自适应功能。某些异常在第一次发生时会给予特别的关注,但随着时间的推移,自适应的方法可以对重复出现的异常进行抑制。采用动态权重的方法对历史的数值进行修正,包括:a.增加滑动窗口,当前点的数据对和历史数据点前后5分钟数据进行计算(交易日对比交易日,非交易日对比非交易日),并且根据距离对应时间点的远近,设置动态的权重,以减轻单一时间点异常造成的影响。b.加权平均计算同时间段的历史数据,距离当前时间点越近的日期赋予更高的权重,该策略会使相同模式的日志随着训练时长增加,异常点逐渐消失,增加了异常检测算法的学习能力。 应用情况——智能日志异常检测 [ERROR]user***登录失败,原因...[INFO]user***登陆成功 [ERROR]cannotconnectDB10.0.0.254:***[ERROR]交易失败,交易类型AS_*** 09:23:10[ERROR]user9A1登录失败,原因... 09:23:13[INFO]user9A9登陆成功 09:23:16[ERROR]cannotconnectDB10.0.0.254:3308 09:23:18[INFO]user9A5登陆成功 09:23:22[ERROR]user9A3登录失败,原因... 09:23:25[ERROR]交易失败,交易类型AS_ITP_TRANSFER 09:23:25[ERROR]user9A6loginfail 09:23:26[ERROR]交易失败,交易类型AS_CDS_QUERY09:23:32[ERROR]user9A8loginfail 09:23:35[ERROR]cannotconnectDB10.0.0.254:3306 应用情况——智能日志异常检测 典型场景一 报错平时也有出现,但是数 某次盘中系统突然出现异常增多 量较少,在故障时刻数量明显突增。 某次变更后首次出现某异常日志 典型场景二 日志模式历史首次新增。 应用情况——智能日志异常检测 GOPS全球运维大会暨研运数智化技术峰会2024·上海站 与现有监控体系融合 IT运维管理平台(e海智维) 统一告警服务 消息消费端、数据处理层 数据中心服务集群 数据平台数据处理集群监控告警处理集群 日志采集服务 算法中心服务集群 日志中心服务集群 用户中心服务集群 业务逻辑层 算法异常检测集群 配置管理服务 应用服务组件 注册中⼼ZK集群XXI-JOB集群 ⽂件存储数据存储 ITIL流程服务 AIOPS日志异常检测 03 思考与展望 智能日志异常检测应用方向 增加落地覆盖率,实现所有重要系统日志全分析 大幅提高落地覆盖度,同时继续对海通日志格式进行适配和调优,并在告警内容中增加定制化功能,补充关键排障信息,缩短用户使用路径,优化用户体验。 持续探索创新技术应用前景,验证并落地有监督日志告警 拟验证并落地智能日志告警的深层场景,通过实时学习用户反馈,实现有监督日志告警,自动适应不同业务对异常判定的偏好需求,突破在异常检测场景难以统一适配不同业务场景需求的瓶颈,进一步提高故障发现率和准确率。 智能运维场景应用方向 AI赋能 ①故障快速定位/故障自愈; ②变更风险评估; ③GPT知识库(告警、事件); ④性能容量预测。 AIOPS语义级日志异常检测在证券行业的探索与实践 Thanks 高效运维社区DevOps时代 荣誉出品