当前位置: 主页 > 数据库

rac 启动数据库-9i rac 起库

发布时间:2023-02-09 07:12   浏览次数:次   作者:佚名

本文选自《交易技术前沿》(2019年8月)第三十五期

闫强杨超吴昊孙伟/光大证券信息科技总部

1 简介

证券行业对信息系统的实时性和连续性有着极高的要求。 根据《证券期货业信息安全事件报告和调查处理办法》,信息安全事件分为特殊重大事件、重大事件、重大事件和一般事件。 事件分为四种类型,故障的恢复时间直接关系到事件的分级。 2015年以来,证监会每年组织证券期货业网络安全应急联合演练,提升全市场网络安全应急处置能力。 从这几年的演练过程来看,各家券商基本都建立了比较完善的自动化应急切换流程,以节省切换时间。 一旦明确了原因,切换时间是可控的,最长的过程通常是问题定位。

监控系统是问题定位的重要依赖工具,可以对问题现象和一些关键性能指标进行总体监控。 对于问题定位,单一的指标通常帮助不大。 例如CPU利用率可以反映当前服务器的负载情况,但负载增加的原因还需要详细排查。 检查的过程主要取决于专家的经验。 对于复杂的问题,甚至需要多位不同领域的技术专家共同排查、定位。 随着大数据、云计算、分布式架构的不断成熟,通过大数据的智能运维分析和机器学习,帮助运维人员定位问题成为可能。

目前在智能运维领域,通过业务数据、应用数据、核心数据库数据、系统数据、网络数据的关联rac 启动数据库,通过KPI关联、时序聚类等方式进行排查ITSM针对一个应用的流程数据分析快速定位故障,结合以往的实际运维经验,我们发现很多故障原因往往隐藏在日志中,系统KPI指标结合日志分析进行完整的数据分析检测可以覆盖与应用相关的各个维度,帮助运维人员定位运维失败的根源。

系统运行过程中会产生大量的日志(包括系统日志、应用日志、网络日志、设备日志等)。 即使是同一个日志也有多种模式。 运维人员很难掌握各种日志格式并制定相应的解析规则。 通常只解析核心日志。 对于日志量大、格式多样的日志,通过机器学习检测日志异常尤为重要,尤其是无监督实时检测和快速故障定位。 这不仅是对传统运维方式的改进和补充,也让证券行业的IT运维模式更加全面、智能、主动。

2、设计思路

基于对现状的分析,光大证券提出了一种基于机器学习的智能日志异常检测方法,通过大数据平台与算法的结合,实现无监督的实时检测和快速故障定位。

2.1 传统的日志处理方式

证券行业使用了很多系统。 由于系统来自不同的开发者,在各个系统的开发过程中,日志的定义很难做到一致和标准化,从而导致日志的种类繁多。 传统的方法主要是根据关键字和解析规则来监控日志和问题,但这两种方法各有不足。

2.1.1 根据关键字匹配监控日志

基于关键字匹配,如果日志中不一定有关键字,就会出现异常。 例如ORACLE RAC在启动过程中,会出现一些预期的Error等字段,但行为正常;

对于不同类型的日志,很难标记所有的关键字,事实上,甚至有些程序日志根本就没有相似的关键字。

2.1.2 基于配置解析规则

基于配置解析规则,实现对日志字段的监控。 基于正则表达式的方法虽然比关键字有一些改进,当然也有以下缺点:

■规则复杂:一些日志往往格式较多,解析工作非常复杂,调试需要花费大量时间;

■性能差:需要对来自多个系统的海量日志实时分析多条规则,性能差。

2.2 日志智能异常检测方法

为了改进传统的日志处理方法,我们引入基于系统日志故障诊断或主动检测的机器学习方法,自动提取日志模板,通过分析从历史故障中找到相关模式(故障关联或故障症状),实现异常检测。

对于日志模板,支持增量学习是一项重要且必要的能力。 由于运营商经常部署软件或硬件升级以引入新功能或解决以前版本中的错误,因此这些更新可以生成新的系统日志消息子类型,这些消息不会映射到模板上的任何现有消息。 因此,需要从这些新的系统日志消息中提取新的模板并添加到模板集合中。

海量日志行智能异常检测的设计思路如下:

2.2.1 日志分词

分词会将一个完整的日志分割成一个单词序列。 不同于一般的自然语言分词,文本日志中存在大量的关键词,一般文本中不会大量出现。 这些关键字可能会提供与系统非常相关的信息,其特征非常明显。 比如时间信息、IP地址、文件路径、内存地址等。因此在日志分词的过程中需要对这些进行特殊处理。

2.2.2 模板提取

基于海量日志自动提取模板和变量。 通过自然语言处理技术,分析海量日志中的共性和共性模式,提取日志模板。 提取日志模板可以有效地对大量文本日志进行结构化,去除大量冗余数据。 日志模板和变量抽取是日志智能异常检测的关键技术。 这里我们主要使用FT-TREE算法进行提取,后面会详细介绍。

2.2.3 异常检测

