logo好方法网

一种基于ELK的日志埋点的业务分析告警系统及方法


技术摘要:
本发明涉及数据处理领域,具体涉及一种基于ELK的日志埋点的业务分析告警系统,包括业务系统,用于执行业务操作和保存业务数据,生成业务的原始日志信息;还包括数据采集模块、预处理模块、处理模块、分析模块和输出模块,其中:数据采集模块,用于采集业务系统的原始日  全部
背景技术:
业务是一个企业的关键,随着社会的发展,网络技术和信息技术被广泛地应用于 现代企业运行中;但是在对业务信息的管理分析工作方面,目前仍然停留在用户以主动方 式触发数据管理和分析功能,例如,需要用户输入一定条件,查询数据或者生成分析报表 等;而这些信息往往滞后于现实,无法及时发现问题,使企业错失机会,蒙受不必要的损失。 企业不仅需要对过去数据进行查看分析,更加希望了解当前实时状态下,各种数据的变化 情况,并且希望第一时间获得提示或者收到报警信息。 对此,中国专利公开号为CN110851321A的文件中公开了一种业务告警方法、设备 及存储介质,其中方法包括:对多条告警记录进行聚类得到多条告警记录中的每条告警记 录所属的告警集合;根据多条告警记录和多条告警记录的每条告警记录的业务标签,生成 得到训练样本;利用训练样本对支持向量机进行训练,得到业务告警模型;利用业务告警模 型对目标告警记录进行分析得到目标告警记录的业务标签,并生成包括目标告警记录和目 标告警记录的业务标签的告警信息。 该方案先通过聚类来得到包含告警记录和告警记录的业务标签的训练样本,然后 利用该训练样本训练支持向量机得到业务告警模型,最后利用业务告警模型分析目标告警 记录的业务标签,生成告警信息,能够实现对异常业务的快速告警;但是,为了实现监控功 能,都需要在监控程序中植入与业务无关的监控类程序代码,增加代码的耦合性和不稳定 性;同时,若要对多个应用程序实现监控,需要在每个程序中增加监控类代码,存在扩展性 较差的问题,久而久之使得业务监控很难提供有效和长期的支撑。
技术实现要素:
本发明意在于提供一种基于ELK的日志埋点的业务分析告警系统及方法,能够解 决应用程序扩展性较差的问题。 本发明提供的基础方案为:一种基于ELK的日志埋点的业务分析告警系统,包括业 务系统,用于执行业务操作和保存业务数据,生成业务的原始日志信息;还包括数据采集模 块、预处理模块、处理模块、分析模块和输出模块,其中,数据采集模块,用于采集业务系统 的原始日志信息;预处理模块,用于接收原始日志信息,并对原始日志信息进行格式序列 化,生成标准日志信息;处理模块,用于通过Logstash收集标准日志信息,并推送给 Elasticsearch,通过Elasticsearch对标准日志信息进行聚合;分析模块,用于根据预先配 置的告警规则处理Elasticsearch上的标准日志信息,生成告警推送;输出模块,用于接收 并显示告警推送。 本发明的工作原理及优点在于: 3 CN 111581054 A 说 明 书 2/6 页 本方案中,采用预处理模块对采集到的原始日志信息进行格式序列化处理,统一 了日志的格式,定义了业务监控相关维度关注的信息,能够解决日志“杂乱”的问题;不仅如 此,由于业务系统生成的日志信息后续还需输入到ELK架构中进行日志处理分析,所以原始 日志信息经过格式序列化,能够输出规范的标准日志信息;相较于现有的日志分析监控系 统直接由Logstash集群模块获取来自不同业务系统的日志数据来说,而本方案中是在业务 系统与ELK框架之间设置中间服务组件,即通过数据采集模块采集业务系统的原始日志信 息,并将原始日志信息传输到预处理模块进行格式序列化,再由Logstash收集标准化后的 日志信息;这样对于ELK框架而言,就无需再针对于不同的业务日志构建复杂的指令进行数 据信息的获取,体现出整体低耦合的特点,进而体现出系统高扩展性的特性;同时,基于ELK 构架的能力可以实现对业务指标的分析聚合,根据预设的告警规则来查询Elasticsearch 进行告警推送,也能够帮助用户更好地发现业务逻辑或者功能点中的异常。 进一步,所述预处理模块,具体用于读取业务系统中原始日志信息的应用名称、业 务指标、应用运行环境信息、运行服务器和业务发生的时间戳。 有益效果:应用名称、业务指标、应用运行环境等日志信息能够反映出业务系统的 整体情况;本方案中的预处理模块能够起到规范日志输出的作用,便于将分散在各个业务 系统上的日志信息集中处理,进而完成后续的日志监控。 进一步,所述分析模块,具体用于配置数据查询请求,并定时向Elasticsearch上 的标准日志信息发送数据查询请求,生成查询结果信息;如果查询结果信息大于预设阈值, 则生成告警推送。 有益效果:采用这种方式,用户可以结合到具体需求和意愿配置相关的数据查询 请求,定时在Elasticsearch上进行查询,根据预设的阈值处理查询的结果,从而得到告警 信息;能够极大程度的满足个人需求。 进一步,还包括数据展示模块,用于搭建Kibana环境,并调用Elasticsearch上的 标准日志信息,进行可视化展示。 有益效果:Kibana是一个开源的分析和可视化平台,能够用来调用Elasticsearch 上标准日志信息,并和存储在Elasticsearch索引中的数据进行交互;可以轻松地执行高级 数据分析,并且以各种图标、表格的形式可视化数据;Kibana使得理解大量数据变得更容 易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示 Elasticsearch查询的变化。 进一步,所述处理模块,具体用于提取业务指标中的数值字段,并对数值字段进行 多值聚合分析,生成数值字段的最小值、最大值、平均值以及总数。 有益效果:Elasticsearch除了能够提供搜索功能外,还具备针对数据做统计分析 的能力;即本方案中采用对业务指标中的数值字段进行多值聚合分析,并得到相应的最大 值、最小值、平均值和总数,能够便于后续业务日志的查询和分析,根据用户需求得到特定 的检测结果。 本发明还提供了一种基于ELK的日志埋点的业务分析告警方法,包括如下步骤: S1、采集业务系统的原始日志信息; S2、接收原始日志信息,并对原始日志信息进行格式序列化,生成标准日志信息; S3、通过Logstash收集标准日志信息,并推送给Elasticsea rch,通过 4 CN 111581054 A 说 明 书 3/6 页 Elasticsearch对标准日志信息进行聚合分析; S4、根据预先配置的告警规则处理Elasticsearch上的标准日志信息,生成告警推 送; S5、接收并显示告警推送。 有益效果:本方案中,首先对业务系统的原始日志信息进行格式序列化,不仅能够 将分散在各个业务系统的日志信息进行集中监视;还可以统一日志输出的格式,即输出规 范的标准日志信息,无需再针对于不同的业务日志构建复杂的指令进行数据信息的获取, 体现出整体低耦合的特点,进而体现出系统的高扩展性;最后,由于Elasticsearch具备实 时搜索、实时分析的特点,通过预先配置的告警规则查询Elasticsearch上的标准日志信 息,生成告警推送,能够帮助用户及时发现业务系统异常事件。 进一步,所述步骤S4具体包括:S41、配置数据查询请求,并定时向Elasticsearch 发送数据查询请求,生成标准日志信息的查询结果信息;如果查询结果信息大于预设阈值, 则生成告警推送。 有益效果:采用这种方式能够体现出个性化及定制化的服务能力,用户可以根据 实际情况和需求预先设定查询请求和阈值。 进一步,所述步骤S4之前还包括步骤:S4 2、搭建Ki ba n a环境,并调用 Elasticsearch上的标准日志信息,进行可视化展示。 有益效果:在ELK技术栈中Kibana主要担任视图层角色,由各种维度的查询和分析 功能,可以将存放在Elasticsearch中的数据通过图形化界面展示出来。 进一步,所述步骤S3具体包括步骤:S31、通过Elasticsearch提取业务指标中的数 值字段,并对数值字段进行多值聚合分析,生成数值字段的最小值、最大值、平均值以及总 数。 有益效果:聚合分析运算是数据库中重要的特性,对于数据分析场景尤为重要;与 传统的Hadoop等大数据系统相比,Elasticsearch具备高实时性(即计算结果即时返回)的 特点。 进一步,所述步骤S4之后还包括步骤:S43、创建数据库,通过数据库收集并存储告 警推送。 有益效果:将告警推送保存在数据库中,能够便于用户根据自己的需求从数据库 中调取相关业务的告警推送。 说明:耦合就是对某元素与其它元素之间的连接、感知和依赖的量度;这里所说的 元素,即可以是功能、对象(类),也可以指系统、子系统、模块。假如一个元素A去连接元素B, 或者通过自己的方法可以感知B,或者当B不存在的时候就不能正常工作,那么就说元素A与 元素B耦合。耦合带来的问题是,当元素B发生变更或不存在时,都将影响元素A的正常工作, 影响系统的可维护性和易变更性。同时元素A只能工作于元素B存在的环境中,这也降低了 元素A的可复用性; Logstash是一个用来搜集、分析、过滤日志的工具,它支持几乎任何类型的日志, 包括系统日志、错误日志和自定义应用程序日志;它可以从许多来源接收日志,这些来源包 括syslog、消息传递(例如RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、 websockets和Elasticsearch; 5 CN 111581054 A 说 明 书 4/6 页 Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能; 是一套开放REST和JAVA  API等结构提供高效搜索功能,可扩展的分布式系统;它构建于 ApacheLucene搜索引擎库之上; K i b a n a是一个基于W e b的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据;它利用Elasticsearch的REST接口来检索数据,不仅允 许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数 据。 附图说明 图1为本发明一种基于ELK的日志埋点的业务分析告警系统及方法实施例一的系 统框图。 图2为本发明一种基于ELK的日志埋点的业务分析告警系统及方法实施例一的流 程图。
分享到:
收藏