5. Настройка сборщиков и загрузчиков Netflow
- NetFlow — сетевой протокол, предназначенный для учета сетевого трафика, разработанный компанией Cisco Systems. Протокол является промышленным стандартом, и его поддерживают не только устройства Cisco, но и многие другие. Это позволяет использовать его для сбора статистики в АСР.
- Для использования протокола NetFlow необходимы следующие компоненты:
- Cенсор – собирает статистику по проходящему через него трафику. Обычно это L3-коммутатор или маршрутизатор, хотя можно использовать и отдельно стоящие сенсоры, получающие данные путем зеркалирования порта коммутатора.
- Коллектор – собирает получаемые от сенсора данные и помещает их в хранилище.
- Анализатор – выполняет анализ собранных коллектором данных и формирует пригодные для чтения человеком отчеты (часто в виде графиков).
Настройка сенсоров осуществляется силами клиента (на конечном оборудовании), анализатор описан в руководстве пользователя, его функционал включен в схему Platex. Стоит отметить, что у каждого заказчика может быть своя специфика конфигурации сборщиков и агрегаторов NetFlow, зависящие как от версии протокола (чаще всего используются v5 и v9), так и от количества источников трафика, схемы взаимодействия коллектора с СУБД и др.
Пример установки на дистрибутив семейства RHEL (Almalinux)
Шаг 1. Настройка окружения и установка зависимостей:
Перед установкой коллектора, необходимо установить ряд зависимостей и утилит, создать каталоги.
> [root] yum update -y
> [root] yum install yum -y install byacc flex zlib-devel rpm-build unzip wget
> [root] mkdir -p /usr/local/PLATEX/converters/{bin,etc,var,data,cdr,tmp,spool}
Установка nfdump:
> [root] wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.11/nfdump-1.6.11.tar.gz
> [root] tar xzf nfdump-1.6.11.tar.gz
> [root] cd nfdump-1.6.11
> [root] ./configure --prefix=/usr/local/PLATEX/converters --enable-sflow
> [root] make all install
После установки необходимо проверить, что в /usr/local/PLATEX/convertes/bin
лежат файлы:
> [root] ll /usr/local/PLATEX/converters/bin/
-rwxr-xr-x. 1 Feb 18 00:57 nfanon
-rwxr-xr-x. 1 Feb 18 00:57 nfcapd
-rwxr-xr-x. 1 Feb 18 00:57 nfdump
-rwxr-xr-x. 1 Feb 18 00:57 nfexpire
-rwxr-xr-x. 1 Feb 18 00:57 nfreplay
-rwxr-xr-x. 1 Feb 18 00:57 sfcapd
Шаг 2. Создание необходимых каталогов:
"Сырые" файлы собираются в каталог /usr/local/PLATEX/converters/spool/netflow
. Агрегированные данные для загрузки в СУБД перемещаются в /usr/local/PLATEX/converters/data/netflow
. Загруженные данные перемещаются в /usr/local/PLATEX/converters/cdr/netflow
. Cоздать каталоги можно командами:
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/data/netflow
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/cdr/netflow
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow
В каталоге ../netflow
могут быть созданы еще отдельные директории для каждого источника.
Шаг 3. Настройка автозапуска:
Для автозапуска необходимо создать юнит /etc/systemd/system/platex_nfdump_9996.service
[Unit]
Description=NFCapd 9996
After=network.target
[Service]
Type=simple
ExecStartPre=-/bin/install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow
ExecStartPre=-/bin/install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow/loaded
ExecStart=/usr/local/PLATEX/converters/bin/nfcapd -4 -z -t 3600 -u postgres -g postgres -p 9996 -w /usr/local/PLATEX/converters/spool/netflow
TimeoutStopSec=2
RestartSec=1
Restart=on-failure
[Install]
WantedBy=multi-user.target
Запустить сервис:
> [root] systemctl daemon-reload
> [root] systemctl enable platex_nfdump_9996.service
> [root] systemctl start platex_nfdump_9996.service
> [root] systemctl status platex_nfdump_9996.service
Шаг 4. Установка загрузчика:
Для установки загрузчика необходимо установить агрегатор NetFlow и управляющий скрипт Renamer. Файлы в архиве с компонентами для установки модуля Коллектора: - Renamer_netflow.cfg - Renamer.sh - NetflowParser
Конфигурационный файл (Renamer_netflow.cfg) необходимо поместить в каталог /usr/local/PLATEX/converters/etc
, Renamer.sh
и исполняемый файл агрегатора (NetflowParser) в /usr/local/PLATEX/converters/bin
.
В CRON от пользователя postgres
нужно добавить расписание запуска загрузчика трафика Netflow в АСР:
#NFDUMP Netflow Parser
5 * * * * /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_nfdump_X.X.X.X.cfg; /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX-converters/etc/Renamer_netflow.cfg
Пример установки на дистрибутив семейства Debian (Ubuntu)
Шаг 1. Настройка окружения и установка зависимостей:
Перед установкой коллектора, необходимо установить ряд зависимостей и утилит, создать каталоги.
> [root] apt update -y
> [root] apt install flex curl libcurl4-dev libcurl4-gnutls-dev build-essential pkg-config libcurl4-openssl-dev libssl-dev libbz2-dev byacc unzip wget
> [root] mkdir -p /usr/local/PLATEX/converters/{bin,etc,var,data,cdr,tmp,spool}
Установка nfdump:
> [root] wget https://github.com/phaag/nfdump/archive/refs/heads/master.zip
> [root] unzip -x master.zip
> [root] cd nfdump-master/
> [root] apt install autoconf libtool
> [root] autoconf -i -v
> [root] ./configure --prefix=/usr/local/PLATEX/converters --enable-sflow
> [root] make all install
После установки необходимо проверить, что в /usr/local/PLATEX/convertes/bin
лежат файлы:
> [root] ll /usr/local/PLATEX/converters/bin/
-rwxr-xr-x. 1 Feb 18 00:57 nfanon
-rwxr-xr-x. 1 Feb 18 00:57 nfcapd
-rwxr-xr-x. 1 Feb 18 00:57 nfdump
-rwxr-xr-x. 1 Feb 18 00:57 nfexpire
-rwxr-xr-x. 1 Feb 18 00:57 nfreplay
-rwxr-xr-x. 1 Feb 18 00:57 sfcapd
Шаг 2. Создание необходимых каталогов:
"Сырые" файлы собираются в каталог /usr/local/PLATEX/converters/spool/netflow
. Агрегированные данные для загрузки в СУБД перемещаются в /usr/local/PLATEX/converters/data/netflow
. Загруженные данные перемещаются в /usr/local/PLATEX/converters/cdr/netflow
. Cоздать каталоги можно командами:
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/data/netflow
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/cdr/netflow
> [root] install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow
В каталоге ../netflow
могут быть созданы еще отдельные директории для каждого источника.
Шаг 3. Настройка автозапуска:
Для автозапуска необходимо создать юнит /etc/systemd/system/platex_nfdump_9996.service
[Unit]
Description=NFCapd 9996
After=network.target
[Service]
Type=simple
ExecStartPre=-/bin/install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow
ExecStartPre=-/bin/install -d -o postgres -g postgres /usr/local/PLATEX/converters/spool/netflow/loaded
ExecStart=/usr/local/PLATEX/converters/bin/nfcapd -4 -z -t 3600 -u postgres -g postgres -p 9996 -w /usr/local/PLATEX/converters/spool/netflow
TimeoutStopSec=2
RestartSec=1
Restart=on-failure
[Install]
WantedBy=multi-user.target
Запустить сервис:
> [root] systemctl daemon-reload
> [root] systemctl enable platex_nfdump_9996.service
> [root] systemctl start platex_nfdump_9996.service
> [root] systemctl status platex_nfdump_9996.service
Шаг 4. Установка загрузчика:
Для установки загрузчика необходимо установить агрегатор NetFlow и управляющий скрипт Renamer. Файлы в архиве с компонентами для установки модуля Коллектора: - Renamer_netflow.cfg - Renamer.sh - NetflowParser
Конфигурационный файл (Renamer_netflow.cfg) необходимо поместить в каталог /usr/local/PLATEX/converters/etc
, Renamer.sh
и исполняемый файл агрегатора (NetflowParser) в /usr/local/PLATEX/converters/bin
.
В CRON от пользователя postgres
нужно добавить расписание запуска загрузчика трафика Netflow в АСР:
#NFDUMP Netflow Parser
5 * * * * /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_nfdump_X.X.X.X.cfg; /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX-converters/etc/Renamer_netflow.cfg