基于模板计数和变量值执行日志异常检测。 根据之前提取的日志模板,可以在线流的形式对日志进行处理和提取数据。 例如提取每类日志每分钟的日志量,提取特定类型的变量分布,如文件路径长度、文件传输速度等。 然后利用单指标异常检测方法和变量相关分布度量,对日志中提取的数据进行实时异常检测。

2.2.4 数据整合

异常检测后的数据需要与数据展示平台结合,才能产生真正的价值。 其中,智能运维数据分析平台从数据采集源或第三方提供的数据库作为数据源获取数据。 数据经过分类、提取、整合、存储后,分别以流式和批量两种方式消费。 生成的分析结果和告警信息分别通过数据接口和告警信息队列提供给前端和第三方平台。 用户和第三方平台也可以通过前端或接口配置数据采集、算法分析、告警推送流程。 参考平台数据流和系统如图1所示:

rac 启动数据库_oracle 10g rac 启动_9i rac 起库

图1

其中,关键部件包括:

■数据队列:数据由采集平台主动写入或订阅系统定时从第三方系统获取,以队列的形式被智能运维数据平台系统消费。

■数据库:备份采集数据rac 启动数据库,生成并存储智能分析模型元数据、分析结果时间序列数据等。

■告警信息队列:流式计算产生的异常和告警信息由第三方通过消息队列进行订阅。

■RestAPI接口:可用于采集平台主动推送数据,也可接入北向接口,应用系统或其他第三方系统获取数据分析并进行调整。

3、核心算法技术

3.1 日志智能异常检测常用算法

一般的系统日志预处理方法是从历史系统日志中提取模板,然后将日志消息映射到模板。 模板提取的准确性和对增量学习的支持是处理海量日志的关键考虑因素。

在日志异常识别算法中,LogClass算法是基于带有数据标签的场景(即哪些日志正常,哪些日志异常); 而DeepLo​​g是一种无监督方法,不需要提前准备数据标签; 日志根本原因定位算法FOCUS是基于对系统日志的快速分析,分析是什么情况导致响应延迟增加; SyslogDigest是一种专门用于分析网络设备syslogs的算法,可以从原始的syslogs网络事件中生成有意义的、有优先级的日志; FT-tree是一种通用的日志模板生成方法,生成日志模板后可以应用于日志分类统计、异常检测等领域,从而大大提高分析人员的工作效率。

通过对上述算法的深入研究,结合光大证券日志的实际情况,我们选择FT-Tree作为日志模板提取和异常检测的算法基础,结合KPI异常检测算法实现智能异常检测。日志。

3.2 分词算法和FT-Tree通用日志模板提取算法

现有的分词算法可以分为三类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。 根据是否结合词性标注过程,可分为单纯的分词方法和分词与标注相结合的综合方法。

由于海量日志的格式千变万化,无法通过标注来分析。 因此,我们通过简单的分词和FT-Tree提取模板和特征变量。

FT-tree 是一种扩展的前缀树结构,用于表示系统日志消息模板。 它是清华大学研究人员基于频率模式树(FP-tree)改造而来的。 FT-tree 具有很高的准确率。 并支持增量学习,基本思想是syslog消息中detail字段的子类型通常是最长的频繁出现的单词组合。 因此,提取模板相当于从 syslog 消息中识别最长的频繁出现的单词组合。

基于FT-Tree算法的算法模型天然支持增量学习,能够很好地处理流式日志。 随着日志的增加,模板集也在不断完善和更新。 有了日志模板后,很容易将各种日志转换成模板序列,进行频率统计,识别变量分布,进行异常检测。 原理和步骤如图2所示:

rac 启动数据库_9i rac 起库_oracle 10g rac 启动

图 2

基于FT-Tree的日志模板提取算法,主要流程分为三个部分:分词、模板提取和校正统计。

分词 对于一般的文本分词和变量抽取,我们做了专门的抽取编译器。 这样只需要遍历一次日志,就可以提取出所有指定类型的变量和词; 对于定制量特别大的时间戳,我们也预留了一个接口供运维人员定制的抽取,这部分使用正则表达式匹配的方式来实现。 两种方法的整体提取效率可以达到每核每秒数万条文本日志。

核心模板提取算法采用FT-Tree,本质上是一种基于词频统计的词典树构建-检索算法。 与大多数传统的模板提取方法(如常见的聚类方法)相比,FT-Tree可以在线性时间内完成更高精度的提取,在训练样本数据量较大(千万级)时优势更加明显。

最后,我们通过计算模板编辑距离来评估模板提取效果,并尝试聚合非常相似的模板。

3.3 KPI异常检测算法

提取日志模板和键值后,我们使用KPI异常检测算法进行分析检测。 根据时间序列的特点、计算资源的分配和数据的时间,我们合理选择不同的模型组合来训练生成相应的模型。 使用的技术和算法包括:

■ 变分自动编码器

■ 渐进梯度回归树

■微分指数移动平均线

■极值论

■周期性中值检测

当数据积累到一定程度后,就可以在实际环境中开始在线检测了。 在线检测使用训练模型对应的关键特征生成算法生成新时间点的特征,并使用训练模型对新时间点进行分析。 对异常程度进行评分以判断异常。