产品
解决方案
文档与社区
免费试用
定价
云市场
合作伙伴
支持与服务
了解阿里云
备案
控制台
登录/注册
开发者社区
首页
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
Modelscope模型即服务
弹性计算
云原生
数据库
物联网
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
问产品
动手实践
考认证
TIANCHI大赛
活动广场
任务中心
飞天Club技术沙龙
训练营
话题
开发者评测
乘风者计划
阿里云MVP
直播
下载
镜像站
技术资料
插件
开发者社区
开发与运维
文章
正文
统计UPD丢包工具
2018-09-04
1381
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
阿里云开发者社区用户服务协议
》和 《
阿里云开发者社区知识产权保护指引
》。如果您发现本社区中有涉嫌抄袭的内容,填写
侵权投诉表单
进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:
下载位置:https://github.com/eyjian/libmooon/tree/master/shell #!/bin/bash # 统计UPD丢包工具 # 可选参数1:统计间隔(单位:秒,默认10秒) ...
+关注继续查看
下载位置:https://github.com/eyjian/libmooon/tree/master/shell
#!/bin/bash
# 统计UPD丢包工具
# 可选参数1:统计间隔(单位:秒,默认10秒)
# 可选参数2:是否输出丢包为0的记录,注意有参数1时,参数2才会生效
#
# 运行结果会写日志,日志文件优先存工具相同的目录,
# 但如果没有权限,则选择当前目录,
# 当前目录无权限,则存tmp目录,
# 如果tmp目录还无权限,则报错退出。
#
# 输出格式:统计日期 统计时间 丢包数
# 输出示例:
# 2018-09-03 17:22:49 5
# 2018-09-03 17:22:51 3
#
# 可用UDP测试工具:https://iperf.fr/
flag=0
stat_seconds=10
if test $# -gt 2; then
echo "Usage: `basename $0` [seconds] [0|1]"
exit 1
fi
if test $# -gt 1; then
flag=$2 # 值为1表示输出丢包为0的记录
fi
if test $# -gt 0; then
stat_seconds=$1
fi
# 下段不允许出错
set -e
# 日志文件
basedir=$(dirname $(readlink -f $0))
logname=`basename $0 .sh`
logfile=$basedir/$logname.log
if test ! -w $basedir; then
basedir=`pwd`
logfile=$basedir/$logname
if test ! -w $basedir; then
basedir=/tmp
logfile=$basedir/$logname
fi
fi
# 备份日志文件
bak_logfile=$logfile.bak
if test -f $logfile; then
rm --interactive=never $logfile
touch $logfile
fi
# 恢复
set +e
# 统计哪些网卡,不填写则自动取
#ethX_array=()
#
#if test $# -eq 0; then
# ethX_array=(`cat /proc/net/dev| awk -F[\ \:]+ '/eth/{printf("%s\n",$2);}'`)
#else
# ethX_array=($*)
#fi
old_num_errors=0
for ((;;))
do
# 相关命令:
# 1) 查看队列中的包数:netstat –alupt
# 2) 查看socket读缓冲区大小:cat /proc/sys/net/core/rmem_default
# 3) 查看socket读缓冲区大小:cat /proc/sys/net/core/wmem_default
# 4) 查看网卡队列大小:ethtool -g eth1
# 5) 查看arp缓存队列大小:cat /proc/sys/net/ipv4/neigh/eth1/unres_qlen
# 6) 查看CPU负载:mpstat -P ALL 1 或 vmstat 1 或 top 或 htop 或uptime
#
# 取得丢包数
# 命令“cat /proc/net/snmp | grep Udp”比命令“netstat –su”好
# num_drops=`netstat -su | awk -F[\ ]+ 'BEGIN{flag=0;}{ if ($0=="Udp:") flag=1; if ((flag==1) && (match($0, "packet receive errors"))) printf("%s\n", $2); }'`
num_errors=`cat /proc/net/snmp | awk -F'[ ]'+ 'BEGIN{ line=0; }/Udp/{ ++line; if (2==line) printf("%s\n", $4); }'`
if test $old_num_errors -eq 0; then
old_num_errors=$num_errors
elif test $num_errors -ge $old_num_errors; then
num_drops=$(($num_errors - $old_num_errors))
if test $flag -eq 1 -o $num_drops -ne 0; then
line="`date '+%Y-%m-%d %H:%M:%S'` $num_drops"
# 得到日志文件大小(5368709120 = 5 \* 1024 \* 1024 \* 1024)
logfile_size=`ls -l --time-style=long-iso $logfile 2>/dev/null| awk -F[\ ]+ '{ printf("%s\n", $5); }'`
if test ! -z "$logfile_size"; then
if test $logfile_size -gt 5368709120; then
echo $line | tee -a $logfile
mv $logfile $bak_logfile
rm -f $logfile
fi
fi
echo $line | tee -a $logfile
fi
fi
sleep $stat_seconds
done
文章标签:
日志服务
监控
Perl
Shell
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
一见蓝天
目录
相关文章
小小工匠
|
4月前
|
存储
Oracle
关系型数据库
Oracle优化07-分析及动态采样-DBMS_STATS 包
Oracle优化07-分析及动态采样-DBMS_STATS 包
小小工匠
56
0
0
游客4sqoqnfoxas4e
|
10月前
|
存储
监控
算法
hsql统计两天数据差异的算法及lag()/led()分析函数的使用
hsql统计两天数据差异的算法及lag()/led()分析函数的使用
游客4sqoqnfoxas4e
135
0
0
花神庙码农
|
10月前
|
网络协议
【TCP/IP】【调试】丢包、流不通、错包等问题查证手段系列之一——日志方式
【TCP/IP】【调试】丢包、流不通、错包等问题查证手段系列之一——日志方式
花神庙码农
146
0
0
高久峰
|
JSON
中间件
API
tp6请求日志,tp6记录详细日志
tp6请求日志,tp6记录详细日志
高久峰
1970
0
0
angel_kitty
|
Python
深入理解USB流量数据包的抓取与分析
0x01 问题提出 在一次演练中,我们通过wireshark抓取了一个如下的数据包,我们如何对其进行分析? 0x02 问题分析 流量包是如何捕获的? 首先我们从上面的数据包分析可以知道,这是个USB的流量包,我们可以先尝试分析一下USB的数据包是如何捕获的。
angel_kitty
2264
0
0
Lxz123
|
数据安全/隐私保护
紧急报文——实验吧
刚刚做了实验吧的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! 永远爱你们的————新宝宝 紧急报文分值:20 来源: 比赛真题 难度:中 ...
Lxz123
1119
0
0
技术小阿哥
|
Perl
.统计日志中攻击的IP次数然后加IP屏蔽
技术小阿哥
961
0
0
余二五
|
Shell
选IDC房时,用脚本截取丢失包和rtt的值作比对
余二五
971
0
0
技术小阿哥
演示:使用Sniffer统计与分析流量
技术小阿哥
1009
0
0
技术小牛人
|
数据库
一次由ip_conntrack跟踪连接库满导致的大量丢包现象排除
技术小牛人
1082
0
0
热门文章
最新文章
1
Spring Boot 系列:最新版优雅停机详解
2
降本增效利器!趣头条Spark Remote Shuffle Service最佳实践
3
2014秋C++第16周 项目5参考 编程处理C++源代码
4
入门预测
5
雅虎任命新公司CEO和CFO 梅耶尔将离职
6
光伏系统建好不是一本万利,运维做不好同样达不到预期收益
7
大数据会消灭律师这一职业吗?
8
red5-常见的错误收录
9
SQL Server 2012 AlwaysOn高可用配置之七:新建数据库
10
WPF 简单的绕圈进度条(无cs代码)
1
极品飞车3:热力追踪在Windows 10电脑中运行
105
2
做车联网测试,让我一不小心上了央视
104
3
软件测试也要敲代码,为什么不让开发兼测试?
107
4
吃透这些软件测试理论知识要点,你就搞懂了软件测试
102
5
你发现一个bug,如何定位这个是前端还是后端缺陷?建议收藏
122
6
软件测试高频面试题“黑盒测试之正交试验法”案例剖析与实践应用
110
7
读完这篇文章后,才发现Allpairs这款工具,让测试用例变得如此简单
86
8
腾讯游戏测试工程师的经验心得分享
97
9
百度搜索:蓝易云【Nodejs快速搭建简单的HTTP服务器详细教程。】
151
10
百度搜索:蓝易云【Linux系统安装MySQL详细教程】
139
相关产品
云迁移中心
文档详情
产品详情
相关电子书
更多
低代码开发师(初级)实战教程
阿里巴巴DevOps 最佳实践手册
冬季实战营第三期:MySQL数据库进阶实战
推荐文章
更多
重磅来袭!参与评测赢Iphone14 pro!
文件存储NAS评测征集令!
招募!寻找技术人的伯乐!
乘风者计划邀您入驻社区,精彩权益即刻享
下一篇
使用ECS和OSS搭建个人网盘