生产环境中, 网络是否稳定(网络时延)是一个很重要的指标. 为了方便检查网络时延的大小, 我们可以通过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

参考资料

centos长ping输出日志的脚本

版权声明

作者: 瘦风(https://healchow.com)

出处: 博客园 瘦风-记录时间(https://www.cnblogs.com/shoufeng)

感谢阅读, 如果文章有帮助或启发到你, 点个[好文要顶

Shell - 长 ping 脚本监控网络时延的更多相关文章

  1. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  2. linux下使用screen和ping命令对网络质量进行监控

    linux下使用screen和ping命令对网络质量进行监控 场景:应用连接云服务器经常偶尔会出现连接不上的情况,android和IOS端连接的时候也会出现tcp延时5秒以上,现在想验证是否是云服务商 ...

  3. shell脚本监控Linux系统性能指标

    2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...

  4. Shell脚本监控专线Network并SendEmail报警

    Much effort, much prosperity. 配置服务器监控专线网络 项目介绍: 配置一台服务器监控专线网络的情况,(由于公司业务的原因需要用到专线进行与客户对接)实时监控专线的状态,如 ...

  5. shell脚本检测网络是否畅通

    shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { ...

  6. 用shell脚本监控进程是否存在 不存在则启动的实例

    用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]th ...

  7. shell for循环+case的脚本(监控程序状态)

    分享一个shell for循环+case的脚本(监控程序状态) 分享一个for循环+case的脚本(监控程序状态并执行相关操作) ,供大家学习参考. 复制代码代码如下: #/bin/bash set ...

  8. shell脚本监控网站状态

    shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...

  9. linux shell脚本监控进程是否存在

    用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货:    #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ...

随机推荐

  1. [最新方法]终于解决了 Ubuntu 14.04 网络图标不见了 的问题|Ubuntu14.04 网络图标消失

    解决 Ubuntu 14.04 网络图标不见了 消失的问题   这个问题困扰了我大半年了.但是我就硬是不想重新装系统.搜索研究一番发现,这个问题是nm-applet的问题.   然后偶然发现nm-ap ...

  2. linux sqlite安装

    wget http://www.sqlite.org/sqlite-3.6.16.tar.gz tar -zxvf sqlite-3.6.16.tar.gz  cd sqlite-3.6.16 ./c ...

  3. Docker在Linux上 基本使用

    简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任 ...

  4. 使用koa-mysql-session时报错

    描述 在本地测试代码没问题,但是部署到服务器上时就报错. 错误 > cross-env WEBPACK_TARGET=node NODE_ENV=production node ./server ...

  5. Head First设计模式——简单工厂、工厂、抽象工厂

    前言:按照惯例我以Head First设计模式的工厂模式例子开始编码学习.并由简单工厂,工厂模式,抽象工厂模式依次演变,归纳他们的相同与不同. 话说Head First认为简单工厂并不是设计模式,而是 ...

  6. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  7. generator和promise配合解决js异步地狱问题

    为何要使用generator函数和promise? js的异步地狱一直是困扰前端程序员的一个头疼的问题 比如说我要获取还有列表,一般来说会使用ajax来获取 $.ajax(...等等,function ...

  8. 【实用工具】这些你不得不知道的chrome插件,让你事半功倍

    平时chrome插件用多了,发现在工作中有很多插件特别好用,让你事半功倍.于是我抽时间整理了一些非常好用的chrome插件分享给大家,其中有些插件是我已经离不开,每天都在用的.希望这篇文章能帮助你找到 ...

  9. day 1 晚上 P2824 [HEOI2016/TJOI2016]排序 线段树

    #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #inclu ...

  10. 如何在HTML中设置字体颜色,你知道这几种方式吗?

    color设置字体颜色 在color设置字体颜色之前,我们首先了解color在CSS中有几种取值方式,一共有4种方式,若有不全还请在评论区告知谢谢,4种方式如下: 十六进制.十进制. 英文单词.十六进 ...