Назад | Перейти на главную страницу

Диагностика возможных периодических сбоев / замедлений сети; инструмент?

Есть ли простой инструмент (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 &

После того, как вы подождали подходящее количество времени, вам просто нужно остановить процесс и просмотреть файл журнала. Конечно, это можно настроить как угодно.