Shell - 长 ping 脚本监控网络时延
生产环境中, 网络是否稳定(网络时延)是一个很重要的指标. 为了方便检查网络时延的大小, 我们可以通过ping命令实现长时间的网络监控.
1 ping 命令的使用
1.1 常用参数
-i: 每次执行ping操作的间隔时间, 默认是1s;
-c: 执行ping操作的次数, 默认是一直执行, 除非被中断;
-s: 指定执行ping操作时发送的包的大小, 默认是56B, 添加报文头之后, 最终发送的是64B.
1.2 使用示例
# 在终端 ping 某个地址, 执行3次, 每次间隔2秒, 每次发送10KB的数据:
[root@localhost ~]# ping -c 3 -i 2 -s 10240 172.16.22.132
# 结果如下:
PING 172.16.22.132 (172.16.22.132) 10240(10268) bytes of data.
10248 bytes from 172.16.22.132: icmp_seq=1 ttl=64 time=0.294 ms
10248 bytes from 172.16.22.132: icmp_seq=2 ttl=64 time=0.383 ms
10248 bytes from 172.16.22.132: icmp_seq=3 ttl=64 time=0.391 ms
--- 172.16.22.132 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.294/0.356/0.391/0.043 ms
2 通过脚本记录时间戳
很多时候, 我们除了监控网络时延的大小, 还想知道网络发生抖动时的具体时间 —— 可以将 ping 的结果通过管道进行处理.
为了方便后期查看, 也防止退出终端时命令被中断, 我们可以通过后台运行命令(脚本)的方式进行操作.
脚本内容如下:
#!/usr/bin/sh
# ping 86400次, 默认间隔1秒, 也就是24小时
ping -c 86400 -i 1 -s 10240 172.16.22.131 | awk '{ print $0"\t" strftime("%D_%H:%M:%S",systime()) }' > ping_result.log
注意: 只有当脚本运行结束(或被kill掉),
awk命令 才会将结果输出到文件中.
为防止脚本被中断, 可以通过 nohup 令脚本在后台执行:
nohup sh long_ping.sh &
要结束后台进程, 可通过下述方式查找并kill:
[root@localhost ~]# ps aux | grep long
root 36538 0.0 0.0 113120 1344 pts/3 S 16:02 0:00 sh long_ping.sh
root 37451 0.0 0.0 112652 960 pts/3 S+ 16:03 0:00 grep --color=auto long
[root@localhost ~]# kill -9 36538
参考资料
版权声明
出处: 博客园 瘦风-记录时间(https://www.cnblogs.com/shoufeng)
感谢阅读, 如果文章有帮助或启发到你, 点个[好文要顶
Shell - 长 ping 脚本监控网络时延的更多相关文章
- linux下脚本监控网络流量
linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...
- linux下使用screen和ping命令对网络质量进行监控
linux下使用screen和ping命令对网络质量进行监控 场景:应用连接云服务器经常偶尔会出现连接不上的情况,android和IOS端连接的时候也会出现tcp延时5秒以上,现在想验证是否是云服务商 ...
- shell脚本监控Linux系统性能指标
2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...
- Shell脚本监控专线Network并SendEmail报警
Much effort, much prosperity. 配置服务器监控专线网络 项目介绍: 配置一台服务器监控专线网络的情况,(由于公司业务的原因需要用到专线进行与客户对接)实时监控专线的状态,如 ...
- shell脚本检测网络是否畅通
shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { ...
- 用shell脚本监控进程是否存在 不存在则启动的实例
用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]th ...
- shell for循环+case的脚本(监控程序状态)
分享一个shell for循环+case的脚本(监控程序状态) 分享一个for循环+case的脚本(监控程序状态并执行相关操作) ,供大家学习参考. 复制代码代码如下: #/bin/bash set ...
- shell脚本监控网站状态
shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...
- linux shell脚本监控进程是否存在
用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ...
随机推荐
- css四种基本选择器
css选择器是什么? 要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器. HTML页面中的元素就是通过CSS选择器进行控制的. CSS选择器:就是指定CS ...
- Python 中用面向对象的思想处理网页翻页 (初级)
第一种处理方法: class Pagenation(object): """ 处理分页相关的代码 """ def __init__(self ...
- 【MySQL】MySQL使用正确密码却认证失败问题解决方法
前言:笔者根据 #MySQL忘记密码,重置密码方法 ,修改密码后.使用修改后的正确密码怎么也登录不上数据库,然后经过以下方法,重新登录数据库. 1.确认MySQL安装目录下没有data(Data)文件 ...
- 【重构】AndroidStudio中代码重构菜单Refactor功能详解
代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是A ...
- JVM参数及调优
## 3.2.1 JVM参数及调优 ### 调优基本概念 在调整JVM性能时,通常有三个组件需要考虑:1. 堆大小调整2. 垃圾收集器调整3. JIT编译器 大多数调优选项都与调整堆大小和选择合适的垃 ...
- SasS 设计原则十二因素
Heroku 是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.其创始人 Adam Wiggins 根据这些经验,发布了一个“十二要素应用宣言(The Twelve-F ...
- [考试反思]1001csp-s模拟测试(b):逃离
如你所见,b组题,除了NC乱入直奔T2抢了我一个首杀以外A层学过FFT的人都没有参加. 竞争压力很小,题又简单,所以就造就了6个AK. 然而并不计入总分,我仍然稳在第二机房. T1lyl16分钟切掉我 ...
- 零基础小白入门IT开发指南
先自我介绍以下,本人是一枚刚毕业不到两年的某一线城市的程序员,本科阶段专业是计算机科学与技术.从大四开始出去实习到现在的编码经验也有快2年半了,两年半的时间包括实习在内任职过有4家公司,包括一家互联网 ...
- P3105 [USACO14OPEN]公平的摄影(正解是乱搞,我却二分了)(+二分答案总结)
照例化简题意: 给定一个01区间,可以把0改成1,问其中最长的01数量相等的区间长度. 额很容易想到前缀和,把w弄成1,h弄成-1,然后求前缀和,然后乱搞就行了. 但是一直不太会乱搞的我却直接想到了二 ...
- 问题 A: 雷神领域
传送门 题目描述 L君,S大陆首屈一指的天才魔法师,创造了一个新魔法:雷神领域. 这个魔法会首先在地面上形成正方网格魔法阵列,然后在某些位置召唤雷电轴标.注意:一个位置只能有一个雷电轴标存在. 雷电 ...