The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Визуализация сетевого трафика с помощью NetFlow и FlowScan (netflow cisco traffic graph statistic)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: netflow, cisco, traffic, graph, statistic,  (найти похожие документы)
From: Сгибнев Михаил <http://dreamcatcher.ru>; Date: Mon, 20 Oct 2005 14:31:37 +0000 (UTC) Subject: Визуализация сетевого трафика с помощью NetFlow и FlowScan Оригинал: http://dreamcatcher.ru/docs/netflow_visio.html Michael W. Lucas 09/15/2005 Перевод: Сгибнев Михаил В прошлой моей статье мы рассмотрели как собирать данные о сетевом трафике с помощью протокола NetFlow. В этой мы рассмотрим как преобразовать полученные данные в красивые цветные картинки. Я рекомендую вам обратиться к предыдущей статье, так как буду считать что flowscan уже настроен, а если вы не используете softflowd и flow-tools и не имеете установленного Cflow.pm, то реализация описанного здесь может потерпеть неудачу. FlowScan является скриптом, написанным на Perl и, анализируя записи NetFlow, сохраняет их в базе данных RRD. RRD используют довольно много средств визуального отображения информации, эта база позволяет хранить большое количество информации не требуя много дискового пространства. FlowScan позволяет сторонним модулям использовать свои процессы, для генерирования собственных отчетов и мы рассмотрим сейчас один из этих модулей -- CUFlow. Установка FlowScan Установку flowscan мы будем делать из системы портов, каталог программы находится в /usr/ports/net-mgmt/flowscan. Таже будут установлениы несколько модулей Perl в качестве зависимостей. Весть инструментарий FlowScan будет по умолчанию установлен в /usr/local/var/db/flows/bin. Учтите, что сразу после установки FlowScan не работоспособен! Сначала, нам необходимо обновить модуль FlowScan, так как официальный дистрибутив долгое время не обновлялся и не способен обрабатывать записи потока. Автор написал обновленный модуль flowscan.pm, но не включил его в состав дистрибутива. Получите [6]FlowScan.pm version 1.6 и скопируйте ее в каталог /usr/local/var/db/flows/bin, перезаписав модуль версии 1.5. В Этом же самом каталоге находится образцовый файл конфигурации FlowScan flowscan.cf.sample. В первую очередь необходимо указать FlowScan, где искать файлы потока. FlowScan будет пытаться обработать каждый файл в каталоге, если вы не укажите регулярное выражение, описывающее необходимые файлы, включая временные файли и вложенные каталоги. В следующем примере мы обрабатываем только завершенные файлы потока, хранящиеся в каталоге /var/log/netflows: FlowFileGlob /var/log/netflows/ft-v*[0-9] В ReportClasses перечисляются все используемые для вывода отчетов модули. FlowScan поставляется с двумя модулями: CampusIO и SubNetIO. Возможно, они окажутся кому-то полезными, но мне удобнее использовать CUFlow. ReportClasses CUFlow Параметр WaitSeconds задает интервал ожидания между попытками FlowScan проверить каталог. Довольно много инструментальных средств используют пятиминутный интервал и могут некорректно работать с меньшим значением. WaitSeconds 300 В заключение, включим отладку для проверки правильности установки: Verbose 1 Конфигурирование FlowScan закончено, но нам все еще необходимо настроить модуль отчетов для правильного отображения информации. Конфигурирование CUFlow Скачайте [7]CUFlow, распакуйте и скопируйте CUFlow.pm и CUFlow.cf в /usr/local/var/db/flows/bin. Сам модуль можно оставить без изменений, но необходимо отредактировать cuflow.cf, чтобы он соответствовал вашим настройкам Perl. Инструкция Subnet указывает принадлежащие вам сети. На основании этих данных CUFlow будет различать входящий и исходящий трафик. Subnet 192.168.2/23 Инструкция Network описывает сети, которые вы хотите обрабатывать отдельно друг от друга. Каждая инструкция будет отображаться как вариант в CGI скрипте. Как вы видите в этом примере, диапазоны могут перекрываться: Network 192.168.2.3,192.168.2.5,192.168.3.80 webservers Network 192.168.2.9,192.168.3.1 mailservers Network 192.168.2.0/25 infrastructure Network 192.168.2.128/25 dmz Network 192.168.3.0/25 administration Network 192.168.3.128/25 development Директивой OutputDir указывается, где сохранять отчеты. Не храните их в доступном по сети месте или в каталоге flow-capture. OutputDir /var/log/cuflow CUFlow также вычисляет самые активные сайты и строит "хит-парад" IP адресов, передавших большее количество трафика в течении 5 минут. За этот параметр отвечает опция Scoreboard. Эта опция использует три аргумента: число IP в "хит-параде", имя каталога для хранения старых списков и имя файла текущего списка. В следующем примере указывается вести "Top 10" IP адресов, сохранять отчеты в /usr/local/www/data/scoreboard и текущим считать файл /usr/local/www/data/scoreboard/topten.html: Scoreboard 10 /usr/local/www/data/scoreboard \ /usr/local/www/data/scoreboard/topten.html В то время как список самых больших потребителей/генераторов трафика в данный пятиминутный период полезен для предотвращения проблем, так же был бы полезен список самых активных хостов. Опция AggregateScore позволяет вам сделать это: AggregateScore 10 /var/log/cuflow/agg.dat /usr/local/www/data/overall.html Если у вас довольно сложная сеть, то может возникнуть необходимость в нескольких сенсорах Netflow. CUFlow может отделять данные от разных сенсоров, при этом различные маршрутизаторы буду доступны в CUFlow CGI. Router 192.168.2.1 fred Router 192.168.3.1 barney Директива Services предназначена для указания TCP/IP портов, которые вы хотите отслеживать отдельно. Эта директива позволяет вам делать такие выводы как "80% нашего трафика приходится на HTTP" и тому подобное. Учтите, что это повышает нагрузку на сервер, поэтому не стоит здесь указывать весь /etc/services. Не стоит указывать сервисы, которые заблокированы, например Gnutella, Edonkey и т.д: Service 20-21/tcp ftp Service 22/tcp ssh Service 23/tcp telnet Директива Protocol очень похожа на Services, только вместо Layer 4 используется Layer 4 модели OSI. Я рекомендую указывать Protocol 1 (ICMP), Protocol 6 (UDP) и Protocol 17 (TCP) в качестве базового минимума. Если есть много пользователей VPN то стоит отслеживать IPSec и GRE. Protocol 1 icmp Protocol 6 tcp Protocol 17 udp Так как Netflow был разработан в Cisco, то неудивительно, что много Netflow датчиков включают информацию BGP. CUFlow может отображать информацию о трафике к/от различных AS, используя для этого номер AS (опция ASNumber), softflowd не предосталяет информацию о номере автономной системы. В случае использования softflowd закомментируйте опцию ASNumber. Сохранение записей Netflow из FlowScan По умолчанию, FlowScan удаляет записи после обработки. Я предлагаю вам сохранять эти записи в течении нескольких месяцев или пока позволяет дисковое пространство. Создайте подкаталог saved в директории Netflow и тогда FlowScan автоматически будет сохранять там обработанные файлы. Даже если вы не планируете хранение старых файлов потока, я рекомендую делать это хотябы первое время, пока вы не убедитесь, что FlowScan работает правильно. В случае, если что-то пойдет не так, наличие этих данны облехчит поиск и устранение неисправности. Запуск FlowScan Теоретически у нас все готово к запуску: # /usr/local/var/db/flows/bin/flowscan FlowScan должен запуститься, выводя подобные сообщения: 2004/09/02 11:35:18 flowscan-1.020 CUFlow: Cflow::find took 1 wallclock secs ( 0.60 usr + 0.02 sys = 0.62 CPU) for 43011 flow file bytes, flow hit ratio: 2759/2760 2004/09/02 11:35:18 flowscan-1.020 CUFlow: report took 0 wallclock secs ( 0.15 usr 0.19 sys + 0.02 cusr 0.09 csys = 0.44 CPU) FlowScan анализирует все старые файлы потока, при этом процесс можеть занять довольно продолжительное время, все зависит от того, сколько файлов накопилось в системе. Достойной упоминания вещью здесь является "flow hit ratio", котороя указывает на количество файлов, не соответствующих формату FlowScan и это очень хороший показатель. Если этот параметр равен 0, то скорее всего вы неправильно указали параметр Subnet. Если FlowScan выдает ошибку "Invalid index in cflowd flow file", то скорее всего, вы не установили новую версию модуля Flowscan.pm . После обработки всех файлов FlowScan выведет сообщение "sleep 300...", в течении этого времени вы можете проверить появление новых файлов потока. Вы можете нажать Ctrl-C для выхода из FlowScan. Вероятно вы захотите запускать FlowScan на этапе начальной загрузки. Для этого перейдите в каталог /usr/local/etc/rc.d и скопируйте туда образцово-показательный скрипт flowscan.sh. Для его работы вовсе необязательно его редактировать, но можно изменить параметр logfile в случае, если вы используете другой каталог. Построение графиков К счастью, построение графиков из RRD файлов является довольно тривиальной задачей. В состав CUFlow входит CGI скрипт, CUGrapher.pl. Скопируйте его в каталог cgi-bin вашего web-сервера. Необходимо установить две переменные: $rrddir и $organization. Параметр $rrddir указывает на каталог, где CUFlow хранит файлы RRD. my $rrddir = "/var/log/cuflow"; Для вывода имени организации вверху страницы используется переменная $organization: my $organization = "LogicaCMG US IDT development area"; Теперь перейдем на URL и выберем, для примера, сеть. Вы должны будете увидеть массив раскрывающихся меню. Выберете любой и нажмите "Generate graph". Поздравляем, у вас есть графики значительно более информативные, чем MRTG. Одним большим недостатком CUFlow является недостаточная детализация. Для устранения этой проблемы необходимо использовать дополнительные модули. О них реч пойдет в следующей статье.

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, Владимир (??), 03:57, 10/05/2007 [ответить]  
  • +/
    # make install
    ===>   flowscan-1.006_7 depends on executable in : ksh - found
    ===>   flowscan-1.006_7 depends on executable in : rrdtool - found
    ===>   flowscan-1.006_7 depends on file: /usr/local/sbin/cflowd - not found
    ===>    Verifying install for /usr/local/sbin/cflowd in /usr/ports/net-mgmt/cflowd
    ===>  cflowd-2.1.b1_9,1 is marked as broken: Does not compile.
    *** Error code 1

    Stop in /usr/ports/net-mgmt/cflowd.
    *** Error code 1

    Stop in /usr/ports/net-mgmt/flowscan.

    cflowd не собирается ни из портов, ни из бинарного набора, выложенного на оф. сайте.
    Если я правильно понял эту ссылку http://www.freshports.org/net-mgmt/cflowd/ - то починен он не будет. Собственно даже не "хелп!!!", а просто - что делать?

     
     
  • 2.2, frv (?), 14:20, 21/05/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ># make install
    >===>   flowscan-1.006_7 depends on executable in : ksh - found
    >===>   flowscan-1.006_7 depends on executable in : rrdtool - found
    >===>   flowscan-1.006_7 depends on file: /usr/local/sbin/cflowd - not found
    >===>    Verifying install for /usr/local/sbin/cflowd in /usr/ports/net-mgmt/cflowd
    >===>  cflowd-2.1.b1_9,1 is marked as broken: Does not compile.
    >*** Error code 1
    >
    >Stop in /usr/ports/net-mgmt/cflowd.
    >*** Error code 1
    >
    >Stop in /usr/ports/net-mgmt/flowscan.
    >
    >cflowd не собирается ни из портов, ни из бинарного набора, выложенного на
    >оф. сайте.
    >Если я правильно понял эту ссылку http://www.freshports.org/net-mgmt/cflowd/ - то починен он не
    >будет. Собственно даже не "хелп!!!", а просто - что делать?

    Такая же байда была. Просто после установки cflowd не из портов, а как было посоветованно  (contrib)просто удалили строчку в makefile flowscan'a посвещенная cflowd. ну и все проблемы

     

  • 1.3, Max Yurchak (?), 17:18, 03/07/2007 [ответить]  
  • +/
    Что то ничего не выходит точнее выходит но мало.
    Запускаю
    # /usr/local/var/db/flows/bin/flowscan
    Выводит следующее

    2007/07/03 17:14:03 working on file /usr/local/netflows/ft-v05.2007-07-03.170501+0400...
    2007/07/03 17:14:03 flowscan-1.020 CUFlow: Cflow::find took  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU) for 923 flow file bytes, flow hit ratio: 11/53
    2007/07/03 17:14:03 flowscan-1.020 CUFlow: report took  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
    sleep 300...
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    Use of uninitialized value in numeric gt (>) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Table.pm line 1732.
    И висим определённое время ~300сек.
    Кто нибудь может поделиться соображениями?

     
  • 1.4, mik (??), 16:27, 27/07/2007 [ответить]  
  • +/
    все правильно, теперь смотри результат
     
  • 1.5, Pro (??), 17:06, 27/09/2008 [ответить]  
  • +/
    Поднял apache
    скопировал файл CUGrapher.pl
    Когда просматриваю страницу, выдается все информация, но когда нажимаю "Generate graph", рисунок вверху не показывается (не обновляется).
    В чем может быть причина?
     
     
  • 2.6, romeo (ok), 18:00, 24/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    а у меня почему-то графики рисует, но все значения стоят в nan

     
  • 2.7, mustdie (?), 17:46, 13/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    То же самое - всё поднял по инструкции, выдаётся меню, графики не строятся.
    В логе апача пишет следующее:

    Variable "$debug" will not stay shared at /usr/local/www/apache22/trafman/index.
    pl line 88.
    Variable "$imageType" will not stay shared at /usr/local/www/apache22/trafman/in
    dex.pl line 89.
    Variable "$width" will not stay shared at /usr/local/www/apache22/trafman/index.
    pl line 94.
    ...

    У кого-нибудь вообще это дело заработало?

     

  • 1.8, stans (?), 04:22, 25/01/2011 [ответить]  
  • +/
    Тоже не пашет.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру