Простой мониторинг сетевой активности Darkstat
Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты Darkstat.
Это очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке libcap
Тестовый стенд:
Gentoo Linux 3.1.0-gentoo #1 SMP Tue Nov 1 22:36:19 EET 2011 x86_64 AMD Athlon(tm) Dual Core Processor 4050e AuthenticAMD GNU/Linux |
Установка:
emerge -av darkstat |
Настройка
cd /etc/conf.d/ |
Создадим конфиг для интерфейса eth1
cp darkstat darkstat.eth1 |
Тут весь изюм. Нам нужно создать конфиг darkstat.ip-address и поправить параметры
# The interface to listen on # Use only with /etc/init.d/darkstat init script. If you use # /etc/init.d/darkstat.if init script, then this option should be ignored. # Опция не актуальна если имя конфига darkstat. #INTERFACE="eth3" # Порт на котором будет сидеть веб-сервер PORT="666" # Адрес на котором запустится встроеный веб сервер ADDRESS="0.0.0.0" # Фильтр. синтаксис а-ля tcpdump. см.документацию на tcpdump #FILTER="" #Ежедневный лог в директорию chroot (см.ниже). DAYLOGFILE="darkstat.eth1.log" # Всякие опции: DARKSTAT_OPTS="--no-promisc --no-dns --user darkstat" #Окружение для логов #CHROOT=/var/lib/darkstat |
В опции еще можно дописать
DARKSTAT_OPTS="--no-promisc --no-dns --import darkstat.db --export darkstat.db --user darkstat" |
чтоб он запоминал значения при перезагрузках
Теперь лезем к скриптам инициализации
cd /etc/init.d/ ln -snf darkstat darkstat.eth1 /etc/init.d/darkstat.eth1 start rc-update add darkstat.eth1 |
Тут все просто. Создаем ссылку на оригинальный инит и в ссылке по аналогии с файлом конфига
Теперь заходим на http://ip-address:667 и любуемся статистикой

По каждому хосту еще можно посмотреть детализацию по портам
