CN111581060B - 基于Prometheus的日志告警***、方法以及相关设备 - Google Patents
基于Prometheus的日志告警***、方法以及相关设备 Download PDFInfo
- Publication number
- CN111581060B CN111581060B CN202010392449.2A CN202010392449A CN111581060B CN 111581060 B CN111581060 B CN 111581060B CN 202010392449 A CN202010392449 A CN 202010392449A CN 111581060 B CN111581060 B CN 111581060B
- Authority
- CN
- China
- Prior art keywords
- log data
- log
- unit
- periodicity
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 58
- 230000000737 periodic effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 239000000523 sample Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 229920001971 elastomer Polymers 0.000 description 6
- 239000000806 elastomer Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种基于Prometheus的日志告警***,包括;日志模块,监控模块和Elasticsearch模块;其中,监控模块包括数据采集单元,Prometheus服务单元,告警单元;日志模块用于获取关键字,并向数据采集单元发送关键字;数据采集单元用于根据关键字,周期性的检索Elasticsearch模块,以获得与关键字对应的第一日志数据,数据采集单元还用于提供传输第一日志数据的http服务;Prometheus服务单元用于通过http服务获取第一日志数据并存储;告警单元用于若Prometheus服务单元中第一日志数据的数量大于第一阈值,则告警。
Description
技术领域
本申请涉及自动告警领域,尤其涉及基于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服务单元的第二格式的第一日志数据;
数据采集单元具体用于通过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模块,以获得与关键字对应的第一日志数据;
处理单元,用于提供传输第一日志数据的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的日志告警设备的一个结构示意图。
具体实施方式
本申请提供了一种基于Prometheus的日志告警***、方法以及相关设备,可以将ElasticSearch和Prometheus相结合,减小管理负担。
云原生是个不断在发展的技术方向,其定义也会在日后不断演进。狭义的讲,云原生包含以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。它不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据,可以在很短的时间内存储、搜索和分析大量的数据。
Prometheus是部署在Kubernates上用于观察工作负载的一个云原生监控工具。它通过全面的指标和丰富的仪表板填补了云原生世界中存在的重要空白。Prometheus整合了像Grafana这样主流的数据可视化工具。Kubernates接下来推出的有关扩展和监控的功能都将取决于Prometheus,这使Prometheus成为云原生平台建设中至关重要的一个项目。
在云原生时代,Prometheus几乎已成为监控领域的事实标准。Prometheus自带高效的时序数据库存储,可以让单台Prometheus能够高效的处理大量的数据。还有友好并且强大的PromQL语法,可以用来灵活的查询各种监控数据以及配置告警规则。同时它的pull模型指标采集方式被广泛采纳,非常多的应用都实现了Prometheus的metrics接口以暴露自身各项数据指标让Prometheus去采集。因此,我们希望结合Elasticsearch在搜索方面上的优点和Prometheus在监控方面上优点,创建一个包含两者优点的监控框架体系。因为Elasticsearch没有适配metrics接口以暴露自身各项数据指标让Prometheus去采集,因此需要第三方运用帮助Elasticsearch适配Prometheus,以获得一种基于Prometheus的日志告警***、方法以及相关设备。
下面将通过具体的实施例对基于Prometheus的日志告警***进行描述。
请查看图1A,图1A为本申请实施例中基于Prometheus的日志告警***的一个框架示意图。
图1A包括日志模块101,监控模块102,Elasticsearch模块103。其中,监控模块102包括数据采集单元104,Prometheus服务单元105,告警单元106。
监控模块102是专门用来进行监控和告警的,可以包括操作***层监控,应用层监控和业务层监控,云容器监控,日志监控等,在本申请实施例中,监控模块102主要的功能是关于日志监控的内容。日志监控可以理解为日志告警,在实际应用中,日志数据一般以文本的形式进行保存。而以文本形式进行保存的数据,可以通过Elasticsearch来进行搜索。
日志模块101是一种用来收集并查询日志数据的软件。日志模块101用于获取关键字,向数据采集单元104发送关键字。
Elasticsearch模块103可以是一个Elasticsearch服务器,存储有日志数据。
数据采集单元104用于根据关键字,第一周期性的检索Elasticsearch模块103,以获得第一日志数据,提供传输第一日志数据的http服务,也可以理解为,创建一个metrics接口,用于让Prometheus服务单元105采集第一日志数据。第一周期性的周期时长是预先设置的。数据采集单元104可以和Elasticsearch模块103事先约定第一周期性的周期时长,或者数据采集单元104根据Elasticsearch模块103默认的周期时长作为第一周期性的周期时长。
Prometheus服务单元105是一个Prometheus工具,用于通过http服务获取第一日志数据;
告警单元106用于若Prometheus服务单元105中第一日志数据的数量大于第一阈值,则告警。
本申请实施中的数据采集单元104可以检索Elasticsearch模块103,并提供传输所述第一日志数据的http服务,Prometheus服务单元105可以通过http服务获取第一日志数据。因此,该基于Prometheus的日志告警***既能拥有Elasticsearch的优点,也拥有Prometheus的优点,且可以在基于Prometheus的一种告警框架下实现,因此可以减少管理负担。
请查看图1B,图1B为本申请实施例中基于Prometheus的日志告警***的另一个框架示意图。
可选地,在图1A的基础上,数据采集单元104包括数据采集子单元107,数据格式转换子单元108和http服务传输子单元109。
数据采集子单元107用于根据关键字,第一周期性的检索Elasticsearch模块103,以获得与关键字对应的第一数量的第一格式的第一日志数据。通过对第一日志数据进行格式转换,可以使得第一日志数据的格式与Prometheus服务单元105相适应。
数据格式转换子单元108用于转换第一日志数据的格式,以获得第二格式的第一日志数据。
可选地,第一格式为json格式,第二格式为metics格式。
可选地,数据采集单元104具体用于第二周期性地提供传输第一日志数据的http服务;Prometheus服务单元具体用于第二周期性的通过http服务获取第一数量的第一日志数据;告警单元具体用于若在时长N×M内,第一数量的和大于第一阈值,则告警,M为第一周期性的周期时长,第二周期性的周期时长为N×M,N为大于1的整数。其中,告警单元106在时长N×M内,第一数量的和大于第一阈值时,告警单元106才会进行告警。因此,通过Prometheus服务单元105第二周期性获取第一日志数据,可以减小Prometheus服务单元105获取第一日志数据的次数,提升获取第一日志数据的效率,降低能量的消耗。
可选地,日志模块101还用于获取第二周期性的周期信息,周期信息包括所述N,并向数据采集单元发送所述周期信息。数据采集单元104具体用于以根据周期信息,以N×M为一周期,第二周期性的提供传输第一日志数据的http服务。其中,日志模块101面向用户,用户除了可以在日志模块101中添加关键字以外,用户还可以在日志模块中添加第二周期性的周期信息,用于控制数据采集单元提供传输第一日志数据的http服务的周期时长。因此,将周期信息和关键字都放入日志模块,可以方便用户对本申请实施例中的告警***进行管理和修改,降低管理和修改的复杂度。
可选地,日志模块101还用于获取第一周期性和第三周期性的间隔时长,第一周期性的一个周期时长为M,第三周期性的一个周期时长也为M;日志模块101还用于向所述数据采集单元104发送所述间隔时长。数据采集单元104具体用于根据关键字,第三周期性检索Elasticsearch模块103,以获得第二数量的第一日志数据。Prometheus服务单元105还用于通过http服务获取第二数量的第一日志数据;告警单元还用于若第二数量大于第一阈值,则告警。
其中,第三周期性的周期时长和第一周期性的周期时长相同。数据采集单元104分别以不同的时间点为起点,两个起点的间隔就是间隔时长。使用关键字检索Elasticsearch模块103,可以产生两个时序的日志数据。即使是相同的关键字,相同的周期时长,不同时序的日志数据的告警结果也可能不同。例如,连续3个周期的第一数量的和大于50,而连续3个周期的第二数量的和小于50,告警单元106对第一数量的和告警,告警单元106不对第二数量的和告警。因此,通过日志模块101获取间隔时长,数据采集单元104可以获得两个时间序列的日志数据,提高相同关键字下的告警概率,提升告警的准确性。
可选地,数据采集单元104是根据prometheus的SDK编程获得的。其中,数据采集单元104需要与prometheus服务单元105对接,且prometheus服务单元是一个prometheus工具。因此通过采用prometheus的SDK,可以降低编程的工作量。
上面对本申请实施例中的基于Prometheus的日志告警***进行了描述,下面对本申请实施例中的基于Prometheus的日志告警方法进行描述。
请参阅图2,图2为本申请实施例中的基于Prometheus的日志告警方法的一个流程示意图。
在步骤201中,设备获取关键字。
设备是拥有计算能力,安装有监控模块的设备,监控模块可以是软件,设备可以是笔记本,台式电脑,服务器等。设备可以获取多个关键字,用于多个关键字的日志告警,例如表一,表一为设备获取的关键字的表格。本申请实施例仅以一个关键字为例进行说明。
编号 | 关键字 |
1 | 软件X |
2 | 软件M |
表一
在步骤202中,设备根据关键字,周期性的检索Elasticsearch模块,以获得第一数量的第一日志数据。
以上述关键字软件X为例,请参考表二,表二为第一日志数据的一个结构示意图。应当确定的是,表二中的关键字,时间段,日志数量都是为了详细说明而以具体的数值体现,在实际应用中,可以根据实际需要做相应的改动。例如,时间段的时长可以改变,时间段的起点时间可以改变,日志数量可以改变等。第一数量为表二中的某个日志数量,例如10。
关键字 | 时间段 | 日志数量 |
软件X | 15:00:15-15:00:30 | 10 |
软件X | 15:00:30-15:00:45 | 15 |
软件X | 15:00:45-15:00:60 | 5 |
软件X | 15:00:60-15:01:15 | 6 |
表二
在步骤203中,设备提供传输所述第一日志数据的http服务。设备带有数据采集单元,数据采集单元是基于prometheus的go语言版sdk开发的,通过暴露一个端口,即可对外提供标准的http服务。
在步骤204中,设备通过http服务获取第一日志数据。
在设备提供传输第一日志数据的http服务后,设备可以通过http服务获取第一数量的第一日志数据,以得到第一日志数据的时序数据。请参阅表三,表三为第一日志数据的时序数据。
关键字 | 时间段 | 日志数量 |
软件X | 15:00:15 | 10 |
软件X | 15:00:30 | 25 |
软件X | 15:00:45 | 30 |
软件X | 15:00:60 | 36 |
表三
在步骤205中,若通过http服务获取的多个时间段的第一数量的和大于第一阈值,则设备告警。
以上述表三为例,若连续2个时间段的的第一数量的和大于20,则告警。表三,第一时间段15:00:15-15:00:30的第一数量为10,第二时间段15:00:30-15:00:45的第一数量为15,2个时间段的第一数量的和为25,大于20,因此设备告警。
本申请实施中的设备可以检索Elasticsearch模块,并提供传输第一日志数据的http服务,通过http服务获取第一日志数据。因此,该基于Prometheus的日志告警方法既能拥有Elasticsearch的优点,也拥有Prometheus的优点,且可以在基于Prometheus的一种告警框架下实现,因此可以减少管理负担。
请参阅图3,图3为本申请实施例中的基于Prometheus的日志告警方法的另一个流程示意图。
在步骤301中,设备获取关键字,N和间隔时长。
其中,N为大于1的整数。本申请实施例以N为2进行描述。
间隔时长,为第一周期性的起始时间点和第三周期性的起始时间点的差值。第一周期性的一个周期为M,第二周期性的一个周期为N×M。本申请实施例以间隔时长为10S进行描述。
在步骤302中,设备根据关键字,以第一周期为周期时长,第一周期性的检索Elasticsearc模块,以获得第一数量的第一日志数据。设备还根据关键字,以第三周期为周期,第三周期性的检索Elasticsearc模块,以获得第二数量的第一日志数据。第三周期的周期时长和第一周期的周期时长相同。第一数量的第一日志数据请参考前述表二,第二数量的第一日志数据请参考表四,表四中的日志数量为第二数量。
关键字 | 时间段 | 日志数量 |
软件X | 15:00:05-15:00:20 | 8 |
软件X | 15:00:20-15:00:35 | 9 |
软件X | 15:00:35-15:00:50 | 10 |
软件X | 15:00:50-15:01:05 | 9 |
表四
在步骤303中,设备提供传输第一日志数据的http服务。在前述步骤301中,设备获取了告警周期N,即数值2。设备以2个第一周期为1周期,提供传输第一日志数据的http服务。应当确定的是,设备可以在一个端口同时提供传输第一数量的第一日志数据的http服务和传输第二数量的第一日志数据的http服务,也可以在不同端口提供http服务。设备设备带有数据采集单元。
在步骤304中,设备通过http服务获取第一数量的第一日志数据和第二数量的第一日志数据。
因为设备以2个第一周期为1周期,提供传输第一日志数据的http服务,设备也将以2个第一周期为1周期,通过http服务获取第一数量的第一日志数据,以得到第一数量的第一日志数据的时序数据。设备还可以以2个第一周期为1周期,通过http服务获取第二数量的第一日志数据,以得到第二数量的第一日志数据的时序数据。表五为第一数量的第一日志数据的时序数据,表六为第二数量的第一日志数据的时序数据。
关键字 | 时间段 | 日志数量 |
软件X | 15:00:15 | 25 |
软件X | 15:00:45 | 36 |
表五
关键字 | 时间段 | 日志数量 |
软件X | 15:00:05 | 17 |
软件X | 15:00:35 | 19 |
表六
在步骤305中,若连续N个周期通过http服务获取的第一数量的和大于第一阈值,则设备告警;若连续N个周期通过http服务获取的第二数量的和大于第一阈值,则设备告警。
因为设备以2个第一周期为1周期从http服务获取第一日志数据,即设备第二周期性的从http服务获取第一日志数据,因此设备可以不用再计算第一行和第二行的和,而是直接以数值25或17做判断。例如,在本申请实施例中,数值25大于数值20,因此连续2个第一周期通过http服务获取的第一数量的和大于20,设备告警。数值17小于数值20,因此连续2个第一周期通过http服务获取的第二数量的和小于20,设备不告警。
关于本申请实施例中对基于Prometheus的日志告警方法的有益效果的描述,可以参考前述图1A和图1B对基于Prometheus的日志告警***的有益效果的描述。
上面对本申请实施例中的基于Prometheus的日志告警方法进行了描述,下面对本申请实施例中的基于Prometheus的日志告警装置进行描述。
请参阅图4,图4为本申请实施例中的基于Prometheus的日志告警装置的一个结构示意图。
装置包括
第一获取单元401,用于获取关键字;
第二获取单元402,用于根据关键字,周期性的检索Elasticsearch模块,以获得与关键字对应的第一日志数据;
处理单元403,用于提供传输所述第一日志数据的http服务;
第三获取单元404,用于通过http服务获取第一日志数据;
告警单元405,用于若第三获取单元中第一日志数据的数量大于第一阈值,则告警。
本申请实施中的第二获取单元402可以检索Elasticsearch模块,处理单元403可以提供传输第一日志数据的http服务,第三获取单元404可以通过http服务获取第一日志数据。因此,该基于Prometheus的日志告警装置既能拥有Elasticsearch的优点,也拥有Prometheus的优点,且可以在基于Prometheus的一种告警框架下实现,因此可以减少管理负担。
在图4所述的基于Prometheus的日志告警装置的基础上,基于Prometheus的日志告警装置还可以包括以下内容:
请参阅图5,图5为本申请实施例中的基于Prometheus的日志告警装置的另一个结构示意图。
可选地,第二获取单元402具体用于根据关键字,第一周期性的检索Elasticsearch模块,以获得与关键字对应的第一格式的第一日志数据;
装置还包括:转换单元501,用于转换第一日志数据的格式,以获得适应Prometheus服务单元的第二格式的第一日志数据;
第三获取单元404具体用于通过http服务获取第二格式的第一日志数据。
可选地,处理单元403具体用于第二周期性的提供传输第一数量的第一日志数据的http服务。
告警单元405具体用于若在时长N×M内,第一数量的和大于第一阈值,则监控模块告警,M为第一周期性的周期时长,第二周期性的周期时长为N×M,N为大于1的整数。可选地,第一获取单元还用于获取第二周期性的周期信息;
处理单元403具体用于根据周期信息,以N×M为一周期,第二周期性的提供传输第一日志数据的http服务。
上面对本申请实施例中的基于Prometheus的日志告警装置进行了描述,下面对本申请实施例中的基于Prometheus的日志告警设备进行描述。
请参阅图6,图6为本申请实施例中基于Prometheus的日志告警设备的一个结构示意图。
所述基于Prometheus的日志告警设备可以是台式电脑,笔记本,或服务器等,图6是本申请实施例提供的一种基于Prometheus的日志告警设备的结构示意图,该基于Prometheus的日志告警设备600可以包括一个或一个以***处理器(centralprocessing units,CPU)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在基于Prometheus的日志告警设备600上执行存储器605中的一系列指令操作。
基于Prometheus的日志告警设备600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
在本申请实施例中,该服务器所包括的处理器601还具有以下功能:
获取关键字;根据关键字,第一周期性的检索Elasticsearch模块,以获得与关键字对应的第一日志数据;提供传输第一日志数据的http服务;通过http服务获取第一日志数据;若通过http服务获取的第一日志数据的数量大于第一阈值,则告警。
可选地,在本申请实施例中,该基于Prometheus的日志告警设备所包括的处理器601还具有以下功能:
可选地,根据关键字,第一周期性的检索Elasticsearch模块,以获得与关键字对应的第一格式的第一日志数据;
转换第一日志数据的格式,以获得适应Prometheus的第二格式的第一日志数据;
通过http服务获取第二格式的第一日志数据。
可选地,第二周期性的提供传输第一日志数据的http服务;
若在时长N×M内,通过http服务获取的第一日志数据的数量大于第一阈值,则告警,M为第一周期性的周期时长,第二周期性的周期时长是第一周期性的周期时长的N倍,N为大于1的整数。
可选地,获取第二周期性的周期信息,所述周期信息包括所述N,并向所述数据采集单元发送所述周期信息;
根据所述周期信息,以N×M为一周期,第二周期性的提供传输所述第一日志数据的http服务。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种基于Prometheus的日志告警***,其特征在于,包括;
日志模块,监控模块和Elasticsearch模块;
其中,所述监控模块包括数据采集单元,Prometheus服务单元,告警单元;
所述日志模块用于获取关键字,并向所述数据采集单元发送所述关键字;
所述数据采集单元用于根据所述关键字,第一周期性的检索所述Elasticsearch模块,以获得与所述关键字对应的第一数量的第一日志数据,所述数据采集单元还用于提供传输所述第一日志数据的http服务;
所述日志模块还用于获取第一周期性和第三周期性的间隔时长,所述间隔时长为所述第一周期性的起始时间点和所述第三周期性的起始时间点的差值;
所述日志模块还用于向所述数据采集单元发送所述间隔时长;
所述数据采集单元还用于根据所述间隔时长和所述关键字,第三周期性的检索所述Elasticsearch模块,以获得与所述关键词对应第二数量的第一日志数据;
所述Prometheus服务单元用于通过所述http服务获取所述第一日志数据并存储;
所述告警单元用于若所述Prometheus服务单元中连续N个周期通过http服务获取的第一数量的和大于第一阈值,则告警;若所述Prometheus服务单元中连续N个周期通过http服务获取的第二数量的和大于第一阈值,则告警;所述N为大于等于1的整数。
2.根据权利要求1所述的***,其特征在于,所述数据采集单元包括数据采集子单元,数据格式转换子单元和http服务传输子单元;
所述数据采集单元具体用于通过所述数据采集子单元根据所述关键字,第一周期性的检索所述Elasticsearch模块,以获得与所述关键字对应的第一格式的所述第一日志数据;
所述数据格式转换子单元用于转换所述第一日志数据的格式,以获得适应所述Prometheus服务单元的第二格式的所述第一日志数据;
所述数据采集单元具体用于通过所述http服务传输子单元提供传输所述第二格式的所述第一日志数据的http服务。
3.根据权利要求1或2所述的***,其特征在于,
所述Prometheus服务单元具体用于第二周期性的通过所述http服务获取第一数量的所述第一日志数据并存储;
所述告警单元具体用于若在时长N×M内,所述第一数量的和大于所述第一阈值,则告警,所述M为所述第一周期性的周期时长,所述第二周期性的周期时长为所述N×M,所述N为大于1的整数。
4.根据权利要求3所述的***,其特征在于,
所述日志模块还用于获取所述第二周期性的周期信息,所述周期信息包括所述N,并向所述数据采集单元发送所述周期信息;
所述数据采集单元具体用于根据所述周期信息,以N×M为一周期,第二周期性的提供传输所述第一日志数据的http服务。
5.一种基于Prometheus的日志告警方法,其特征在于,包括;
监控模块获取关键字;
所述监控模块根据所述关键字,第一周期性的检索Elasticsearch模块,以获得与所述关键字对应的第一数量的第一日志数据;
所述监控模块获取第一周期性和第三周期性的间隔时长,所述间隔时长为所述第一周期性的起始时间点和所述第三周期性的起始时间点的差值;
所述监控模块根据所述间隔时长和所述关键字,第三周期性的检索所述Elasticsearch模块,以获得与所述关键词对应第二数量的第一日志数据;
所述监控模块提供传输所述第一日志数据的http服务;
所述监控模块通过所述http服务获取所述第一日志数据并存储;
若Prometheus服务单元中连续N个周期通过http服务获取的第一数量的和大于第一阈值,则所述监控模块告警;若所述Prometheus服务单元中连续N个周期通过http服务获取的第二数量的和大于第一阈值,则所述监控模块告警;所述N为大于等于1的整数。
6.根据权利要求5所述的方法,其特征在于,
所述监控模块根据所述关键字,第一周期性的检索Elasticsearch模块,以获得与所述关键字对应的第一日志数据包括:
所述监控模块根据所述关键字,第一周期性的检索所述Elasticsearch模块,以获得与所述关键字对应的第一格式的所述第一日志数据;
所述方法还包括:
所述监控模块转换所述第一日志数据的格式,以获得适应所述Prometheus服务单元的第二格式的所述第一日志数据;
所述监控模块通过所述http服务获取所述第一日志数据包括:
通过所述http服务获取所述第二格式的所述第一日志数据。
7.根据权利要求5或6任意一项所述的方法,其特征在于,
所述监控模块提供传输所述第一日志数据的http服务包括:
所述监控模块第二周期性的提供传输第一数量的所述第一日志数据的所述http服务;
所述若所述Prometheus服务单元中所述第一日志数据的数量大于第一阈值,则所述监控模块告警包括:
若在时长N×M内,所述第一数量的和大于所述第一阈值,则所述监控模块告警,所述M为所述第一周期性的周期时长,所述第二周期性的周期时长为所述N×M,所述N为大于1的整数。
8.一种基于Prometheus的日志告警装置,其特征在于,包括:
第一获取单元,用于获取关键字;
第二获取单元,用于根据所述关键字,第一周期性的检索Elasticsearch模块,以获得与所述关键字对应的第一数量的第一日志数据;
所述第一获取单元,还用于获取第一周期性和第三周期性的间隔时长,所述间隔时长为所述第一周期性的起始时间点和所述第三周期性的起始时间点的差值;
所述第一获取单元,还用于向所述第二获取单元发送所述间隔时长;
所述第二获取单元,还用于根据所述间隔时长和所述关键字,第三周期性的检索所述Elasticsearch模块,以获得与所述关键词对应第二数量的第一日志数据;
处理单元,用于提供传输所述第一日志数据的http服务;
第三获取单元,用于通过所述http服务获取所述第一日志数据;
告警单元,用于若所述第三获取单元中连续N个周期通过http服务获取的第一数量的和大于第一阈值,则告警;若所述第三获取单元中连续N个周期通过http服务获取的第二数量的和大于第一阈值,则告警;所述N为大于等于1的整数。
9.一种计算机设备,其特征在于,包括:存储器、处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括执行如上述权利要求5至7中任意一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求5至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392449.2A CN111581060B (zh) | 2020-05-11 | 2020-05-11 | 基于Prometheus的日志告警***、方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392449.2A CN111581060B (zh) | 2020-05-11 | 2020-05-11 | 基于Prometheus的日志告警***、方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581060A CN111581060A (zh) | 2020-08-25 |
CN111581060B true CN111581060B (zh) | 2024-03-12 |
Family
ID=72126462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010392449.2A Active CN111581060B (zh) | 2020-05-11 | 2020-05-11 | 基于Prometheus的日志告警***、方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581060B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199249A (zh) * | 2020-09-16 | 2021-01-08 | 中国建设银行股份有限公司 | 监控数据的处理方法、装置、设备和介质 |
CN112596994A (zh) * | 2020-12-25 | 2021-04-02 | 福州掌中云科技有限公司 | 基于XHProf的PHP程序性能检测的方法及设备 |
CN113282920B (zh) * | 2021-05-28 | 2023-10-10 | 平安科技(深圳)有限公司 | 日志异常检测方法、装置、计算机设备和存储介质 |
CN113381884B (zh) * | 2021-06-02 | 2023-01-31 | 上海数禾信息科技有限公司 | 用于监控告警***的全链路监控方法及装置 |
CN113626300A (zh) * | 2021-08-03 | 2021-11-09 | 上海上讯信息技术股份有限公司 | 一种日志管理方法及设备 |
CN115473783A (zh) * | 2022-08-04 | 2022-12-13 | 浪潮软件集团有限公司 | 基于Prometheus的指标告警管理***及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107565953A (zh) * | 2017-10-18 | 2018-01-09 | 南京邮电大学南通研究院有限公司 | 一种跳变检测器及时钟频率调节***的控制电路 |
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链*** |
CN109245931A (zh) * | 2018-09-19 | 2019-01-18 | 四川长虹电器股份有限公司 | 基于kubernetes的容器云平台的日志管理和监控报警的实现方法 |
CN109656784A (zh) * | 2018-12-25 | 2019-04-19 | 新华三技术有限公司 | 一种日志处理方法及装置 |
CN110175152A (zh) * | 2019-05-30 | 2019-08-27 | 深圳前海微众银行股份有限公司 | 一种日志查询方法、中转服务器集群及日志查询*** |
CN110321371A (zh) * | 2019-07-01 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 日志数据异常检测方法、装置、终端及介质 |
CN110968482A (zh) * | 2019-12-18 | 2020-04-07 | 上海良鑫网络科技有限公司 | 企业服务及应用智能监控*** |
-
2020
- 2020-05-11 CN CN202010392449.2A patent/CN111581060B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107565953A (zh) * | 2017-10-18 | 2018-01-09 | 南京邮电大学南通研究院有限公司 | 一种跳变检测器及时钟频率调节***的控制电路 |
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链*** |
CN109245931A (zh) * | 2018-09-19 | 2019-01-18 | 四川长虹电器股份有限公司 | 基于kubernetes的容器云平台的日志管理和监控报警的实现方法 |
CN109656784A (zh) * | 2018-12-25 | 2019-04-19 | 新华三技术有限公司 | 一种日志处理方法及装置 |
CN110175152A (zh) * | 2019-05-30 | 2019-08-27 | 深圳前海微众银行股份有限公司 | 一种日志查询方法、中转服务器集群及日志查询*** |
CN110321371A (zh) * | 2019-07-01 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 日志数据异常检测方法、装置、终端及介质 |
CN110968482A (zh) * | 2019-12-18 | 2020-04-07 | 上海良鑫网络科技有限公司 | 企业服务及应用智能监控*** |
Also Published As
Publication number | Publication date |
---|---|
CN111581060A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581060B (zh) | 基于Prometheus的日志告警***、方法以及相关设备 | |
CN110362544B (zh) | 日志处理***、日志处理方法、终端及存储介质 | |
US8423638B2 (en) | Performance monitoring of a computer resource | |
US20190034498A1 (en) | Determining a presentation format for search results based on a presentation recommendation machine learning model | |
CN108073625B (zh) | 用于元数据信息管理的***及方法 | |
US11687826B2 (en) | Artificial intelligence (AI) based innovation data processing system | |
He et al. | Parallel implementation of classification algorithms based on MapReduce | |
KR102067032B1 (ko) | 하이브리드 빅데이터 시스템 기반 데이터 처리 방법 및 시스템 | |
US9069880B2 (en) | Prediction and isolation of patterns across datasets | |
CN111125344B (zh) | 相关词推荐方法和装置 | |
US20200112475A1 (en) | Real-time adaptive infrastructure scenario identification using syntactic grouping at varied similarity | |
JP2015135668A (ja) | コンテント及び関係距離に基づいて人々をつなげるコンピューティング装置及び方法 | |
CN111400130A (zh) | 任务监控方法、装置、电子设备及存储介质 | |
JP2010250450A (ja) | データベース・メッセージ分析支援プログラム、方法及び装置 | |
CN112948486A (zh) | 批量数据同步方法、***及电子设备 | |
CN112182025A (zh) | 日志分析方法、装置、设备与计算机可读存储介质 | |
CN115827797A (zh) | 一种基于大数据的环境数据分析整合方法及*** | |
Kavitha et al. | Discovering public opinions by performing sentimental analysis on real time Twitter data | |
CN111625410B (zh) | 信息处理方法、设备及计算机存储介质 | |
US11568344B2 (en) | Systems and methods for automated pattern detection in service tickets | |
US20200110815A1 (en) | Multi contextual clustering | |
CN116521664A (zh) | 数据仓库的数据监控方法及装置、计算设备、存储介质 | |
Chen et al. | Related technologies | |
CN115269862A (zh) | 一种基于知识图谱的电力问答与可视化*** | |
Ediger et al. | Real-time streaming intelligence: Integrating graph and nlp analytics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |