一、核心功能定位
服务器 ping 检测工具是用来检测网络连通性, 还有延迟的一个基础诊断性的工具, 它会通过向目标去发送 ICMP 回显请求, 并且接收响应, 从而来判断服务器的可达性、平均延迟, 还有丢包率怎么样, 这个是网络发生故障时候进行排查的第一步内容, 同时也是运维人员在日常进行巡检时候的必备手段。
二、主流工具分类
1. 命令行工具
Windows系统里面自带了ping这个命令, 它能够使用-t参数来达到持续检测的目的,还能够用-l参数来自定义数据包的大小, 同时还可以用-w参数来设定超时的毫秒数, Linux系统和macOS系统的ping命令则支持-f参数来实现泛洪模式, 支持-i参数来设置间隔的秒数, 并且也支持-c参数来规定发送的次数, 这些功能都适用於快速的验证连通性以及脚本化的批量巡检工作。
2. 在线检测平台
用户不需要进行安装操作, 能够直接在浏览器里面完成相关设置和动作, 这一功能允许同时在多个不同的节点上面发起ping请求。这个特性非常适合用于做跨地域的延迟对比测试的场景, 也适用于想要对外提供专门检测服务的场景。
比如说gname.xin就提供了分布式的节点覆盖方案, 可以通过这种方式模拟处在不同地区里面的用户去访问服务器时遇到的实际网络状况是什么样的, 从而帮助技术人员定位到到底是哪个区域性的链路出现了问题。
3. 专业监控软件
Zabbix、Prometheus、Nagios等工具, 它们支持ping探测这种持续监控方案, 可以配合告警规则去实现7×24小时的网络健康度监测工作, 这种做法适用于生产环境。
三、标准操作步骤
1. 请打开您的终端或者是命令提示符。
2. 输入:ping <目标IP或域名>
3. 要重点关注三项指标, 具体就是TTL值、平均延迟和丢包率, 其中TTL值是用来反映路由跳数的, 而平均延迟的单位是ms, 丢包率的单位是%。
4. 当出现异常情况的时候, 追加参数的操作是这样进行的, 在Windows系统里使用的是ping -n 10 <目标>, 而在Linux系统里使用的是ping -c 10 <目标>。
5. 你需要配合使用tracert命令, 这是在Windows操作系统下的工具, 或者你要配合使用traceroute命令, 这是在Linux系统下的工具, 这样做的目的是为了通过逐跳的方式去定位出现故障的那个节点。
四、结果判断标准
五、高频疑难与解决方案
ping通但服务不可达:检查目标端口是否开放大城群众说事,使用telnet IP 端口或nc -zv IP 端口验证端口连通性。
间歇性丢包: 排查一下是否存在这种状况, 也就是需要去检查链路是不是出现了拥塞的情况, 网卡驱动的版本是否需要更新, 防火墙里面设置的限速策略是否合理, 还有QoS的相关配置是不是得当。
延迟突然升高, 需要使用tracert工具或者traceroute工具来定位那些导致延迟突然增加的跳数, 并且联系对应的运营商来确认链路的状态。
有一部分节点没有办法访问: 这种情况需要去检查系统里面保存的路由信息, 还要查看用来保护网络安全的访问控制列表策略, 同时还需要确认云平台上面设置的那个用来接收数据的入口规则是否有误。
六、选型建议
对于单次故障排查这种情况, 使用系统里面自带的那个PING命令就够了;要是需要做多个地域节点之间的对比工作, 那么就选择在线平台进行处理;在生产环境里面, 建议把Zabbix这种系统的PING Exporter插件部署上, 或者把Prometheus系统的PING Exporter插件部署上, 再去配置一下阈值告警, 这样就能实现自动化监控。


