问题:
线上环境,服务器的外网下行带宽达到某个阈值,触发告警,查了下服务器的带宽监控信息,是从某个时间开始突然串上去的,然后监控图形非常有规律,都是每秒达到顶峰后,又立马下去了,怀疑是不是有测试人员定时压测
追踪:
1、通过nethogs能够查看实时进程网络占用
ubuntu系统,通过sudo apt install nethogs
通过nethogs 网卡查看
可以看到带宽主要来自于nginx,那就查看每秒占用下行带宽最大的请求
2、使用ngxtop查看每秒占用带宽最大的请求
确保您已经安装了ngxtop。
您可以通过在终端中运行pip3 install ngxtop(避免系统同时包含python2和python3,所以这里指定pip的版本)来安装它。
如果找不到pip3命令,则先通过如下方式安装
#首先安装epel扩展源
sudo yum -y install epel-release
#然后安装python-pip
sudo yum -y install python3-pip
#清除一下cache
sudo yum clean all
确保您已经安装了ngxtop后, 执行如下命令
ngxtop -l /usr/local/nginx/logs/access.log --order-by 'avg(bytes_sent) * count'
输出如下:
上面的结果将显示每个请求的统计信息,包括请求数量,各种响应状态码的计数,以及发送的字节数。
追踪到耗带宽最大的请求,以及请求频率,差不多定位到了问题,再结合抓包(tcpdump -i eth0 -w test.pcap -G 10),定位到了对应的ip,果然是内部人为测试导致的(正常消耗这些带宽是正常的,只是线上环境带宽不足还未扩容)
ngxtop其他命令
显示前20个最频繁的请求:
ngxtop -l /usr/local/nginx/logs/access.log -n 20
显示请求最多的客户端IP地址
ngxtop top remote_addr -l /usr/local/nginx/logs/access.log
显示状态码是404的请求文章来源:https://www.toymoban.com/news/detail-737097.html
ngxtop -i 'status == 404' print request status -l /usr/local/nginx/logs/access.log文章来源地址https://www.toymoban.com/news/detail-737097.html
到了这里,关于服务器带宽忽然暴增,不停的触发告警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!