Есть ли простой инструмент (linux cli), который я могу запускать непрерывно в течение определенного периода времени, чтобы увидеть, есть ли какие-либо проблемы с подключением между двумя конкретными конечными точками сети через глобальную сеть?
Один удаленный сайт испытывает замедление / падение производительности, и я хочу выяснить, на какой стороне сети произошла ошибка.
РЕДАКТИРОВАТЬ
Принятый ответ рекомендует 'mtr'; для дальнейшего использования, mtr принимает следующие соответствующие варианты:
--report
This option puts mtr into report mode. When in this mode, mtr will run for
the number of cycles specified by the -c option, and then print statistics
and exit.
This mode is useful for generating statistics about network quality.
Note that each running instance of mtr generates a significant amount of
network traffic. Using mtr to measure the quality of your network may result
in decreased network performance.
--report-cycles COUNT
Use this option to set the number of pings sent to determine both the
machines on the network and the reliability of those machines.
Each cycle lasts one second.
Взгляни на mtr. Это traceroute и ping, объединенные в один инструмент, который непрерывно отслеживает путь между двумя хостами. Вы получите такой результат, как показано ниже. Он доступен как пакет mtr-tiny для Ubuntu и mtr для CentOS.
My traceroute [v0.75]
somehost.lan (0.0.0.0) Thu Aug 18 20:52:49 2011
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. somehost.lan 0.0% 56 0.3 0.3 0.2 0.5 0.0
2. 192.168.1.254 0.0% 55 82.8 48.1 2.9 100.6 31.5
3. 94-192-160-1.zone6.bethere.co.uk 76.4% 55 11038 11232 11038 11450 156.1
4. 10.1.3.245 25.9% 55 17.6 17.6 16.8 20.6 0.7
5. ???
6. ???
7. linx1-hex.webfusion.com 96.3% 55 23.6 23.8 23.6 24.1 0.3
8. ???
9. supanames-22.supanames.co.uk 0.0% 55 31.4 31.4 30.5 38.0 1.0
Я бы сделал это с помощью небольшого сценария оболочки вроде этого:
#!/bin/bash
while true; do
date >> mylogfile.txt
ping -c 5 sometestnode >> mylogfile.txt
sleep 5
done
Запустите сценарий следующим образом, чтобы он продолжал работать после выхода из системы:
nohup scriptname.sh &
После того, как вы подождали подходящее количество времени, вам просто нужно остановить процесс и просмотреть файл журнала. Конечно, это можно настроить как угодно.