技术摘要:
本申请实施例公开了一种基于Prometheus的日志告警系统,包括;日志模块,监控模块和Elasticsearch模块;其中,监控模块包括数据采集单元,Prometheus服务单元,告警单元;日志模块用于获取关键字,并向数据采集单元发送关键字;数据采集单元用于根据关键字,周期性的检 全部
背景技术:
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能 力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到 实时搜索,稳定,可靠,快速,安装使用方便。 ElastAlert是基于ElasticSearch体系下的日志告警框架。它的工作原理是将 Elasticsearch与规则类型和告警类型的组件相结合,周期性的查询Elasticsearch并将数 据传递给规则类型,该类型确定何时找到匹配项。当匹配发生时,ElastAlert将赋予一个或 多个告警,这些告警根据匹配采取行动。Prometheus是一套开源的监控,报警,时间序列数 据库的组合。Prometheus可以需要非常少的外部依赖,安装使用超简单,并且已经有非常多 的系统集成例如:docker HAProxy Nginx JMX等等。随着发展,越来越多公司和组织接受采 用Prometheus。 若一个公司同时存在ElastAlert和Prometheus两种告警体系,则不可避免的会发 生重复告警、管理繁琐等问题。
技术实现要素:
本申请提供了一种基于Prometheus的日志告警系统、方法以及相关设备,可以将 ElasticSearch和Prometheus相结合,减小管理负担。 本申请第一方面提供了一种基于Prometheus的日志告警系统。 系统包括;日志模块,监控模块和Elasticsearch模块; 其中,监控模块包括数据采集单元,Prometheus服务单元,告警单元; 日志模块用于获取关键字,并向数据采集单元发送关键字; 数据采集单元用于根据关键字,周期性的检索Elasticsearch模块,以获得与关键 字对应的第一日志数据,数据采集单元还用于提供传输第一日志数据的http服务; Prometheus服务单元用于通过http服务获取第一日志数据并存储; 告警单元用于若Prometheus服务单元中第一日志数据的数量大于第一阈值,则告 警。 可选地,数据采集单元包括数据采集子单元,数据格式转换子单元和http服务传 输子单元; 数据采集单元具体用于通过数据采集子单元根据关键字,第一周期性的检索 Elasticsearch模块,以获得与关键字对应的第一格式的第一日志数据; 数据格式转换子单元用于转换第一日志数据的格式,以获得适应Prometheus服务 4 CN 111581060 A 说 明 书 2/11 页 单元的第二格式的第一日志数据; 数据采集单元具体用于通过http服务传输子单元提供传输第二格式的第一日志 数据的http服务。 可选地,Prometheus服务单元具体用于第二周期性的通过http服务获取第一数量 的第一日志数据并存储; 告警单元具体用于若在时长N×M内,第一数量的和大于第一阈值,则告警,M为所 述第一周期性的时长,第二周期性的周期时长为N×M,N为大于1的整数。 可选地,日志模块还用于获取第二周期性的周期信息,周期信息包括N,并向数据 采集单元发送周期信息; 数据采集单元体用于根据周期信息,以N×M为一周期,第二周期性的提供传输第 一日志数据的http服务。 本申请第二方面提供了一种基于Prometheus的日志告警方法。 方法包括:监控模块获取关键字; 监控模块根据关键字,周期性的检索Elasticsearch模块,以获得与关键字对应的 第一日志数据; 监控模块提供传输第一日志数据的http服务; 监控模块通过http服务获取第一日志数据并存储; 若Prometheus服务单元中第一日志数据的数量大于第一阈值,则监控模块告警。 可选地,监控模块根据关键字,第一周期性的检索Elasticsearch模块,以获得与 关键字对应的第一日志数据包括: 监控模块根据关键字,第一周期性的检索Elasticsearch模块,以获得与关键字对 应的第一格式的第一日志数据; 方法还包括: 监控模块转换第一日志数据的格式,以获得适应Prometheus服务单元的第二格式 的第一日志数据; 监控模块通过http服务获取第一日志数据包括: 通过http服务获取第二格式的第一日志数据。 可选地,监控模块提供传输第一日志数据的http服务包括: 监控模块第二周期性的提供传输第一数量的第一日志数据的http服务; 若Prometheus服务单元中第一日志数据的数量大于第一阈值,则监控模块告警包 括: 若在时长N×M内,第一数量的和大于第一阈值,则监控模块告警,M为第一周期性 的周期时长,第二周期性的周期时长为N×M,N为大于1的整数。 可选地,方法还包括:监控模块获取第二周期性的周期信息,周期信息包括N; 监控模块根据周期信息,以N×M为一周期,第二周期性的提供传输第一日志数据 的http服务。 本申请第三方面提供了一种基于Prometheus的日志告警装置。 装置包括:第一获取单元,用于获取关键字; 第二获取单元,用于根据关键字,周期性的检索Elasticsearch模块,以获得与关 5 CN 111581060 A 说 明 书 3/11 页 键字对应的第一日志数据; 处理单元,用于提供传输第一日志数据的http服务; 第三获取单元,用于通过http服务获取第一日志数据; 告警单元,用于若第三获取单元中第一日志数据的数量大于第一阈值,则告警。 可选地,第二获取单元具体用于根据关键字,第一周期性的检索Elasticsearch模 块,以获得与关键字对应的第一格式的第一日志数据。 装置还包括:转换单元,用于转换第一日志数据的格式,以获得适应Prometheus服 务单元的第二格式的第一日志数据。 第三获取单元具体用于通过http服务获取第二格式的第一日志数据。 可选地,处理单元具体用于第二周期性的提供传输第一数量的第一日志数据的 http服务。 告警单元具体用于若在时长N×M内,第一数量的和大于第一阈值,则监控模块告 警,M为第一周期性的周期时长,第二周期性的周期时长为N×M,N为大于1的整数。 可选地,第一获取单元还用于获取第二周期性的周期信息; 处理单元具体用于根据周期信息,以N×M为一周期,第二周期性的提供传输第一 日志数据的http服务。 本申请第四方面提供了一种基于Prometheus的日志告警设备。 设备包括:存储器、处理器; 其中,存储器用于存储程序;处理器用于执行存储器中的程序,包括执行如上述第 二方面中任意一项所述的方法。 本申请实施例第五方面提供了一种计算机存储介质,包括: 所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算 机执行如上述第二方面中任意一项所述的方法。 本申请实施例第六方面提供了一种计算机程序产品,其特征在于,所述计算机程 序产品在计算机上执行时,使得所述计算机执行如上述第二方面中任意一项所述的方法。 从以上技术方案可以看出,本申请具有以下优点:数据采集单元可以检索 Elasticsearch模块,以获得与关键字对应的第一日志数据,并提供传输所述第一日志数据 的http服务,Prometheus服务单元可以通过http服务获取第一日志数据。因此,该基于 Prometheus的日志告警系统既能拥有Elasticsearch的优点,也拥有Prometheus的优点,且 可以在基于Prometheus的一种告警框架下实现,因此可以减少管理负担。 附图说明 图1A为本申请实施例中基于Prometheus的日志告警系统的一个框架示意图; 图1B为本申请实施例中基于Prometheus的日志告警系统的另一个框架示意图; 图2为本申请实施例中的基于Prometheus的日志告警方法的一个流程示意图; 图3为本申请实施例中的基于Prometheus的日志告警方法的另一个流程示意图; 图4为本申请实施例中的基于Prometheus的日志告警装置的一个结构示意图; 图5为本申请实施例中的基于Prometheus的日志告警装置的另一个结构示意图; 图6为本申请实施例中的基于Prometheus的日志告警设备的一个结构示意图。 6 CN 111581060 A 说 明 书 4/11 页