Добрый деньподскажите может есть скрипт подстчета траффика по результатам анализа syslog от dlink dfl-800
спасибо.))
>Добрый день
>
>подскажите может есть скрипт подстчета траффика по результатам анализа syslog от dlink
>dfl-800
>
>спасибо.))Захожу http://www.dlink.ru/ru/products/6/572_b.html, вижу:
# Регистрация и мониторинг
# Внутренняя регистрация
# Внешняя регистрация: сервер Syslog
# Уведомление по email
# Регистрация событий
# SNMP v1, v2cпо Syslog я думаю не получиться поскольку он отвечает за жизнедеятельность самой железки, а вот поднять SNMP и снимать статистику с нужного порта любым парсером аля PRTG/MRTG лЁгко.
У самого такая же проблема. По mrtg получилось пока смотреть загрузку канала, про подробную статистику ищу как сделать. По поводу syslog - есть программа D-Link DFL Traffic Counter под windows, в описании заявлено, что работает она именно через анализ syslog-a. Соответственно необходимые данные в syslog есть. Надо их получить и обработать...
Расскажите чем закончилась эта история со снятием статистики с DFL-800.
Хочу тоже снимать данные с этой железки, но не знаю как подступится.
Может кто знает и подскажет как просто добраться до файла с логами что формирует внутри себя эта железяка, а там я бы уже сам "расспарсил" все на составляющие.
работает триальный dfl traffic counter статистику снимает. Ну с ограничениями конечно. На мой взгляд, с этой программой идет достаточно подробная документация, чтобы написать собственную обработку на основе того, что попадает в syslog. До файла добираться не надо. Надо настроить на длинке логгирование необходимых событий(например nat пакета) и настроить отправку сообщений на внешний syslog сервер, потом поставить на машину какой нибудь syslogd который будет принимать сообщения от длинка, и складывать их в базу. Или сначала разбирать, а потом складывать, ну и потом делать выборки из базы, кто, куда, что и сколько. На форуме длинка есть отдельная тема по подсчету трафика, где автор программы активно участвует в обсуждении...
На форуме DLink(a) действительно есть такая тема, но там автор в основном хвалит свой продукт не вдаваясь в детали реализации. По этому вот мой способ решения.На DFL-800 настроил отдачу информации внешнему syslog-серверу.
Вкладка System - Log and Events Receivers.
Для идентификации оборудования в нашем случае DLink, выбрал local0. Пригодится при редактировании syslog.conf
Уровень детализации информации можно настроить по любому правилу, которое создается в DLink(е).
После этого DLink начинает вещать в сеть пакеты, содержащие информацию о своем состоянии.
Теперь нужно настроить сервер syslog на "свободной" машине где установлен Linux, которая будет принимать пакеты от DLink(a). Адрес этой "свободной машины" следует указать в настройках получателя syslog-сообщений от DLink(а)
Сначала создадим директорию куда будем сваливать лог-файлы DLink(a) на пример:
/var/log/firewall
Переходим к редактированию файла /etc/syslog.conf
дописываем в конец файла следующие строки:
#Receive log-messages from firewall
local0.=emerg /var/log/firewall/firewall_emergency.log
local0.=alert /var/log/firewall/firewall_alert.log
local0.=crit /var/log/firewall/firewall_critical.log
local0.=err /var/log/firewall/firewall_error.log
local0.=warning /var/log/firewall/firewall_warning.log
local0.=notice /var/log/firewall/firewall_notice.log
local0.=info /var/log/firewall/firewall_info.log
local0.=debug /var/log/firewall/firewall_debug.log
local0.=none /var/log/firewall/firewall_none.logесли не хотите разделять события по категориям можете все события направить в один файл
#Receive log-messages from firewall
local0.* /var/log/firewall/firewall.logпри направлении всех событий в один файл я не смог найти в сообщениях DLink(a) признака по которым можно было бы определить к какой категории относится событие, то ли это notice а может это warning или debug по видимому это информация кроется в недрах заголовка TCP-пакета.
Так что пусть с этим разбирается демон syslogdпосле этого перезапускаем сервис syslogd
/etc/init.d/syslog restartв директории /var/log/firewall появятся файл(ы) в которые будут копить информацию о состоянии вашего DLink(а)
так как информация будет копится и копиться файлы будут расти то следует подумать о ротации log-файлов, для этого нужно настроить ежедневную (или еже недельную) чистку log-файлов. Проще всего это сделать при помощи webmin там есть специальная вкладка "ротация лог файлов" выбираем нужные файл(ы) и указываем как часто делать чистку и копирование. Если webmin не доступен то можно дописать имена файла(ов) которые нужно подвергнуть ротации в конец файла /etc/logrotate.conf примерно так
/var/log/firewall/firewall.log {daily} если файлов много то они разделяются пробеломследующий этап это анализ полученной от DLink(а) информации для этого предлагается сливать содержимое log-файлов в таблыцы базы mySQL а затем уже анализировать при помощи php-скриптов
P.S.
был бы очень признателен за подсказку Linux -команды или сервиса которая бы делала вставку записи в таблицу базы mySQL в режиме реального времени
что то типа tail -f /var/log/firewall/firewall.log только если команда tail выводит на экран то здесь нужно направить вывод в таблицу(ы) БД.