Простой мониторинг сетевой активности Darkstat

Автор | 04.07.2012

Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты 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 и любуемся статистикой

Таблица разбитая по хостам

Таблица разбитая по хостам

График загрузки интерфейса

График загрузки интерфейса


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

Статистика по отдельному IP

Статистика по отдельному IP

Залишити відповідь