公网排障工具¶
实现京东侧IP到公网IP之间网络节点的质量监控
采集侧¶
采集原理¶
从京东侧IP发起traceroute,获取到目的端IP所经节点的质量(延迟) traceroute -n -s <源IP地址> <目的IP地址>
数据染色¶
时间戳;
每个IP地址归属(省份+城市+运营商);若地址是京东的,则(机房+设备角色+京东)
IP地址延迟;
警告
地址染色归属顺序:1.是否私网 2.若是公网,是否京东 3.对非京东的公网地址进行位置和运营商确定
需求1¶
每小时测试一次;
测试结果保留14天;
提供查询页面:根据输入查询源IP和目的IP可以获取查询时间范围内的探测结果比对界面;
警告
目的IP地址指`公网监控矩阵<http://nmp.jd.com/npm/network_quality>`_中的目的IP
需求2¶
有故障发生时,立即traceroute和ping探测
将上诉探测结果保存,以供查询,便于报障运营商是提供参考
将故障邮件到网络组和对应的运营商(先实现发送给网络组,运营商的之后通过调用cmdb实现)
需求2扩展¶
公网正向探测模拟:
当京东A机房到B市X运营商的网络质量有问题时,调用京东其他市X运营商的服务器对京东A机房的网络进行traceroute和ping探测。
记录traceroute和ping结果,以供查询
需求3¶
根据用户保障时,提供的源IP(京东侧IP)、目的IP(用户侧IP),输入系统,系统自动判定:
a. 根据报障提供的源IP地址解析到 京东侧同机房内采集机IP,然后在采集机上ping和traceroute报障提供的目的IP,继续执行下一步。
1 判断ip为京东侧ip的接口
2 获取京东侧ip接口的机房信息
3 获取采集机的机房信息的接口
4 获取从源到目的的traceroute结果的接口
5 获取从源到目的的ping结果的接口
b. 根据报障提供的源IP地址解析到 京东侧同城市&同运营商的采集机IP,然后在采集机上ping和traceroute报障提供的目的IP,继续执行下一步。
1 判断ip为京东侧ip的接口
2 根据机房,获取京东测ip的城市的接口
3 获取京东侧ip运营商的接口
4 获取采集机的城市和运营商的接口
5 获取从源到目的的traceroute结果的接口
6 获取从源到目的的ping结果的接口
判断用户侧的IP所属运营商,使用所有公网采集机的同运营商的源IP(BGP认为包含三个运营商),ping用户IP,看能否互通。(例如,用户IP为电信IP,则,使用所有公网采集机的电信源IP、BGP源IP,ping用户IP,查看互通结果)返回traceroute结果。 如果,用户IP也是从京东采购的IP,则,两端IP均需执行相同的c操作,并同时返回traceroute结果。:
1 获取用户侧ip所属运营商的接口 2 获取采集机的运营商的接口 3 获取从源到目的的traceroute结果的接口 4 获取从源到目的的ping结果的接口
需求4¶
指定多个源(机房公网采集机的IP,区分运营商),手动输入多个目的IP,关注源IP对目的IP的命令执行结果,命令包括:ping、wget、traceroute、curl,暂时是这四个。wget产生的垃圾文件,命令执行结束后,可以删除。
小技巧