• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:19906048601
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:18950029502
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > 云主机如何查看网络状态?

    云主机如何查看网络状态?

    云主机用着用着,用户突然反馈“网站打不开”、“卡得不行”、“图片加载一半就断了”——这些状况,十有八九和网络状态有关。CPU再快、内存再大,如果网络这条“水管”出了问题,数据送不出去也进不来,业务照样瘫痪。所以学会查看云主机的网络状态,是运维排查中避不开的一个关键技能。

    从最基础的连通性测试开始

    遇到网络问题,第一个要用到的工具一定是ping。在本地电脑上打开命令行,输入ping 你的云主机IP,看看能不能通。如果返回的是“请求超时”或“目标不可达”,说明网络链路根本就没建立起来。这时候要检查两件事:一是云主机的防火墙或安全组策略是否允许ICMP协议通过,很多云服务商默认只开放必要的端口,ping是被禁掉的;二是云主机是否真的在正常运行,有时候系统卡死也会导致无法响应。

    ping不光能测通断,还能看延迟。连续多ping几次,观察往返时间是否稳定。如果延迟忽高忽低,或者出现大量丢包,说明网络线路本身不太稳定。这种情况在跨运营商访问时比较常见,比如电信用户访问联通机房的云主机,中间经过的跳数多,网络质量就没那么有保障。

    如果ping不通但业务端口又能访问,那大概率是安全组把ICMP给屏蔽了。这时候可以用telnet或nc来测试特定端口是否开放。比如执行telnet 你的IP 80,如果返回“Connected”就说明80端口通的,可以正常提供HTTP服务。

    查看当前系统的网络连接状态

    登录到云主机内部之后,netstat命令是查看网络状态的第一选择。输入netstat -anpt,系统会列出所有TCP连接及其状态——LISTEN表示正在监听端口,ESTABLISHED表示已经建立的连接,TIME_WAIT表示等待关闭的连接。通过观察这些状态,能判断出很多问题。

    比如某个时段网站访问量突然暴增,执行netstat一看,ESTABLISHED连接数有好几千,远超过平时的几百。这说明业务确实在承受高并发,但如果连接数持续居高不下甚至继续攀升,而业务量并没有相应增长,那就要怀疑是不是遭受了CC攻击——大量恶意连接占着不释放,消耗系统资源。

    netstat输出内容有时候太多了,可以配合grep命令筛选。比如netstat -anpt | grep :80 | grep ESTABLISHED | wc -l可以统计出当前80端口上有多少活跃连接。这个数字如果异常大,就是一个很明显的警报信号。

    还有一个更现代的工具叫ss,它的执行效率比netstat更高,尤其在连接数非常多的时候。ss -tunap命令的效果和netstat类似,但速度更快、显示的信息也更丰富。在高并发的生产环境上,ss往往是更推荐的选择。

    实时查看网络流量和带宽使用情况

    知道有哪些连接还远远不够,有时候你更想知道“现在到底有多少流量在跑”。这时候要用到iftop命令。安装iftop之后,直接在终端输入iftop,屏幕上会出现一个动态的流量排行榜,实时显示每个IP地址或连接的收发速度,单位是bps。

    iftop的界面分成上下两半,上半部分是按连接展示的实时流量,下半部分是汇总信息。你可以很直观地看到是哪个远程IP在大量消耗带宽。如果发现一个陌生IP持续占用大量下行带宽,那可能是有人在恶意下载你的网站资源;如果上行带宽跑满,说明有大量数据正在被传输出去。

    如果不关心具体是哪个IP,只想看整体网卡流量,可以用ip -s link查看网卡收发的总数据包数和总字节数。或者用watch -n 1 cat /proc/net/dev,每秒刷新一次各网卡的流量统计。这种方式适合快速确认“带宽是不是跑满了”。

    还有一种场景是查看每个进程的网络流量。nethogs这个工具就专门干这个事。执行nethogs eth0之后,会列出每个进程当前占用的发送和接收带宽,并且按占用大小排序。你可以精确地知道是nginx在疯狂发数据,还是MySQL在同步日志,或者是某个后门程序在偷偷往外传数据。

    路由追踪和链路质量分析

    当网络出现区域性访问缓慢的时候,光看自己云主机的状态是不够的,还要看从用户端到云主机之间的中间链路是否通畅。traceroute命令就是用来干这个的。在Linux下执行traceroute 目标IP,会列出数据包从本机出发到达目标IP所经过的每一个路由节点,以及每一跳的延迟时间。

    通过观察这些跳转记录,你可以发现延迟到底是出在哪一段。比如前几跳延迟正常,到了某一个运营商的节点之后延迟突然飙升到几百毫秒,那就说明问题出在那个中间节点上——而那个节点很可能不在你的可控范围之内,需要联系运营商或云服务商协助处理。

    Windows系统下对应的命令是tracert,用法和traceroute类似。

    通过云服务商控制台查看网络监控数据

    除了登录云主机内部用命令行工具查看之外,云服务商的控制台通常会提供更宏观的网络监控视图。在云主机实例的监控面板里,一般可以看到“出入带宽”、“出入包量”、“丢包率”等指标的时间曲线图。

    这些数据的价值在于它们是有历史记录的。命令行工具只能看到当前瞬时的状态,而控制台的监控图表能展示过去几小时甚至几天的网络趋势。你可以很直观地看到每天哪个时段带宽峰值最高,什么时候网络流量有明显的异常突增,这对于容量规划和异常发现都很有帮助。

    有些云平台还支持网络拓扑可视化和流量分析功能,可以帮你梳理出云主机和外部网络之间的整体交互情况。

    实际案例:带宽跑满导致业务中断

    有一个做在线教育的客户,每到晚上七点到九点这个时间段,视频播放就变得非常卡顿。用iftop查看实时流量,发现出口带宽几乎被占满,持续稳定在峰值。再按进程排序,看到主要是nginx进程在大量发送数据。进一步排查日志,发现是盗链问题——其他网站直接把课程视频的地址嵌入到了自己的页面里,导致大量非授权用户在高峰期同时拉取视频流。

    解决方案分两步走:先在nginx层面配置了referer防盗链规则,拦截了大部分非法请求;然后在云服务商控制台设置了带宽告警,当带宽使用率连续五分钟超过80%时自动发送告警通知。调整之后,晚高峰的带宽使用率从接近100%降到了60%左右,卡顿问题也就随之解决了。

    总结

    查看云主机的网络状态,有一套清晰的工具链条。ping解决“通不通”的问题,netstat和ss解决“有哪些连接”的问题,iftop解决“谁在占用带宽”的问题,nethogs解决“哪个进程在跑流量”的问题,traceroute解决“链路质量好不好”的问题。再加上云服务商控制台的监控面板提供的历史趋势和告警能力,基本上就能把云主机的网络状态看得明明白白。

    工具虽然多,但遇到问题时顺着这条链路一个一个排查,总能找到症结所在。网络问题通常不会自己消失,早发现、早定位、早处理,才能把对用户的影响降到最小。



    最新推荐


    微信公众帐号
    关注我们的微信