linux服务端流量大监控分析

linux服务端流量大监控分析



前言

  日常工作中,服务端带宽流量徒增后又降下去,需要事后分析原因,在没有相关相关监控系统保存流量数据时,往往对于事后分析苦于没有数据不能进行定位分析而苦恼,本文主要介绍如何进行实时流量数据获取并保存,然后分析原因。

1、进程级流量监控

  一般采用nethogs工具进行采集数据,nethogs的安装可通过yum命令进行,具体安装步骤不在此赘述,以下介绍工具的使用和如何格式化输出保存数据。
  执行命令nethogs -h帮助命令查看使用方法
在这里插入图片描述
  其中,-b表示适合bughunt模式,配合-t使用。
  默认情况下执行nethogs回车后,页面动态实时显示数据,如果将实时数据写入文本保存,如nethogs > nethogs.log,如果需要在后台运行可以执行nohup nethogs > nethogs.log &,但是此种方式保存的文件只能用cat nethogs.log查看,vim查看会显示乱码。
在这里插入图片描述
在这里插入图片描述
  此种方式不能把所有数据抓取保存,不能达到预期目标,因此需要用使用跟踪模式执行命令:

nohup nethogs -d 5 -t > networks_program.info &

  其中,-d 5表示延迟显示数据更新,这样就可以用vim命令查看保存的抓取到的进程使用的流量数据,但是此种方式保存的数据不便于查看,同时也不知道具体是那个时间的流量情况,如下图:
在这里插入图片描述
  因此需要对其进行格式化处理,编写相关脚本实现,处理后的进程流量输入如下所示:
在这里插入图片描述  这样抓取保存的数据就能很清晰满足时候分析流量大占用的进程是什么了,同时也知道时那个时候采集的进程数据。


2、IP间访问流量监控

  在1中我们可以使用nethogs工具获取到进程相关的流量数据,实际分析中远不够,因此我们需要借助另外一个工具命令iftop配合使用才能做到具体分析。
在这里插入图片描述
  如果直接执行iftop 然后将其输出存入文件,这样也不会把采集的实时数据写入文件,这样保存到文件的数据也是只有cat才能查看,vim查看同样会乱码,因此需要跟相关参数让输出为文本格式。命令为:nohup iftop -nNP -i eth0 -t -L 10 > networks_ip.info &,其中-t表示文本输出,-L前提与-t才能配套使用。
  ⚠️注意iftop采集的数据量较大,需要关注存储的空间,本人实际使用过发现服务端10小时,采集到了60G的流量数据。
  同样,为了后期分析数据,需要对采集的数据进行预处理,在每一行前面添加日期和时间,便于定位IP流量访问。可以使用如下预处理方法:

awk '{ print strftime("%Y-%m-%d %H:%M:%S ", systime()) $0 }' tmp_networks_ip.info >>networks_ip.info

总结

  基于以上两种采集保存分析网络流量的工具,需要配套使用才能更好地分析网络流量异常行为。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值