Czy istnieje zastąpienie polecenia ping, które wyświetli datę / czas systemu oprócz czasu podróży w obie strony i numeru sekwencyjnego? Wolałbym narzędzie działające w systemie Linux, ale jeśli istnieje narzędzie cli, mogę uruchomić system Windows, to też byłoby dobre.
Istnieje system, który użytkownicy zgłaszają, co pewien czas wstrzymuje działanie . Wydaje się, że tak się nie dzieje. Nie byłem w stanie sprawić, aby użytkownik raportujący powiedział, kiedy to się stało, z wystarczającą dokładnością, aby móc skorelować pauzę z dowolnymi dziennikami.
Jeden z techników zostawił ping na dzień przeciwko gospodarzowi. Czas podróży w obie strony stał się dość duży w pewnym momencie. Próbuję dowiedzieć się, kiedy dokładnie to się stanie, aby zawęzić listę wpisów w dzienniku, na które powinienem patrzeć, i ewentualnie skorelować tę pauzę z innymi danymi, które mógłbym być w stanie zebrać z dzienników wydajności, dzienników urządzeń i tak dalej.
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
Oto rozwiązanie bash :)
Teraz sprawmy, aby
date
polecenie wygenerowało nieco ładniejszy wynik:Twoje zdrowie!
źródło
while [ 0 ]
:ping google.com | while read line; do echo -e "$(date) $line"; done
„Cięższą” opcją, której używamy do regularnego sprawdzania opóźnień i utraty pakietów, jest Smokeping . Nie tylko daje ci trochę więcej informacji w łatwiejszym do odczytania formacie, ale możesz także wykonywać takie czynności jak sprawdzanie HTTP i DNS zamiast polegać na ICMP. Wiele zapór i routerów nie nadaje priorytetu ICMP, co powoduje pomiary fałszywych opóźnień.
źródło
W przypadku systemu Linux zainstaluj,
moreutils
co da cits
.źródło
Użyjmy wbudowanej powłoki
printf
ze%(datefmt)T
specyfikacją formatu, aby uniknąć wywoływania cięższych interpreterów lub tworzenia nowegodate
procesu dla każdej linii.Podobnie jak w przykładzie Perla, można to zrobić, wysyłając potoki do sed i awk. Myślę, że
ts
jest to najłatwiejsze, ale nie mamy tego na naszych serwerach. To samo dotyczy środowisk takich jak busybox.Jeśli twoje polecenie buforuje dane wyjściowe, możesz użyć
unbuffer
.źródło