一种基于ElastAlert的可视化日志告警系统和方法与流程

文档序号:15829068发布日期:2018-11-03 00:16阅读:1114来源:国知局

本发明涉及云平台日志告警技术,具体涉及到elasticsearch、shell、elastalert等技术领域,具体的说是一种基于elastalert的可视化日志告警系统和方法。

背景技术

elasticsearch是一个基于lucene的全文搜索服务,它提供了一个分布式多用户能力的全文搜索引擎,基于restfulweb接口。elasticsearch是用java开发的,并作为apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎;设计用于云计算中,能够达到实时搜索,稳定可靠快速,安装使用方便,是一款非常优秀的全文搜索服务。

elasticsearch使用lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的api即可,并不需要了解其背后复杂的lucene的运行原理。当然elasticsearch并不仅仅是lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索;实时分析的分布式搜索引擎;可以扩展到上百台服务器,处理pb级别的结构化或非结构化数据。这么多的功能被集成到一台服务器上,可以轻松地通过客户端或者任何程序语言与es(elasticsearch)的restfulapi进行交流。



技术实现要素:

本发明针对目前技术发展的需求和不足之处,提供一种基于elastalert的可视化日志告警系统和方法。

本发明所述一种基于elastalert的可视化日志告警系统,解决上述技术问题采用的技术方案如下:所述基于elastalert的可视化日志告警系统,其系统架构包括:

日志告警设置模块,用于云平台在可视化日志告警界面设置日志告警模板;

监控模块,用于云平台启动日志告警的事件监控队列;

告警文件生成模块,负责当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

告警模块,负责监控es中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示。

进一步,所述日志告警设置模块,可视化日志告警页面通过javascript技术实现。

进一步,所述基于elastalert的可视化日志告警系统,还包括拷贝模块,负责通过shell脚本将日志告警文件远程拷贝到elastalert所在虚拟机。

进一步,所述基于elastalert的可视化日志告警系统,还包括启动模块,负责读取将日志告警文件远程拷贝到elastalert所在虚拟机时的配置文件,并启动elastalert进程。

本发明提出一种基于elastalert的可视化日志告警方法,其实现流程包括:

步骤1、云平台在可视化日志告警页面设置日志告警模板;

步骤2、云平台启动日志告警的事件监控队列;

步骤3、当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

步骤4、监控es中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示。

进一步,所述步骤1,可视化日志告警页面通过javascript技术实现。

进一步,所述基于elastalert的可视化日志告警方法,还包括将日志告警文件拷贝到elastalert所在虚拟机的步骤,

通过shell脚本将日志告警文件远程拷贝到elastalert所在虚拟机。

进一步,所述基于elastalert的可视化日志告警方法,还包括读取将日志告警文件远程拷贝到elastalert所在虚拟机时的配置文件,启动elastalert进程的步骤。

本发明所述一种基于elastalert的可视化日志告警系统和方法,与现有技术相比具有的有益效果是:本发明能很好的接入并兼容市面上各类云平台及采用es技术进行日志采集的系统,对日志信息自动化监控,实现云平台可视化的日志告警,解决平台日志告警模式的缺失;

通过可视化的配置方式,将复杂的elastalert配置自动化,简单化,可视化,且不用担心yml文件最容易出现的格式不正确等问题,大大节省了云平台开发运维成本、人员成本,缩短了开发的周期,操作简单,易用性,通用性都得到保证,极具推广价值。

附图说明

为了更清楚的说明本发明实施例或现有技术中的技术内容,下面对本发明实施例或现有技术中所需要的附图做简单介绍。显而易见的,下面所描述附图仅仅是本发明的一部分实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,但均在本发明的保护范围之内。

附图1为实施例1基于elastalert的可视化日志告警系统的示意图;

附图2为实施例1基于elastalert的可视化日志告警方法的流程图;

附图3为实施例2基于elastalert的可视化日志告警方法的流程图。

具体实施方式

为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。

目前,云平台缺少日志告警机制,通用于市面上各类云平台的日志采集系统更是稀缺。鉴于此,本发明提出了一种基于elastalert的可视化日志告警方案,用来解决云平台日志告警模式的缺失。其中,elastalert是yelp公司开源的一套用python写的报警框架,可以通过es的查询语言,完成对es中索引数据的告警,方便应用于日志采集系统;可以很好的完成对索引数据的监控,告警操作。

实施例1:

本实施例提出一种基于elastalert的可视化日志告警系统,附图1为实施例1基于elastalert的可视化日志告警系统的示意图,如附图1所示,其系统架构包括:

