CN114553747A - redis集群的异常检测方法、装置、终端及存储介质 - Google Patents
redis集群的异常检测方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114553747A CN114553747A CN202210161711.1A CN202210161711A CN114553747A CN 114553747 A CN114553747 A CN 114553747A CN 202210161711 A CN202210161711 A CN 202210161711A CN 114553747 A CN114553747 A CN 114553747A
- Authority
- CN
- China
- Prior art keywords
- redis cluster
- redis
- abnormal
- data
- list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005856 abnormality Effects 0.000 title abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 210
- 230000000694 effects Effects 0.000 claims abstract description 114
- 230000002159 abnormal effect Effects 0.000 claims abstract description 90
- 238000012423 maintenance Methods 0.000 claims abstract description 16
- 230000004083 survival effect Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013450 outlier detection Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 239000012634 fragment Substances 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 5
- 230000002547 anomalous effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 11
- 239000000523 sample Substances 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种redis集群的异常检测方法、装置、终端及存储介质,包括:对redis集群进行探活,得到redis集群对应的全部探活数据;利用预设方法对全部探活数据进行分析,确定异常探活数据;基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。本发明通过对redis集群进行探活,以确定redis集群是否存在异常,如果存在异常,直接输出异常提醒信息,以让运维人员及时通过异常提醒信息查阅异常检测报告中的异常链路,不仅提高了redis集群的检测效率,还使运维人员快速、精准定位到redis集群的异常链路,便于相关人员进行排障。
Description
技术领域
本申请涉及智能检测技术领域,具体而言,涉及一种redis集群的异常检测方法、装置、终端及存储介质。
背景技术
在金融行业中,由于redis不仅仅用于缓存数据,还充当数据库(database,即需要持久化永久保留数据),以致redis集群的规模不断扩大,更加容易出现故障。因此,如何实现redis集群的异常检测成为亟待解决的问题。
目前,针对redis集群的异常检测,一般采用zabbix等类似监控平台来实现。其实现步骤为:先对redis进行存活性探测,然后收集探活信息,再对探活信息进行异常感知,最后基于异常感知进行报警推送。
但是,上述方法缺乏对redis集群的探活,导致实现redis集群的异常检测耗时过长。
发明内容
本申请的主要目的在于提供一种redis集群的异常检测方法、装置、终端及存储介质,以解决相关技术中存在的实现redis集群的异常检测耗时过长的问题。
为了实现上述目的,第一方面,本申请提供了一种redis集群的异常检测方法,包括:
对redis集群进行探活,得到redis集群对应的全部探活数据;
利用预设方法对全部探活数据进行分析,确定异常探活数据;
基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。
在一种可能的实现方式中,对redis集群进行探活,得到redis集群对应的全部探活数据,包括:
获取redis集群对应的IP列表;
采用多个协程同时向IP列表中的每个IP发送探活报文,其中,每个IP对应一个协程;
接收每个IP基于探活报文反馈的探活数据;
将探活数据进行汇总,得到全部探活数据。
在一种可能的实现方式中,redis集群包括中间代理层和redis分片;IP列表包括第一IP列表和第二IP列表;
获取redis集群对应的目标IP列表,包括:
对中间代理层进行域名解析,得到第一IP列表;
对redis分片中的主redis和从redis进行解析,得到第二IP列表;
基于第一IP列表和第二IP列表,确定redis集群对应的IP列表。
在一种可能的实现方式中,利用预设方法对全部探活数据进行分析,确定异常探活数据,包括:
利用离群点检测算法对全部探活数据进行检测,若全部探活数据中存在离群探点,将离群探点作为异常探活数据;
或,
利用阈值比较法将全部探活数据中的每个探活数据对应的目标探活时长与预设基准时长进行差值计算,得到每个探活数据对应的目标差值;
若全部探活数据中的任一探活数据对应的目标差值大于预设差值,将任一探活数据作为异常探活数据。
在一种可能的实现方式中,基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告之后,还包括:
将异常提醒信息推送至运维人员,以提醒运维人员及时查阅异常检测报告确定redis集群的异常链路。
在一种可能的实现方式中,还包括:
计算目标资源占有量;
若目标资源占用量大于预设资源占用量,停止执行对redis集群进行探活,得到redis集群对应的全部探活数据的步骤。
在一种可能的实现方式中,还包括:
将IP列表与预设缓存IP列表进行比对;
若IP列表与预设缓存IP列表不同,待对redis集群进行探活,得到redis集群对应的全部探活数据的步骤执行结束后,更新并缓存IP列表。
第二方面,本发明实施例提供了一种redis集群的异常检测装置,包括:
探活模块,用于对redis集群进行探活,得到redis集群对应的全部探活数据;
数据分析模块,用于利用预设方法对全部探活数据进行分析,确定异常探活数据;
异常信息生成模块,用于基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。
第三方面,本发明实施例提供了一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上任一种redis集群的异常检测方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一种redis集群的异常检测方法的步骤。
本发明实施例提供了一种redis集群的异常检测方法、装置、终端及存储介质,包括:对redis集群进行探活,得到redis集群对应的全部探活数据,然后利用预设方法对全部探活数据进行分析,确定异常探活数据,再基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。本发明通过对redis集群进行探活,以确定redis集群是否存在异常,如果存在异常,直接输出异常提醒信息,以让运维人员及时通过异常提醒信息查阅异常检测报告中的异常链路,不仅提高了redis集群的检测效率,还使运维人员快速、精准定位到redis集群的异常链路,便于相关人员进行排障。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明一实施例提供的一种redis集群的异常检测方法的实现流程图;
图2是本发明另一实施例提供的一种redis集群的异常检测方法的实现流程图;
图3是本发明又一实施例提供的一种redis集群的异常检测方法的实现流程图;
图4是本发明实施例提供的Redis-prober探活的实现流程图;
图5是本发明实施例提供的Redis-judger存储数据的结构示意图;
图6是本发明实施例提供的异常链路展示的示意图;
图7是本发明实施例提供的Redis-prober过载保护机制的实现流程图;
图8是本发明实施例提供的Redis-prober热更新的实现流程图;
图9是本发明实施例提供的一种redis集群的异常检测装置的结构示意图;
图10是本发明实施例提供的终端的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
为了便于理解本发明方案,对本发明方案中的技术术语进行解释,具体如下:
Redis:即REmote DIctionary Server,是业界当前流行的key-value存储***,属于NoSQL范畴,可支持string,hash,set,,zset,list等数据结构。
Redis cluster:即redis集群,但在本专利中,指的并不是开源的redis-cluster模式,而是特指多个sharding(分片)构成的一种架构,每个分片存储着一部分数据,所有分片叠加一起存储着该redis cluster的全量数据。
Router-server:亦称之为代理层,这一层直接面对业务-基于Key-value数据库的读写流量转发,proxy接收到的流量会将其转发到下一层的redis。
Redis-prober:即redis cluster的探活模块,一般分布式部署,用于实时检测线上redis集群存活状态是否正常。
Redis-judger:用于收集Redis-prober上报的探活数据,并基于探活数据做决策分析的“裁判”模块。
由于本发明的一种redis集群的异常检测方法主要是由Redis-prober和Redis-judger执行实现,为了更好地理解本发明方案,以图1所示实施例对Redis-prober和Redis-judger的结构进行说明,具体如下:
Redis-prober包括Apiserver模块、Monitor模块、Reload模块和Communicate模块。其中,Apiserver模块,为一线redis运维人员提供http查询接口,例如查询集群耗时分布状况等。Monitor模块,用于检测自身prober实际资源占用情况(如CPU,MEM等),可以配置一定策略,例如当prober运行超过2核/4GB,则会自动退出,避免因为prober的异常导致占用***过多资源。Reload模块,若redis集群发生了拓扑变化、实例增减,能及时感知进行配置热加载,无需重启Redis-judger。Communicate模块,用于对redis集群的主、从redis、router-server发出探活语义包进行存活性探测。
Redis-judger包括算法模块、调度器(控制)模块和数据渲染模块。其中,算法模块,内置的算法,judger依据内置的算法对所有收集到的探活数据进行分析,统计耗时分布,用于判断集群是否存在异常做判断。调度器(控制)模块,可以给judger发一些内置请求,让调整judger采集频率,以及启停judegr等。数据渲染模块,用于渲染最终探测结果。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
在一个实施例中,如图2所示,提供了一种redis集群的异常检测方法,包括以下步骤:
步骤S101:对redis集群进行探活,得到redis集群对应的全部探活数据;
步骤S102:利用预设方法对全部探活数据进行分析,确定异常探活数据;
步骤S103:基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。
其中,探活由redis-prober实现,redis-prober向redis集群发送探活报文,redis集群基于探活报文反馈响应信息,也就是探活数据。对redis集群进行探活后,Redis-judger收集redis-prober上报的全部探活数据,并采用存储的预设方法对全部探活数据进行分析,以做出决策。本发明中对redis集群进行探活是通过redis-prober实现,redis-prober以分布式方式部署在不同的机房,确保覆盖多个点位,实际部署中还会部署在一定量不同的交换机上,确保探活点采集的链路足够分散。其中,redis集群为一个或多个。
进一步的,结合图3对本方案进行说明,Client(即上游业务)通过domain域(此域名后面实际映射的是router-server,即redis代理层),来访问下游redis集群。其中,下游redis集群包括多个redis shard(分片)构成,每个redis shard至少包括一主redis(M-redis)和一从redis(S-redis)。Redis-prober对整个redis集群(含下游redis集群内所有的主从redis、以及router-server)进行探测。当得到整个redis集群对应的全部探活数据后,将全部探活数据发送到Redis-judger,由Redis-judger进行分析决策。具体的,当Redis-judger采用存储的预设方法对全部探活数据进行分析后,发现有异常探活数据,则输出redis集群对应的异常提醒信息和异常检测报告;当Redis-judger采用存储的预设方法对全部探活数据进行分析后,未发现有异常探活数据,则不输出任何信息。
本发明实施例提供了一种redis集群的异常检测方法,包括:对redis集群进行探活,得到所述redis集群对应的全部探活数据,然后利用预设方法对所述全部探活数据进行分析,确定异常探活数据,再基于所述异常探活数据和所述全部探活数据,生成所述redis集群对应的异常提醒信息和异常检测报告。本发明通过对redis集群进行探活,以确定redis集群是否存在异常,如果存在异常,直接输出异常提醒信息,以让运维人员及时通过异常提醒信息查阅异常检测报告中的异常链路,不仅提高了redis集群的检测效率,还使运维人员快速、精准定位到redis集群的异常链路,便于相关人员进行排障。
在一实施例中,步骤S101包括:
步骤S201:获取redis集群对应的IP列表;
步骤S202:采用多个协程同时向IP列表中的每个IP发送探活报文,其中,每个IP对应一个协程;
步骤S203:接收每个IP基于探活报文反馈的探活数据;
步骤S204:将探活数据进行汇总,得到全部探活数据。
其中,redis集群包括中间代理层和redis分片;IP列表包括第一IP列表和第二IP列表。
结合图4,对本实施例进行说明,具体如下:先对中间代理层进行域名解析,得到第一IP列表,然后对redis分片中的主redis和从redis进行解析,得到第二IP列表,再基于第一IP列表和第二IP列表,以获取redis集群对应的IP列表。获取到IP列表后,通过sync.WaitGroup启动多个协程,在每个协程中会对应上述每个IP地址(即1对1),然后向IP列表中的所有IP地址并发发送探活报文。其中,协程来源于协程池,协程池中存储有多个协程,以确保上百套乃至上千套的redis探活报文能同时发送,而不会互相阻塞。报文发送后,Redis-prober会收到对端(即所有的IP地址)返回的response,本申请中的response具体为探活数据,也就得到了全部探活数据。
其中,Redis-prober探活数据的主要数据结构字段如下:
redis-prober启动后,会加载本地配置,设置探活报文的发送频率、超时时间等,Redis-prober可设置发送频率,并通过communicate模块发起。以发送频率为3秒,则每3秒communicate模块会对redis集群发起一轮探活,以获取redis集群对应的全部探活数据,其中,探点数据包含如下字段信息:
1)Ts:秒级时间戳;
2)ProxyBns:router-server对应的域名;
3)Data:探活数据发出去的日期;
4)IsTheSameIdc:用于发出探活数据的redis-prober和收到探活数据的redis或者router-server是否为跨机房;
5)DestHost:被探测的redis或router-server的IP;
6)DestPort:被探测的redis或touer-server的端口;
7)DestHost:redis-prober所在机器的IP;
8)DestPort:redis-prober启的端口;
9)ExceptionCnt:访问异常计数器(例如timeout,connection refused等);
10)ReadAvgCosttime:读请求耗时均值;
11)WriteAvgCosttime:写请求耗时均值;
12)LinkInfo:详情信息。
在上述实施例的基础上,Redis-prober获取到全部探活数据后,会把全部探活数据上传发送到Redis-judger,由Redis-judger进行分析,具体分析过程如下:
当Redis-judger接收到全部探活数据后,会将全部探活数据进行分类汇聚。结合图5,Redis-judger结构中包含的两个数组proxySlice、redisSlice分别用于存放落在同一个桶里的proxy服务侧探点数据(即router-server对应的探点数据)和redis服务侧探点数据(即redis分片对应探点数据)。
Redis-judger收集全部探点数据后,首先对全部探活数据进行分析,以得到异常探活数据。其中,异常探活数据包括连接超时、读超时、写超时等异常数据。
对于确定异常探点数据主要采用两种方式:第一种,利用离群点检测算法对全部探活数据进行检测,若全部探活数据中存在离群探点,将离群探点作为异常探活数据;第二种,利用阈值比较法将全部探活数据中的每个探活数据对应的目标探活时长与预设基准时长进行差值计算,得到每个探活数据对应的目标差值;若全部探活数据中的任一探活数据对应的目标差值大于预设差值,将任一探活数据作为异常探活数据。上述两种方式可采用同时使用或者单独使用。
当确定异常探活数据后,Redis-judger基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。具体的,judger分析出有异常的信息后,便会自动将异常提醒信息推送至运维人员,以提醒运维人员及时查阅异常检测报告确定redis集群的异常链路。其中,异常检测报告中包括所有管辖的redis集群、集群异常占比、链路占比、耗时分布图等信息,供一线redis运维人员分析参考。
图6所示实施例展示了利用不同的探活结点进行探活所生成的异常检测报告,具体地,Redis-prober部署在不同的机房,分别为prober.dd.1、prober.bl.1。该集群的proxy中有7个实例,prober.bl.1包括3个实例,分别为proxy.bl.1、proxy.bl.2和proxy.bl.3,prober.dd.1包括4个实例,分别为proxy.dd.1、proxy.dd.2、proxy.dd.3和proxy.dd.4。其中,两个探活结点访问proxy.bl.3实例均超时,图中加粗的路线表示访问探活超时或者出错等。
在一实施例中,prober还有过载保护机制。过载保护机制实现过程为:先计算目标资源占有量,若目标资源占用量大于预设资源占用量,停止执行对redis集群进行探活,得到redis集群对应的全部探活数据的步骤。
结合图7对过载保护机制进行具体说明。prober会实时计算自身CPU、MEM、DISK等资源使用情况,即目标资源占有量。如果目标资源占用量大于预设资源占用量(quota使用),则会触发其自动退出,避免过多抢占***资源。
在一实施例中,prober还有热更新功能。热更新实现过程为:将IP列表与预设缓存IP列表进行比对,若IP列表与预设缓存IP列表不同,待对redis集群进行探活,得到redis集群对应的全部探活数据的步骤执行结束后,更新并缓存IP列表。
结合图8对prober的热更新进行具体说明。prober启动一个独立的timer,定期获取router-server和redis IP列表,若本次解析得到的IP列表中的IP地址与上次缓存结果(缓存的IP列表)比对有差异,则说明IP列表发生了变化,需要进行热更新。其中,缓存的IP列表实际是存储在全局变量当中,会被每个探活的协程所引用,为了避免加锁,这里的IP缓存更新逻辑放在了本轮所有探活发送完毕后,此时缓存IP不会再被引用读。
此外prober还内置有控制接口,允许接受judger下发的特殊指令,若judger需要线上所有prober停止探活发送,可以一键暂停发送/恢复发送。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图9示出了本发明实施例提供的一种redis集群的异常检测装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,一种redis集群的异常检测装置包括探活模块91、数据分析模块92和异常信息生成模块93,具体如下:
探活模块91,用于对redis集群进行探活,得到redis集群对应的全部探活数据;
数据分析模块92,用于利用预设方法对全部探活数据进行分析,确定异常探活数据;
异常信息生成模块93,用于基于异常探活数据和全部探活数据,生成redis集群对应的异常提醒信息和异常检测报告。
在一种可能的实现方式中,探活模块91包括:
IP列表获取子模块,用于获取redis集群对应的IP列表;
报文发送子模块,用于采用多个协程同时向IP列表中的每个IP发送探活报文,其中,每个IP对应一个协程;
探活数据接收子模块,用于接收每个IP基于探活报文反馈的探活数据;
探活数据汇总子模块,用于将探活数据进行汇总,得到全部探活数据。
在一种可能的实现方式中,redis集群包括中间代理层和redis分片;IP列表包括第一IP列表和第二IP列表;
IP列表获取子模块包括:
第一IP列表获取单元,用于对中间代理层进行域名解析,得到第一IP列表;
第二IP列表获取单元,用于对redis分片中的主redis和从redis进行解析,得到第二IP列表;
IP列表确定单元,用于基于第一IP列表和第二IP列表,确定redis集群对应的IP列表。
在一种可能的实现方式中,数据分析模块92包括:
第一异常数据确定子模块,用于利用离群点检测算法对全部探活数据进行检测,若全部探活数据中存在离群探点,将离群探点作为异常探活数据;
或,
差值计算子模块,用于利用阈值比较法将全部探活数据中的每个探活数据对应的目标探活时长与预设基准时长进行差值计算,得到每个探活数据对应的目标差值;
第二异常数据确定子模块,用于若全部探活数据中的任一探活数据对应的目标差值大于预设差值,将任一探活数据作为异常探活数据。
在一种可能的实现方式中,异常信息生成模块93之后,还包括:
异常链路确定模块,用于将异常提醒信息推送至运维人员,以提醒运维人员及时查阅异常检测报告确定redis集群的异常链路。
在一种可能的实现方式中,还包括:
资源占有计算模块,用于计算目标资源占有量;
探活终止模块,用于若目标资源占用量大于预设资源占用量,停止执行对redis集群进行探活,得到redis集群对应的全部探活数据的步骤。
在一种可能的实现方式中,还包括:
IP列表比对模块,用于将IP列表与预设缓存IP列表进行比对;
IP列表更新模块,用于若IP列表与预设缓存IP列表不同,待对redis集群进行探活,得到redis集群对应的全部探活数据的步骤执行结束后,更新并缓存IP列表。
图10是本发明实施例提供的终端的示意图。如图10所示,该实施例的终端10包括:处理器110、存储器120以及存储在存储器120中并可在处理器110上运行的计算机程序130。处理器110执行计算机程序130时实现上述各个redis集群的异常检测方法实施例中的步骤,例如图1所示的步骤101至步骤103。或者,处理器110执行计算机程序130时实现上述各个redis集群的异常检测装置实施例中各模块/单元的功能,例如图9所示模块/单元91至93的功能。
本发明还提供一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的redis集群的异常检测方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的redis集群的异常检测方法。
在上述设备的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种redis集群的异常检测方法,其特征在于,包括:
对redis集群进行探活,得到所述redis集群对应的全部探活数据;
利用预设方法对所述全部探活数据进行分析,确定异常探活数据;
基于所述异常探活数据和所述全部探活数据,生成所述redis集群对应的异常提醒信息和异常检测报告。
2.如权利要求1所述redis集群的异常检测方法,其特征在于,所述对redis集群进行探活,得到所述redis集群对应的全部探活数据,包括:
获取所述redis集群对应的IP列表;
采用多个协程同时向所述IP列表中的每个IP发送探活报文,其中,所述每个IP对应一个协程;
接收所述每个IP基于所述探活报文反馈的探活数据;
将所述探活数据进行汇总,得到所述全部探活数据。
3.如权利要求2所述redis集群的异常检测方法,其特征在于,所述redis集群包括中间代理层和redis分片;所述IP列表包括第一IP列表和第二IP列表;
所述获取所述redis集群对应的IP列表,包括:
对所述中间代理层进行域名解析,得到所述第一IP列表;
对所述redis分片中的主redis和从redis进行解析,得到所述第二IP列表;
基于所述第一IP列表和所述第二IP列表,确定所述redis集群对应的IP列表。
4.如权利要求3所述redis集群的异常检测方法,其特征在于,所述利用预设方法对所述全部探活数据进行分析,确定异常探活数据,包括:
利用离群点检测算法对所述全部探活数据进行检测,若所述全部探活数据中存在离群探点,将所述离群探点作为所述异常探活数据;
或,
利用阈值比较法将所述全部探活数据中的每个探活数据对应的目标探活时长与预设基准时长进行差值计算,得到所述每个探活数据对应的目标差值;
若所述全部探活数据中的任一探活数据对应的目标差值大于预设差值,将所述任一探活数据作为所述异常探活数据。
5.如权利要求1-4中任一项所述redis集群的异常检测方法,其特征在于,所述基于所述异常探活数据和所述全部探活数据,生成所述redis集群对应的异常提醒信息和异常检测报告之后,还包括:
将所述异常提醒信息推送至运维人员,以提醒所述运维人员及时查阅所述异常检测报告确定所述redis集群的异常链路。
6.如权利要求1-4中任一项所述redis集群的异常检测方法,其特征在于,还包括:
计算目标资源占有量;
若所述目标资源占用量大于预设资源占用量,停止执行所述对redis集群进行探活,得到所述redis集群对应的全部探活数据的步骤。
7.如权利要求2-4中任一项所述redis集群的异常检测方法,其特征在于,还包括:
将所述IP列表与预设缓存IP列表进行比对;
若所述IP列表与预设缓存IP列表不同,待所述对redis集群进行探活,得到所述redis集群对应的全部探活数据的步骤执行结束后,更新并缓存所述IP列表。
8.一种redis集群的异常检测装置,其特征在于,包括:
探活模块,用于对redis集群进行探活,得到所述redis集群对应的全部探活数据;
数据分析模块,用于利用预设方法对所述全部探活数据进行分析,确定异常探活数据;
异常信息生成模块,用于基于所述异常探活数据和所述全部探活数据,生成所述redis集群对应的异常提醒信息和异常检测报告。
9.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述redis集群的异常检测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行所述计算机程序时实现如权利要求1至7中任一项所述redis集群的异常检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210161711.1A CN114553747A (zh) | 2022-02-22 | 2022-02-22 | redis集群的异常检测方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210161711.1A CN114553747A (zh) | 2022-02-22 | 2022-02-22 | redis集群的异常检测方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553747A true CN114553747A (zh) | 2022-05-27 |
Family
ID=81678069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210161711.1A Pending CN114553747A (zh) | 2022-02-22 | 2022-02-22 | redis集群的异常检测方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553747A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242687A (zh) * | 2022-07-20 | 2022-10-25 | 中国建设银行股份有限公司 | 一种节点探活方法、装置、设备及介质 |
CN115396291A (zh) * | 2022-08-23 | 2022-11-25 | 度小满科技(北京)有限公司 | 一种基于kubernetes托管的redis集群故障自愈方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463468A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 缓存管理方法及其设备 |
CN108241469A (zh) * | 2016-12-27 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种数据存储方法、装置及*** |
CN109818828A (zh) * | 2019-02-20 | 2019-05-28 | 成都嗨翻屋科技有限公司 | 一种分布式爬虫***监控方法及装置 |
CN110471822A (zh) * | 2019-08-15 | 2019-11-19 | 中国工商银行股份有限公司 | 用于监控主机***的方法、装置、计算机***和介质 |
CN110990183A (zh) * | 2019-12-04 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 数据库集群的异常检测方法、装置、计算机可读存储介质 |
CN113076212A (zh) * | 2021-03-29 | 2021-07-06 | 青岛特来电新能源科技有限公司 | 一种集群的管理方法、装置、设备及计算机可读存储介质 |
CN113626252A (zh) * | 2021-06-25 | 2021-11-09 | 上海浦东发展银行股份有限公司 | 一种基于集群的城市级容灾方法、装置、电子设备及介质 |
-
2022
- 2022-02-22 CN CN202210161711.1A patent/CN114553747A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463468A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 缓存管理方法及其设备 |
CN108241469A (zh) * | 2016-12-27 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种数据存储方法、装置及*** |
CN109818828A (zh) * | 2019-02-20 | 2019-05-28 | 成都嗨翻屋科技有限公司 | 一种分布式爬虫***监控方法及装置 |
CN110471822A (zh) * | 2019-08-15 | 2019-11-19 | 中国工商银行股份有限公司 | 用于监控主机***的方法、装置、计算机***和介质 |
CN110990183A (zh) * | 2019-12-04 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 数据库集群的异常检测方法、装置、计算机可读存储介质 |
CN113076212A (zh) * | 2021-03-29 | 2021-07-06 | 青岛特来电新能源科技有限公司 | 一种集群的管理方法、装置、设备及计算机可读存储介质 |
CN113626252A (zh) * | 2021-06-25 | 2021-11-09 | 上海浦东发展银行股份有限公司 | 一种基于集群的城市级容灾方法、装置、电子设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242687A (zh) * | 2022-07-20 | 2022-10-25 | 中国建设银行股份有限公司 | 一种节点探活方法、装置、设备及介质 |
CN115242687B (zh) * | 2022-07-20 | 2024-04-19 | 中国建设银行股份有限公司 | 一种节点探活方法、装置、设备及介质 |
CN115396291A (zh) * | 2022-08-23 | 2022-11-25 | 度小满科技(北京)有限公司 | 一种基于kubernetes托管的redis集群故障自愈方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785140B2 (en) | System and method for identifying components of a computer network based on component connections | |
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
US9246777B2 (en) | Computer program and monitoring apparatus | |
CN114553747A (zh) | redis集群的异常检测方法、装置、终端及存储介质 | |
CN110659109B (zh) | 一种openstack集群虚拟机监控***及方法 | |
CN107015872A (zh) | 监控数据的处理方法及装置 | |
US20020124078A1 (en) | System for self-monitoring of SNMP data collection process | |
WO2021184587A1 (zh) | 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质 | |
CN108563550A (zh) | 一种分布式***的监控方法、装置、服务器和存储介质 | |
CN106656682A (zh) | 集群心跳检测方法、***及装置 | |
US11283638B1 (en) | Determining the status of a node based on a distributed system | |
CN109039795B (zh) | 一种云服务器资源监控方法和*** | |
CN113596176A (zh) | 物联网中心节点的自选方法、装置、物联网设备和*** | |
JP2011204192A (ja) | スイッチング装置、情報処理装置および障害通知制御プログラム | |
CN112910743B (zh) | 一种区块链性能检测*** | |
Deligiannakis et al. | Another outlier bites the dust: Computing meaningful aggregates in sensor networks | |
CN109510730A (zh) | 分布式***及其监控方法、装置、电子设备及存储介质 | |
CN113254245A (zh) | 一种存储集群的故障检测方法和*** | |
US20180270102A1 (en) | Data center network fault detection and localization | |
CN116248479A (zh) | 网络路径探测方法、装置、设备及存储介质 | |
WO2018188528A1 (en) | Data center automated network troubleshooting system | |
CN115378853A (zh) | 一种网络监控方法、装置和设备 | |
EP3306471A1 (en) | Automatic server cluster discovery | |
WO2021159676A1 (zh) | 一种数据处理方法及相关设备 | |
WO2017143986A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220527 |