Существует ли замена пинга, которая будет отображать дату / время системы в дополнение к времени прохождения туда-обратно и порядковому номеру? Я бы предпочел инструмент, работающий в Linux, но если есть инструмент cli, который я могу запустить в Windows, он тоже подойдет.
Существует система, о которой пользователи сообщают, периодически останавливается . Это, кажется, не происходит в любое время. Мне не удалось заставить пользователя, сообщающего информацию, сообщить, когда это произошло, с достаточной спецификой, чтобы иметь возможность соотнести паузу с любыми журналами.
Один из техников оставил на один день пинг против хозяина. Время прохождения туда и обратно стало довольно большим в определенный момент времени. Я пытаюсь выяснить, когда именно это происходит, поэтому я могу сузить, какие записи журнала я должен просматривать, и, возможно, сопоставить эту паузу с другими данными, которые я смог бы собрать с журналами производительности, журналами устройств и так далее.
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
Вот решение Bash :)
Теперь давайте заставим
date
команду произвести более приятный вывод:Ура!
источник
while [ 0 ]
:ping google.com | while read line; do echo -e "$(date) $line"; done
«Более тяжелая» опция, которую мы используем для регулярной проверки задержки и потери пакетов, - это Smokeping . Мало того, что он дает вам немного больше информации в более удобном для чтения формате, но вы также можете выполнять такие вещи, как проверки HTTP и DNS вместо того, чтобы полагаться на ICMP. Многие межсетевые экраны и маршрутизаторы будут расставлять приоритеты ICMP, что приведет к ошибочным измерениям задержки.
источник
Для Linux, установите,
moreutils
который даст вамts
.источник
Давайте использовать оболочку встроенную
printf
с%(datefmt)T
спецификацией формата , чтобы не вызывать тяжелые интерпретаторы или порождая новый вdate
процессе для каждой строки.Как и в примере с Perl, это можно сделать, отправив сообщения в sed и awk. Я думаю, что
ts
это самое простое, но у нас его нет на наших серверах. То же самое для таких сред, как busybox.Если ваша команда буферизирует вывод, вы можете использовать
unbuffer
.источник