Даже в настоящее время с бурным развитием широкополосного интернета актуальна проблема с текущей загрузкой канала. Канал 10Mbit забить очень просто, достаточно включить торрент и поставить что-то популярное на закачку. Понять кто забил весь канал или посмотреть загрузку канала в реальном времени вам помогут следующие программы
1.Iftop
2.Nettop
3.SqStat
Iftop
Программа iftop очень многое унаследовала от обыкновенной программы top, только показывает текущие соединения, входящие или исходящие и пропускную способность соединений. Самые жирные соединения будут вверху списка.
Установка программы потребует от вас удовлетворение следующих зависимостей:
libpcap & libpcap-devel и ncurses & ncurses-devel
После установки дополнительная настройка и конфигурация не потребуется. Работать с программой очень просто. От root или sudo выполняем iftop -i <имя интерфейса>. Например во freebsd
iftop -i bge0
Если во время программы нажать кнопку “h”, то можно увидеть различные параметры управления iftop. Выход из программы – “q”.
Многие параметры оперирования программой iftop можно задать в в файле ~/.ftoprc . Например можно сразу задать интерфейс, который будем мониторить и наглядные столбики загруженности канала.
# cat /root/.iftoprc
interface: bge0
port-display: on
Nettop
Показывает мгновенную пропускную способность канала по портам и протоколам.
Для установки программы потребуется при необходимости установить пакет libslang.
Настройка и конфигурирование не требуется, запускать от root или sudo командой nettop -i <имя интерфейса>
nettop -i bge0
Дополнительные параметры отображения можно посмотреть, нажав кнопку “h” во время работы программы.
SqStat
Фактически это набор php скриптов для мониторинга канала на proxy сервере SQUID. Соответственно для работы программы надо наличие установленного http сервера с поддержкой php. Я использовал сервер apache.
Имейте ввиду, что SqStat не мониторит весь ваш канал интернета, это программа только для мониторинга машин, выходящих в интернет через proxy сервер SQUID.
Скачиваем программу с сайта и распаковываем в какую-нибудь директорию на сервере http.
Изменяем название файла config.inc.php.defaults на config.inc.php и вносим изменения в следующие строки
#ip вашего squid сервера
$squidhost[0]="192.168.15.4";
#порт сервера
$squidport[0]=5623;
#Обратим ip в DNS имена, (у вас должен быть настроен DNS сервер в локальной сети)
#эта опция по желанию, можно и false оставить
$resolveip[0]=true;
Теперь можно в браузере набирать путь до скрипта sqstat.php и наблюдать вот такую красивую картинку. (если у вас ошибки то идем сюда)
Жалко, что не сортирует соединения в порядке загрузки канала. Но основную загрузку можно всегда посмотреть в верхней строке Curr Speed, а затем уже внимательно приглядеться к клиентам 🙂
Чтобы вместо ip или dns записей отображались имена пользователей, надо создать файл host.txt в директории со скриптами SqStat такого содержания
192.168.16.29 Vasa Pupkin
192.168.16.29 Olesa Ivanova
и т.д.
а в файле config.inc.php раскомментировать строку
$hosts_file[0]="hosts.txt";
При возникновении ошибки
Parse error: syntax error, unexpected T_VARIABLE in \
/usr/local/apache/htdocs/stat/config.inc.php on line 25
поставить символ “;” в конце только что раскомментированной строки 🙂
Если у вас выскочила ошибка в браузере
Следует немного подправить конфиг squid.conf
Разделить строки
http_access allow manager localhost
на
http_access allow manager
http_access allow localhost
и выполнить перезапуск squid сервера
#cd /usr/local/squid/bin/
#squid -k reconfigure
забыли указать: nload eth0 -m