大家好,又见面了,我是你们的朋友全栈君。
本发明涉及一种CDN节点监控可用性的方法,具体涉及一种以anycast方式部署的CDN监控可用性的方法。
背景技术:
现有CDN可用性的检测方法,一般通过一些探测点检测目的CDN的可用性,在探测到失败时,认为目的CDN不可用;对于以anycast方式部署的CDN监控,得到的结果是不准确的;因为多个探测点发出的探测数据不一定到达了所有的目的CDN;导致探测数据未到达的CDN实际上没有被监控到。
技术实现要素:
本发明提供一种通过双向分析,提高了监控准确性的以anycast方式部署的CDN监控可用性的方法。
本发明采用的技术方案是:一种以anycast方式部署的CDN监控可用性的方法,包括以下步骤:
步骤1:选取探测节点探测目的CDN节点的可用性,每个目的CDN节点至少有两个探测点的探测数据可以到达,将探测结果储存;
步骤2:在目的CDN节点上根据探测日志,得到到达此CDN节点的探测节点,将探测结果储存;
步骤3:根据步骤1和步骤2得到的探测数据,判断一定时间内目的CDN节点到达的探测节点数量N,是否满足N<1,若是则判断此目的CDN不可用;若否则转入步骤4;
步骤4:判断N是否满足N≥2,若是则转入步骤5,若否则输出告警;
步骤5:根据步骤1和步骤2得到的结果,判断一定时间内到达目的CDN节点的探测节点判断该目的CDN节点为不可用的概率n。
步骤6:若n满足设定阈值则判断此目的CDN节点为可用,若否则判断此目的CDN节点不可用,完成CDN节点的监控。
进一步的,包括以下步骤:在假设目的CDN节点可用的情况下,根据步骤1和步骤2得到的探测数据得到目的CDN节点和探测节点的映射关系。
进一步的,所述步骤1中探测节点探测目的CDN节点可用性的方法如下:
S1:获取目的CDN节点的IP信息;
S2:对IP信息进行http探测,判断目的CDN是否可用。
进一步的,所述S2中对IP信息进行http探测过程如下:
设置超时时间,若探测超时或返回报错,则此目的CDN节点不可用;经过多次探测,若大于50%的概率探测结果为不可用,则判定此目的CDN节点不可用。
(1)本发明通过双向分析,保证每个目的节点都有探测点到达,大大提高了监控的准确性;
(2)本发明能够得到目的CDN节点和探测点的网络影射,增加了对网络路径的直观了解。
附图说明
图1为本发明流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
如图1所示:一种以anycast方式部署的CDN监控可用性的方法,包括以下步骤:
步骤1:选取探测节点探测目的CDN节点的可用性,每个目的CDN节点至少有两个探测点的探测数据可以到达,将探测结果储存。
根据现有资源在国内各主要城市、不同运营商部署探测程序(尽量选取多个主要城市,覆盖到多个运营商即可),每隔一分钟探测一次目的CDN节点的可用性;选取时保证每个目的CDN节点必须有至少两个探测点的探测数据可以到达(通过在目的CDN查看日志判断是否有探测点到达);探测到的数据是各个单点检测的结果,将探测数据存入数据库,供分析程序把各个节点汇总的数据统一分析。
探测目的CDN节点可用性的过程如下:
获取目的CDN节点的所有IP信息,然后对每个IP进行http探测,可以使用http的head方法进行探测,根据经验值设置超时时间,如果探测超时或返回报错,则认为此次目的CDN节点不可用;通常需要进行多次探测,如果大于50%的概率探测都不可用,则认为此目的CDN节点不可用。
步骤2:在目的CDN节点上根据探测日志,得到到达此CDN节点的探测节点,将探测结果储存。
在所有的目的CDN节点上部署用户访问日志分析的程序,分析目的CDN节点有哪些探测点的探测日志;从日志中分析出到达此目的CDN节点的探测节点,将探测数据存入到数据库中。
步骤3:根据步骤1和步骤2得到的探测数据,判断一定时间内目的CDN节点到达的探测节点数量N,是否满足N<1,若是则判断此目的CDN不可用;若否则转入步骤4。
以分钟为单位分析每分钟各个目的CDN节点到达的探测节点的数目,如果探测节点的数量N小于1则告警此目的CDN不可用;若否则转入步骤4。
步骤4:判断N是否满足N≥2,若是则转入步骤5,若否则输出告警;
如果探测节点的数量N小于2,则告警通知需要增加探测节点的数目,若否则转入步骤5。
步骤5:根据步骤1和步骤2得到的结果,判断一定时间内到达目的CDN节点的探测节点判断该目的CDN节点为不可用的概率n;若n满足设定阈值则判断此目的CDN节点为可用,若否则判断此目的CDN节点不可用,完成CDN节点的监控。
以分钟为单位分析到达每个目的CDN节点的探测节点是否有50%以上判断此目的CDN节点为不可用;如果超过50%则告警此目的CDN不可用;报警的阈值即分析的时间段可以根据实际情况进行修改。
在假设目的CDN节点可用的情况下,根据步骤1和步骤2探测得到的数据,可以得到目的CDN和探测节点的网络映射关系;通过网络映射关系可以对网络路径有直观的了解。
本发明中提到的术语如下:
CDN:内容分发网络,提高用户访问网站的响应速度。
anycast:利用多个as号码在不同的地区广播相同的一个IP段,即不同服务器用相同的IP地址。
本发明首先选择M个不同位置的探测点,保证每个目的CDN节点有至少两个探测点可以到达(防止只有一个探测节点时,如果这个探测节点链路出问题,导致探测不到目的CDN节点);探测到的数据汇总到中心服务器进行分析;同时在目的CDN节点上通过日志分析,得到到达的探测节点信息,发送到中心服务器;中心服务器根据探测节点的探测数据和目的CDN节点的日志分析数据,通过双向分析判断以anycast方式部署的目的CDN是否可用;根据可以实现对目的CDN的实时监控;并且可以给出探测节点和目的CDN节点的网络映射关系。
本发明解决了由于传统的CDN监控方式可能造成探测节点并没有到达的anycast方式部署的目的CDN节点,导致监控的结果不准确的问题;通过双向分析的方法,保证每个目的CDN节点都有探测节点到达,大大提高了监控的准确性;并且可以根据探测数据得到目的CDN节点和探测接待之间的网络映射关系,增加了对网络路径的直观了解。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142365.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...