基于动态阈值方法的可视化预警系统及方法与流程

文档序号:26497071发布日期:2021-09-04 00:29阅读:396来源:国知局
基于动态阈值方法的可视化预警系统及方法与流程

1.本发明涉及告警监控技术领域,尤其涉及一种基于动态阈值方法的可视化预警系统及方法。


背景技术:

2.传统的监控告警是通过zabbix、nagios、sql语句、shell脚本等监控工具或手段监测各个组件不同维度的指标信息,并对相应指标设定阈值,配置短信或邮件告警等形式通知运维人员进行处理。告警配置过程中包括指标设定、监测周期设定、监测阈值设定、告警内容设定、告警接收人等,在此过程中每个步骤均依赖运维工程师的经验进行建设。
3.传统的监控告警手段基于的是单维度的指标监控告警,各个告警结果各自为政,当系统出现异常时极易产生海量的告警信息,这些告警信息中可能存在大量的冗余告警甚至形成告警风暴,对运维人员产生极大干扰,降低了运维工作的效率。
4.在错综复杂的it系统架构中,一旦it系统发生故障,那么就需要非常多的运维工程师们,通过大量的时间对故障进行多重排查,每一个细小问题都有可能带来连锁性的故障,往往解决一个问题需要好几个小时的时间。对于目前日益增速的业务环境,这些是不可容忍的。


技术实现要素:

