CN114598601A - 一种容器化环境下基于多个监控指标联合告警的方法及系统 - Google Patents
一种容器化环境下基于多个监控指标联合告警的方法及系统 Download PDFInfo
- Publication number
- CN114598601A CN114598601A CN202210222041.XA CN202210222041A CN114598601A CN 114598601 A CN114598601 A CN 114598601A CN 202210222041 A CN202210222041 A CN 202210222041A CN 114598601 A CN114598601 A CN 114598601A
- Authority
- CN
- China
- Prior art keywords
- data
- alarm
- creating
- monitoring
- kapacitor
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000002776 aggregation Effects 0.000 claims abstract description 21
- 238000004220 aggregation Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 14
- 230000014509 gene expression Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 31
- 238000013500 data storage Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000002688 persistence Effects 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000008439 repair process Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 235000019687 Lamb Nutrition 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种容器化环境下基于多个监控指标联合告警的方法,包括以下步骤:收集主机数据、系统数据、容器数据等时间序列型数据,采集到的数据,经过对应频率的颗粒度的汇聚,自由组合需要监控的指标及自定义告警触发阈值,Kapacitor将Lambdaexpressions为true的产生告警信息,监控数据展示页面,主要展示监控统计结果。本发明提出的容器化环境下基于多个监控指标联合告警的方法及系统通过监控及多维度告警功能可以及时有效的了解系统目前的资源使用状况。
Description
技术领域
本发明涉及性能采集监控模块技术领域,具体为一种容器化环境下基于多个监控指标联合告警的方法及系统。
背景技术
在云计算,大数据等技术日趋成熟的情况下,用户的服务产品越来越多。
现有技术中,用户对自有资源的资源使用情况、业务的运行状况和健康度,系统运行异常及时收到异常告警提醒的需求越来越迫切。
但是,随着业务系统复杂程度的增加,单一的监控指标并不能完全体现系统的健康状况;两个及以上多个监控指标联合才能体现当前系统的运行状况;云监控作为一款可以对资源进行立体化监控的平台,多个监控指标联合告警就显得尤为重要。
发明内容
本发明的目的在于提供一种容器化环境下基于多个监控指标联合告警的方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种容器化环境下基于多个监控指标联合告警的方法及系统,包括以下步骤:
收集主机数据、系统数据、容器数据等时间序列型数据,将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;
采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;
用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;
如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambdaexpressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户;
监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
优选的,数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等。
优选的,数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算。
优选的,Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道。
一种容器化环境下基于多个监控指标联合告警的系统,包括数据采集层模块、数据持久层模块、告警规则配置层模块、告警事件触发层模块以及用户展示层模块;
数据持久层模块对数据采集层模块的数据信息进行汇聚后存储,告警规则配置层模块根据数据持久层模块的数据信息组合告警出发阈值,告警事件触发层模块监控数据是否达到告警阈值,用户展示层模块展示告警事件触发层模块不同时段的监控数据。
优选的,所述数据采集层模块,收集主机数据、系统数据、容器数据等时间序列型数据用于将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;
数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等。
优选的,所述数据持久层模块用于采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;
数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算。
优选的,所述告警规则配置层模块用于用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;
Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道。
优选的,所述告警事件触发层模块用于如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambda expressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户。
优选的,所述用户展示层模块用于监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
与现有技术相比,本发明的有益效果是:
本发明提出的容器化环境下基于多个监控指标联合告警的方法及系统通过监控及多维度告警功能可以及时有效的了解系统目前的资源使用状况;将平台和业务系统中所涉及的硬件资源、软件资源等纳入统一的运维监控平台中,通过插件的数据处理和聚合,实现统一的输出,对各种不同的数据来源以实现规范化、自动化、智能化的大运维管理;运行监控和故障告警是一个监控系统的两个主要功能模块。
附图说明
图1为本发明系统框图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
请参阅图1,本发明提供一种技术方案:一种容器化环境下基于多个监控指标联合告警的方法及系统,包括以下步骤:
收集主机数据、系统数据、容器数据等时间序列型数据,将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等;
采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算;
用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道;
如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambdaexpressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户;
监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:包括数据采集层模块、数据持久层模块、告警规则配置层模块、告警事件触发层模块以及用户展示层模块;
数据持久层模块对数据采集层模块的数据信息进行汇聚后存储,告警规则配置层模块根据数据持久层模块的数据信息组合告警出发阈值,告警事件触发层模块监控数据是否达到告警阈值,用户展示层模块展示告警事件触发层模块不同时段的监控数据。
数据采集层模块,收集主机数据、系统数据、容器数据等时间序列型数据用于将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;
数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等。
数据持久层模块用于采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;
数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算。
告警规则配置层模块用于用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;
Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道。
告警事件触发层模块用于如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambda expressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户。
用户展示层模块用于监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种容器化环境下基于多个监控指标联合告警的方法及系统,其特征在于,包括以下步骤:
收集主机数据、系统数据、容器数据等时间序列型数据,将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;
采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;
用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;
如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambda expressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户;
监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
2.根据权利要求1所述的一种容器化环境下基于多个监控指标联合告警的方法,其特征在于:数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等。
3.根据权利要求1所述的一种容器化环境下基于多个监控指标联合告警的方法,其特征在于:数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算。
4.根据权利要求1所述的一种容器化环境下基于多个监控指标联合告警的方法,其特征在于:Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道。
5.一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:包括数据采集层模块、数据持久层模块、告警规则配置层模块、告警事件触发层模块以及用户展示层模块;
数据持久层模块对数据采集层模块的数据信息进行汇聚后存储,告警规则配置层模块根据数据持久层模块的数据信息组合告警出发阈值,告警事件触发层模块监控数据是否达到告警阈值,用户展示层模块展示告警事件触发层模块不同时段的监控数据。
6.根据权利要求5所述的一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:所述数据采集层模块,收集主机数据、系统数据、容器数据等时间序列型数据用于将Telegraf镜像,打包并放到集群镜像仓库中;根据部署的组件编写相应的Telegraf yaml文件并引入相应的输入插件Inputs,如采集系统cpu信息插件inputs.cpu,磁盘信息插件inputs.disk,mysql数据库信息插件inputs.mysql等;给命名空间分配集群的读取权限,并在命名空间创建ConfigMap用来存储Telegraf的一些配置;创建Deployment模式的Telegraf,通过yaml文件安装Telegraf;
数据采集功能主要包括监控数据采集,数据处理、数据聚合,数据输出;数据处理主要是对采集到的指标数据进行一些简单的处理,如增加或删除tag,添加一些用户的元数据等;数据聚合主要对某段时间内所有的数据做聚合处理,如最大值,最小值,平均值等操作;数据输出将被处理或聚合后的数据输出到数据存储系统,如:文件,Influxdb,各种消息服务队列等。
7.根据权利要求5所述的一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:所述数据持久层模块用于采集到的数据,经过对应频率的颗粒度的汇聚后,输出到数据存储系统,Telegraf的数据输出插件支持文件、InfluxDB、各种消息队列服务等;将InfluxDB镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放InfluxDB运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储InfluxDB容器的一些配置;在命名空间创建PersistentVolume用来申请InfluxDB使用的数据卷;在命名空间创建StatefulSet用来创建有状态负载;在命名空间创建Service,以对外提供SVC服务;
数据存储系统使用InfluxDB作为数据存储系统,InfluxDB是时序数据库,适合存储采集的指标数据,提供了对时序数据高效率的存储优化,以时间维度的高效率的数据检索,内置丰富的数据计算函数,支持数据的科学计算。
8.根据权利要求5所述的一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:所述告警规则配置层模块用于用户根据要监控的资源及业务需求,自由组合需要监控的指标及自定义告警触发阈值等;告警规则配置完成后,由系统的service层生成TICKscript语言,通过RestAPI的方式请求Kapacitor;将Kapacitor镜像,打包并放到集群镜像仓库中;在搭建好的Kubernetes集群中创建自定义的的命名空间,主要用于存放Kapacitor运行的容器;给命名空间分配集群的读取权限;在命名空间创建ConfigMap用来存储Kapacitor容器的一些配置;在命名空间创建PersistentVolumeClaim用来申请Kapacitor使用的数据卷;在命名空间创建Deployment,通过yaml文件安装Kapacitor;在命名空间创建Service,以对外提供svc服务;
Kapacitor中任务类型分为两种:stream和batch,Kapacitor使用名为TICKscript的DSL来定义任务,每个TICKscript定义一个管道,告诉Kapacitor要处理哪些数据以及如何处理,TICKscript语言是一种调用链接语言,每个脚本都有一个作用范围,并且作用范围中的每个变量都定义了可以在其上调用的方法;这些方法有两种:属性方法,修改调用的节点并返回对同一节点的引用,和链接方法,创建一个新节点作为节点的子节点,并返回一个对新节点的引用,每个TICKscript都有一个流或批变量,取决于想要运行的任务类型;Kapacitor使用TICKscript定义数据处理管道,管道是一组节点,它处理连接节点的数据和边缘,Kapacitor的中的管道是有向无环图DAGs,这意味着每个边有一个数据流的方向,而管道中不可能有任何循环,每个边缘都有一个类型,StreamEdge是一次传输单个数据点的数据的边缘,BatchEdge是一种以块方式而不是一次一次地传送数据的边缘,连接节点时,TICKscript语言不会阻止连接错误类型的边缘,而是在运行时执行检查,因此,语法正确的脚本可以定义无效的管道。
9.根据权利要求5所述的一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:所述告警事件触发层模块用于如果多个监控指标的监控数据都达到告警阈值,Kapacitor将Lambda expressions为true的产生告警信息;serviceId标识监控对象名称,index.Fields标识监控指标,使用正则表达式匹配并替换实际告警对象和告警描述信息,生产用户可阅读和理解的告警信息描述;并可以设置告警通知策略,以短消息或者是邮件的方式通知到用户。
10.根据权利要求5所述的一种容器化环境下基于多个监控指标联合告警的系统,其特征在于:所述用户展示层模块用于监控数据展示页面,主要展示监控统计结果,用户根据业务需求展示不同采样周期:1分钟、5分钟、1小时、24小时,不同时间段内的监控数据;告警历史页面主要展示触发告警数据的资源信息、规则信息及告警触发时间等,方便用户及时的定位及修复告警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210222041.XA CN114598601A (zh) | 2022-03-07 | 2022-03-07 | 一种容器化环境下基于多个监控指标联合告警的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210222041.XA CN114598601A (zh) | 2022-03-07 | 2022-03-07 | 一种容器化环境下基于多个监控指标联合告警的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114598601A true CN114598601A (zh) | 2022-06-07 |
Family
ID=81815535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210222041.XA Pending CN114598601A (zh) | 2022-03-07 | 2022-03-07 | 一种容器化环境下基于多个监控指标联合告警的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598601A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617625A (zh) * | 2022-12-15 | 2023-01-17 | 云和恩墨(北京)信息技术有限公司 | 告警规则配置方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090378A (zh) * | 2021-11-22 | 2022-02-25 | 浪潮云信息技术股份公司 | 一种基于Kapacitor的自定义监控告警方法 |
-
2022
- 2022-03-07 CN CN202210222041.XA patent/CN114598601A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090378A (zh) * | 2021-11-22 | 2022-02-25 | 浪潮云信息技术股份公司 | 一种基于Kapacitor的自定义监控告警方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617625A (zh) * | 2022-12-15 | 2023-01-17 | 云和恩墨(北京)信息技术有限公司 | 告警规则配置方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288142B2 (en) | Recovery strategy for a stream processing system | |
US20210160307A1 (en) | Probability-distribution-based log-file analysis | |
CN108335075B (zh) | 一种面向物流大数据的处理系统及方法 | |
WO2020147336A1 (zh) | 一种微服务全链路监控系统及方法 | |
Serhani et al. | Self-adapting cloud services orchestration for fulfilling intensive sensory data-driven IoT workflows | |
CN112349404A (zh) | 基于云-边-端架构的多中心医疗设备大数据云平台 | |
US20100070981A1 (en) | System and Method for Performing Complex Event Processing | |
CN107103064B (zh) | 数据统计方法及装置 | |
US20140222843A1 (en) | Systems, Methods, and computer Program Products to Ingest, Process, and Output Large Data | |
CN114090378A (zh) | 一种基于Kapacitor的自定义监控告警方法 | |
CN110060118A (zh) | 一种订单履约全链路实时监控方法、装置及计算机设备 | |
CN111339175B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US8959051B2 (en) | Offloading collection of application monitoring data | |
Badidi et al. | Enhancing the processing of healthcare data streams using fog computing | |
CN110532152A (zh) | 一种基于Kapacitor计算引擎的监控告警处理方法及系统 | |
CN111245672A (zh) | 一种通用可扩展的追踪业务全链路的监控方法及系统 | |
CN114598601A (zh) | 一种容器化环境下基于多个监控指标联合告警的方法及系统 | |
CN106452829B (zh) | 一种基于bcc-knn的云计算中心智能运维方法及系统 | |
CN116932148A (zh) | 一种基于ai的问题诊断系统及方法 | |
CN111049846A (zh) | 数据处理方法和装置、电子设备及计算机可读存储介质 | |
Bhargavi | Complex event processing framework for big data applications | |
EP2770447B1 (en) | Data processing method, computational node and system | |
CN114756301A (zh) | 日志处理方法、装置和系统 | |
Plale et al. | Data provenance for preservation of digital geoscience data | |
CN113377877A (zh) | 多引擎大数据平台 |
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 |