日志告警设置模块,用于云平台通过elastalert技术,在可视化日志告警界面设置通用于各类云平台的日志告警模板;可视化日志告警页面可以通过javascript等技术实现。

监控模块,用于云平台在rabbitmq中启动日志告警的事件监控队列;

告警文件生成模块,负责当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

告警模块,负责监控es(elasticsearch)中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示;

该可视化日志告警系统的实施过程,如附图1所示:通过日志告警设置模块设置可视化日志告警模板,然后通过监控模块启动日志告警的时间监控队列;当监控到设置日志告警的服务实例被创建后,云平台的worker节点通过告警文件生成模块生成该实例对应的日志告警文件;并监控es中的日志信息当满足告警策略时,通过告警模块产生日志告警,并回调平台监控完成日志告警提示。

本实施例基于elastalert的可视化日志告警系统,通过elastalert技术,采用可视化的日志告警方案设计,完成通用于市面上各类云平台的日志告警系统;能很好的接入并兼容市面上各类云平台及采用es技术进行日志采集的系统,对日志信息自动化监控,实现云平台的日志告警,解决了平台日志告警模式的缺失。

本实施例还提出一种基于elastalert的可视化日志告警方法,其技术方案可以与实施例1基于elastalert的可视化日志告警系统相互参考,如附图2所示,主要包含以下步骤:

步骤1、云平台通过elastalert技术,在可视化日志告警页面设置通用于各类云平台的日志告警模板;可视化日志告警页面可以通过javascript等技术实现。

步骤2、云平台在rabbitmq中启动日志告警的事件监控队列;

步骤3、当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

步骤4、监控es中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示。

本实施例基于elastalert的可视化日志告警方法,通过elastalert技术,按照上述方法步骤,通过可视化的日志告警方案设计,实现通用于各类云平台的日志告警;能很好的接入并兼容市面上各类云平台及采用es技术进行日志采集的系统,解决平台日志告警模式的缺失。

实施例2:

本实施例提出的一种基于elastalert的可视化日志告警系统,在实施例1基于elastalert的可视化日志告警系统的基础上,还包括拷贝模块和启动模块,将繁琐复杂的elastalert配置文件,抽象成简单易用的且具备友好交互的可视化页面,大大节约了开发成本,缩短了开发部署的周期。

本实施例基于elastalert的可视化日志告警系统,其系统架构包括:

日志告警设置模块:通过云平台,完成可视化的日志告警模板设置;

监控模块:用于云平台在rabbitmq中启动事件监控队列;

告警文件生成模块:当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

拷贝模块,负责通过shell脚本将日志告警文件远程拷贝到elastalert所在虚拟机;

启动模块,负责读取将日志告警文件远程拷贝到elastalert所在虚拟机时的配置文件(elastalert配置文件),并启动elastalert进程;

告警模块,负责监控es中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示。

本实施例还提出一种基于elastalert的可视化日志告警方法,其技术方案可以与实施例2基于elastalert的可视化日志告警系统相互参考,增加了将日志告警文件拷贝到elastalert所在虚拟机,以及读取elastalert配置文件,启动elastalert进程的步骤。

附图3为实施例2基于elastalert的可视化日志告警方法的流程图,下面将本实施例的具体实现过程(如附图3所示),以及实现过程中的部分关键代码介绍如下:

步骤1、云平台通过elastalert技术,在可视化的日志告警页面设置通用于各类云平台的日志告警模板;

步骤2、云平台在rabbitmq中启动日志告警的事件监控队列;

关键代码如下:

步骤3、当监控到已设置日志告警的服务实例被创建时,云平台的worker节点生成该实例对应的日志告警文件;

步骤4、通过shell脚本将日志告警文件远程拷贝到elastalert所在虚机;

关键代码如下:

步骤5、读取步骤四(将日志告警文件远程拷贝到elastalert所在虚拟机时)的elastalert配置文件,启动elastalert进程;

步骤6、监控es中的日志信息,当满足告警策略时,产生日志告警,并回调平台监控,完成日志告警提示。

本实施例基于elastalert的可视化日志告警方法,通过elastalert技术,采用可视化的日志告警设计,实现通用于市面上各类云平台的日志告警;能很好的接入并兼容市面上各类云平台及采用es技术进行日志采集的系统,对日志信息自动化监控,实现可视化的日志告警,解决平台日志告警模式的缺失;将复杂的elastalert配置自动化,简单化,可视化,且不用担心yml文件最容易出现的格式不正确等问题,大大节约了开发运维成本、人员成本,缩短了开发部署的周期。

以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1