5.为了解决现有技术存在的缺陷和不足的问题,本发明提出一种基于动态阈值方法的可视化预警系统及方法。其目的在于提供一种服务异常告警方法,旨在解决现有告警技术没有动态阈值监测、告警可视化展现的问题;包括: python脚本获取正常服务性能作为动态更新的阈值模板,将实时服务告警值与阈值模板进行比较,当结果满足预设的告警模板中的告警阈值,则自动触发邮件告警可视化展示告警结果。可选的,告警的类别包括:服务调用量异常、服务性能异常、服务成功率异常、服务失败量异常的至少一种。
6.为提升运维效率,汇聚有效告警,本发明提出对告警进行直接的溯源、降噪,sre 运维的告警监控工具, 采用的方案为运用 python 开发语言对 druid、es等数据源 的接口进行实时调用构建指标数据,并按照业务梳理服务与系统的关系模型等特定场景对数据进行分析,以判断系统的运行情况,当满足制定的告警规则时,则调用预先配置的大屏监测模型生成的图像,并截图后以附件的形式发送邮件给告警接收人。
7.邮件截图发送相较于传统的短信通知,能够直观的看到故障发生的趋势,同时可以看到跟该告警相关联的设备性能、应用程序调用量、性能耗时等情况,多维度的查看系统运行情况,方便快速进行初步故障诊断,第一时间对运维人员展示出故障的根本原因及定位,减少运维人员的故障处理时间,提高运维工作效率。
8.本发明具体包括以下内容:一种基于动态阈值方法的可视化预警系统,其特征在于,包括:数据存储模块、负载均衡模块、数据动态阈值模块和可视化模块;
所述数据存储模块用于从多台服务器上收集日志进行实时存储;所述负载均衡模块用于获取数据存储模块中的日志数据,采用轮询方式对每个请求按时间顺序逐一分配到不同的python服务器;所述数据动态阈值模块用于从负载均衡模块上拉取实时数据,当比较结果满足预设多告警模板中的告警阈值,则触发相应类别的告警;所述可视化模块用于告警信息的可视化展示。
9.进一步地,如果某一python服务器状态异常,则所述负载均衡模块将其从python服务器池中剔除。
10.进一步地,所述数据动态阈值模块中,触发服务性能异常的条件如下:max(wd

sd)>service_duration=[3,n]触发服务调用量异常的条件如下:max(wc

sc)>service_count=[3,n]触发服务成功率异常的条件如下:max(ws

ss)>service_success=[3,n]触发服务失败量异常的条件如下:max(we

se)>service_error=[3,n]其中,wd为当前实时服务每分钟性能值,sd为历史同时段服务每分钟性能值,service_duration为服务性能预设阈值模板,wc为当前实时服务每分钟调用量值,sc为历史同时段服务每分钟调用量值,service_count为服务调用量预设阈值模板,ws为当前实时服务每分钟成功率值,ss为历史同时段服务每分钟成功率值,service_success为服务成功率预设阈值模板,we为当前实时服务每分钟失败量值,se为历史同时段服务每分钟失败量值,service_error为服务失败量预设阈值模板,n为被监测服务性能总数。
[0011]
进一步地,所述可视化模块的可视化展示内容至少包括:服务异常当前异常值、历史同时段异常值,当前近一个小时数据趋势。
[0012]
进一步地,所述数据动态阈值模块采用python脚本获取正常服务性能作为阈值模板,并采用动态基线告警方式,分析监控指标的历史时刻值、区间趋势值。
[0013]
进一步地,所述数据动态阈值模块将实时服务告警值与动态基线阈值模板进行比较,当结果满足预设的告警模板中的告警阈值时,则自动触发可视化模块采用邮件告警的方式可视化展示告警结果。
[0014]
以及,一种基于动态阈值方法的可视化预警方法,其特征在于,包括以下步骤:步骤s1:数据存储模块从多台服务器上收集日志进行实时存储;步骤s2:负载均衡模块获取数据存储模块中的日志数据,采用轮询方式对每个请求按时间顺序逐一分配到不同的python服务器;步骤s3:数据阈值模块从负载均衡模块上拉取实时数据,当比较结果满足预设多告警模板中的告警阈值,则触发相应类别的告警;步骤4:数据阈值模块根据当比较结果满足预设多告警模板中的告警阈值,调用可视化模块集成接口进行可视化展示,包括:服务异常当前异常值、历史同时段异常值,当前近一个小时数据趋势。
[0015]
进一步地,在步骤s3中:触发服务性能异常的条件如下:max(wd

sd)>service_duration=[3,n]触发服务调用量异常的条件如下:max(wc

sc)>service_count=[3,n]触发服务成功率异常的条件如下:max(ws

ss)>service_success=[3,n]触发服务失败量异常的条件如下:max(we

se)>service_error=[3,n]其中,wd为当前实时服务每分钟性能值,sd为历史同时段服务每分钟性能值,service_duration为服务性能预设阈值模板,wc为当前实时服务每分钟调用量值,sc为历史同时段服务每分钟调用量值,service_count为服务调用量预设阈值模板,ws为当前实时服务每分钟成功率值,ss为历史同时段服务每分钟成功率值,service_success为服务成功率预设阈值模板,we为当前实时服务每分钟失败量值,se为历史同时段服务每分钟失败量值,service_error为服务失败量预设阈值模板,n为被监测服务性能总数。
[0016]
以及,一种基于动态阈值方法的可视化预警方法,其特征在于:通过python脚本获取正常服务性能作为动态更新的阈值模板,将实时服务告警值与阈值模板进行比较,当结果满足预设的告警模板中的告警阈值,则自动触发邮件告警可视化展示告警结果。
[0017]
进一步地,所述告警的类别包括:服务调用量异常、服务性能异常、服务成功率异常、服务失败量异常之中的一种或多种。
[0018]
本发明及其优选方案相比于现有技术更加灵活地解决了解决了传统告警呈现单一的缺点,服务异常监控通过可视化展现判断是真告警还是瞬时告警,这样避免了因为盲目登陆服务器造成的人力物力浪费。可视化展现能够通过图像直观的了解服务当前性能、调用量、成功率等实时趋势并能够立刻判断告警是否属实,方便了运维人员的管理,减少了不必要的麻烦,节省了人力物力,具有很大的实用价值。
附图说明
[0019]
下面结合附图和具体实施方式对本发明进一步详细的说明:图1为本发明实施例系统框架及工作流程示意图;图2为本发明实施例告警邮件示例图。
具体实施方式
[0020]
为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:如图1所示,本实施例提供一种新的服务异常告警系统及方法,包括:数据存储模块(es,druid,mysql),负载均衡模块(nginx)、数据动态阈值模块(python)、可视化模块(kibana、grafana),其具体工作过程包括以下步骤:步骤1:数据存储模块(es,druid)从上千台服务器上收集日志进行实时存储。
[0021]
步骤2:负载均衡模块(nginx)获取数据存储模块中的日志数据,采用轮询方式对每个请求按时间顺序逐一分配到不同的python服务器,如果python服务器down掉,能自动剔除。
[0022]
步骤3:数据阈值模块(python3.6,awx)从负载均衡模块(nginx)上拉取实时数据,可选的,当比较结果满足预设多告警模板中的告警阈值,则触发相应类别的告警,具体包括:触发服务性能异常的条件如下:max(wd

sd)>service_duration=[3,n]触发服务调用量异常的条件如下:max(wc

sc)>service_count=[3,n]触发服务成功率异常的条件如下:max(ws

ss)>service_success=[3,n]触发服务失败量异常的条件如下:max(we

se)>service_error=[3,n]其中,wd为当前实时服务每分钟性能值,sd为历史同时段服务每分钟性能值,service_duration为服务性能预设阈值模板,wc为当前实时服务每分钟调用量值,sc为历史同时段服务每分钟调用量值,service_count为服务调用量预设阈值模板,ws为当前实时服务每分钟成功率值,ss为历史同时段服务每分钟成功率值,service_success为服务成功率预设阈值模板,we为当前实时服务每分钟失败量值,se为历史同时段服务每分钟失败量值,service_error为服务失败量预设阈值模板,n为被监测服务性能总数(次)。
[0023]
步骤4:数据阈值模块(python,awx)根据当比较结果满足预设多告警模板中的告警阈值,调用可视化模块(kibana、grafana)集成接口进行可视化展示,包括:服务异常当前异常值、历史同时段异常值,当前近一个小时数据趋势可视化dashboard,帮助运维人员更好判断告警影响面,并能提高服务异常告警效率和准确率,其示例如图2所示。
[0024]
本实施例以上方案的关键点包括:1、采用python脚本结构:获取正常服务性能作为阈值模板;2、动态基线告警:采用动态基线告警方式,分析监控指标的历史时刻值、区间趋势值,弥补了以往人为设置固定阈值的缺陷,提供运维人员作出准确判断。
[0025]
3、邮件告警可视化展现:将实时服务告警值与动态基线阈值模板进行比较,当结果满足预设的告警模板中的告警阈值;自动触发邮件告警可视化展示告警结果。
[0026]
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于动态阈值方法的可视化预警系统及方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1