除了往返时间和序列号之外,是否有 ping 替代品可以显示系统的日期/时间?我更喜欢在 Linux 上运行的工具,但如果有一个 cli 工具,我也可以在 Windows 上运行,那也很好。
有一个用户报告的系统间歇性暂停。这似乎不会在任何一致的时间发生。我无法让报告用户以足够的特异性告诉报告用户何时发生,以便能够将暂停与任何日志相关联。
其中一名技术人员对主机运行了一天的 ping。往返时间在某个时间点变得非常大。我试图弄清楚这到底是什么时候发生的,以便我可以缩小我应该查看的日志条目的范围,并可能将此暂停与我可能能够收集的其他数据与性能日志、设备日志等相关联。
64 bytes from 10.2.4.241: icmp_seq=1825 ttl=64 time=0.321 ms
64 bytes from 10.2.4.241: icmp_seq=1826 ttl=64 time=0.371 ms
64 bytes from 10.2.4.241: icmp_seq=1827 ttl=64 time=13937.638 ms
64 bytes from 10.2.4.241: icmp_seq=1828 ttl=64 time=12937.526 ms
64 bytes from 10.2.4.241: icmp_seq=1829 ttl=64 time=11937.392 ms
64 bytes from 10.2.4.241: icmp_seq=1830 ttl=64 time=10937.275 ms
...
64 bytes from 10.2.4.241: icmp_seq=1840 ttl=64 time=936.073 ms
64 bytes from 10.2.4.241: icmp_seq=1841 ttl=64 time=0.410 ms
Run Code Online (Sandbox Code Playgroud)
Gle*_*leb 12
您可以使用 perl 添加时间戳,如下所示:
ping 127.0.0.1 | perl -pe 'BEGIN {use POSIX;} print strftime("%Y-%m-%d %H:%M:%S ", localtime)'
Run Code Online (Sandbox Code Playgroud)
kol*_*pto 12
这是一个 bash 解决方案:)
$ ping 本地主机 | 读行时;做 echo -e "$(date)\t $line" ; 完毕 11 月 3 日星期二 04:46:26 MSK 2009 PING 本地主机 (127.0.0.1) 56(84) 字节数据。 11 月 3 日星期二 04:46:26 MSK 2009 来自 localhost (127.0.0.1) 的 64 字节:icmp_seq=1 ttl=64 time=0.033 ms 11 月 3 日星期二 04:46:27 MSK 2009 来自 localhost (127.0.0.1) 的 64 字节:icmp_seq=2 ttl=64 time=0.040 ms Tue Nov 3 04:46:28 MSK 2009 来自 localhost (127.0.0.1) 的 64 字节:icmp_seq=3 ttl=64 time=0.046 ms Tue Nov 3 04:46:29 MSK 2009 来自 localhost (127.0.0.1) 的 64 字节:icmp_seq=4 ttl=64 time=0.046 ms
现在,让我们让date命令产生更漂亮的输出:
$ ping 本地主机 | 读行时;做 echo -e "$(date +%H:%I:%S)\t $line" ; 完毕 04:04:13 PING localhost (127.0.0.1) 56(84) 字节数据。 04:04:13 来自本地主机 (127.0.0.1) 的 64 字节:icmp_seq=1 ttl=64 时间=0.044 毫秒 04:04:14 来自本地主机 (127.0.0.1) 的 64 字节:icmp_seq=2 ttl=64 时间=0.039 ms 04:04:15 来自本地主机 (127.0.0.1) 的 64 字节:icmp_seq=3 ttl=64 时间=0.042 毫秒
干杯!