Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
dpi:dpi_components:utilities:oldutility:ipfixreceiver [2020/09/21 07:08] – ↷ Операцией перемещения обновлены ссылки lexx26 | dpi:dpi_components:utilities:oldutility:ipfixreceiver [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 |
---|
==== CentOS6 ==== | ==== CentOS6 ==== |
| |
- подключите репозиторий VAS Experts аналогично п.1 инструкции [[dpi:dpi_options:dpi_divert_spec:star:dpi:dpi_components:platform:dpi_update:dpi_update_10:dpi_10_update:start|установки DPI]]. | - подключите репозиторий VAS Experts <code>rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru |
| rpm -Uvh http://vasexperts.ru/centos/6/x86_64/vasexperts-repo-1-0.noarch.rpm</code> |
- установите ipfixreceiver:\\ <code>yum install -y ipfixreceiver</code> | - установите ipfixreceiver:\\ <code>yum install -y ipfixreceiver</code> |
- проверьте изменения в конфигурационных файлах на соответствие версии см. раздел "Важные изменения" | - проверьте изменения в конфигурационных файлах на соответствие версии см. раздел "Важные изменения" |
| |
==== CentOS7 ==== | ==== CentOS7 ==== |
- подключите репозиторий VAS Experts аналогично п.1 инструкции [[dpi:dpi_options:dpi_divert_spec:star:dpi:dpi_components:platform:dpi_update:dpi_update_10:dpi_10_update:start|установки DPI]]. | - подключите репозиторий VAS Experts <code>rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru |
| rpm -Uvh http://vasexperts.ru/centos/6/x86_64/vasexperts-repo-1-0.noarch.rpm</code> |
- установите репозиторий epel <code>yum -y install epel-release</code> | - установите репозиторий epel <code>yum -y install epel-release</code> |
- установка репозитория forencis: <code>rpm --import https://forensics.cert.org/forensics.asc | - установка репозитория forencis: <code>rpm --import https://forensics.cert.org/forensics.asc |
- изменен конфигурационный файл в части преобразования IP адресов, с версии 1.0.3 необходимо указывать decodeipv4, decodeipv6 в экспортной модели, пример:<code> source_ip4, decodeipv4</code><code> destination_ip4, decodeipv4</code> | - изменен конфигурационный файл в части преобразования IP адресов, с версии 1.0.3 необходимо указывать decodeipv4, decodeipv6 в экспортной модели, пример:<code> source_ip4, decodeipv4</code><code> destination_ip4, decodeipv4</code> |
- сохранение информации в файл вынесено в отдельный процесс, учитывайте что при большом количестве сессий (>25k сес/сек) процесс будет полностью загружать 2 ядра процессора. Для проверки, что процесс успевает обработать весь поток данных в режиме DEBUG добавлены сообщения\\ (a)cnt=NNNNN - отправлен буфер с данным номером\\ (b)cnt=YYYYY - сохранен буфер с данным номером. | - сохранение информации в файл вынесено в отдельный процесс, учитывайте что при большом количестве сессий (>25k сес/сек) процесс будет полностью загружать 2 ядра процессора. Для проверки, что процесс успевает обработать весь поток данных в режиме DEBUG добавлены сообщения\\ (a)cnt=NNNNN - отправлен буфер с данным номером\\ (b)cnt=YYYYY - сохранен буфер с данным номером. |
- введен параметр buffer_size - размер буфера обмена между процессом приема и записи в файл, используется в разделе [dump], по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если к-во сессий в секунду значительно меньше, то обязательно пропорционально измените данный параметр. | - введен параметр buffer_size - размер буфера обмена между процессом приема и записи в файл, используется в разделе [dump], по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если количество сессий в секунду значительно меньше, то обязательно пропорционально измените данный параметр. |
| |
===== Файлы поставки ===== | ===== Файлы поставки ===== |
endscript | endscript |
}</code> \\ Обратите внимание на использование метода copytruncate, иначе файл будет пересоздан и запись лога из процесса прекратится.\\ Соответственно в конфигурации ipfixreceiver у вас в разделе [handler_ipfixreceiverlogger] указано следующее:\\ <code>args=('/var/log/dpiuiflow.log', 'a+')</code> | }</code> \\ Обратите внимание на использование метода copytruncate, иначе файл будет пересоздан и запись лога из процесса прекратится.\\ Соответственно в конфигурации ipfixreceiver у вас в разделе [handler_ipfixreceiverlogger] указано следующее:\\ <code>args=('/var/log/dpiuiflow.log', 'a+')</code> |
- Настройте удаление старых файлов. Например удаление старых архивов (более 31 дня) с записями о сессиях запакованных gzip:\\ <code>15 4 * * * /bin/find /var/dump/dpiui/ -name url_\*.dump.gz -cmin +44640 -delete > /dev/null 2>&1</code>\\ Измените строчку под ваши требования и добавьте в файл /var/spool/cron/root. | - Настройте удаление старых файлов. Например, удаление старых архивов (более 31 дня) с записями о сессиях запакованных gzip:\\ <code>15 4 * * * /bin/find /var/dump/dpiui/ -name url_\*.dump.gz -cmin +44640 -delete > /dev/null 2>&1</code>\\ Измените строчку под ваши требования и добавьте в файл /var/spool/cron/root. |
| |
===== Параметры запуска программы ===== | ===== Параметры запуска программы ===== |
Утилита ipfixreceiver имеет следующие параметры запуска : | Утилита ipfixreceiver имеет следующие параметры запуска: |
<code>usage: ipfixreceiver start|stop|restart|status|-v [-f <config file>] | <code>usage: ipfixreceiver start|stop|restart|status|-v [-f <config file>] |
где | где |
===== Конфигурация ===== | ===== Конфигурация ===== |
| |
По умолчанию используется файл конфигурации /etc/dpiui/ipfixreceiver.conf .\\ | По умолчанию используется файл конфигурации /etc/dpiui/ipfixreceiver.conf.\\ |
:!:Больше информации о конфигурировании логирования можно найти по ссылке [[https://docs.python.org/2.6/library/logging.html | Logging ]] | :!:Больше информации о конфигурировании логирования можно найти по ссылке [[https://docs.python.org/2.6/library/logging.html | Logging ]] |
| |
==== dump ==== | ==== dump ==== |
- rotate_minutes - период в минутах, по прошествии которого временный файл в dumpfiledir/<port>.url.dump будет перемещен в архив (mv) и создан новый временный файл.<code>rotate_minutes=10</code> | - rotate_minutes - период в минутах, по прошествии которого временный файл в dumpfiledir/<port>.url.dump будет перемещен в архив (mv) и создан новый временный файл.<code>rotate_minutes=10</code> |
- processcmd - команда которая будет запущена по окончании ротации файла, параметр имя файла с путем к нему.<code>processcmd=gzip %%s</code> | - processcmd - команда, которая будет запущена по окончании ротации файла, параметр имя файла с путем к нему.<code>processcmd=gzip %%s</code> |
- dumpfiledir - директория куда будут сохраняться файлы с принятыми данными. <code>dumpfiledir=/var/dump/dpiui/ipfixflow/</code> | - dumpfiledir - директория куда будут сохраняться файлы с принятыми данными. <code>dumpfiledir=/var/dump/dpiui/ipfixflow/</code> |
- buffer_size - размер буфера обмена между процессом приема и записи в файл, по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если к-во сессий в секунду значительно меньше, то обязательно пропорционально измените данный параметр. | - buffer_size - размер буфера обмена между процессом приема и записи в файл, по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если количество сессий в секунду значительно меньше, то обязательно пропорционально измените данный параметр. |
| |
==== InfoModel ==== | ==== InfoModel ==== |
| |
Наименование полей и описание можно взять по ссылкам:\\ | Наименование полей и описание можно взять по ссылкам:\\ |
- [[dpi:dpi_options:opt_statistics:statistics_ipfix:start|Шаблон экспорта Netflow в формате IPFIX]] | - [[dpi:dpi_options:opt_statistics:statistics_ipfix|Шаблон экспорта Netflow в формате IPFIX]] |
- [[dpi:dpi_options:opt_li:li_ipfix:start|Шаблоны экспорта clickstream и SIP]] | - [[dpi:dpi_options:opt_li:li_ipfix|Шаблоны экспорта clickstream и SIP]] |
- [[dpi:dpi_components:radius:radmon_acct_ipfix:start|Шаблон экспорта AAA в формате IPFIX]] | - [[dpi:dpi_components:radius:radmon_acct_ipfix|Шаблон экспорта AAA в формате IPFIX]] |
| |
| |
</code> | </code> |
| |
==== Создаем сервис в Centos7 ==== | ==== Создаем сервис в CentOS7 ==== |
Создание сервиса в centos7 по шагам, название сервиса **ipfix1**, используемая конфигурация **/etc/dpiui/ipfixreceiver.conf**, используемый порт **1500**. \\ | Создание сервиса в CentOS7 по шагам, название сервиса **ipfix1**, используемая конфигурация **/etc/dpiui/ipfixreceiver.conf**, используемый порт **1500**. \\ |
Создаем файл /etc/systemd/system/ipfix1.service следующего содержания: | Создаем файл /etc/systemd/system/ipfix1.service следующего содержания: |
<code> | <code> |
- как понять, что утилита работает?\\ a) проверьте, что порт из конфигурации прослушивается утилитой, например 1500:<code>netstat -nlp | grep 1500</code> b) проверьте лог, нет ли ошибок\\ c) Проверьте, что запись в промежуточный файл происходит, например для 9996 порта (директория для файлов - /var/dump/dpiui/ipfixurl): <code>tail -f /var/dump/dpiui/ipfixurl/9996.url.dump</code> | - как понять, что утилита работает?\\ a) проверьте, что порт из конфигурации прослушивается утилитой, например 1500:<code>netstat -nlp | grep 1500</code> b) проверьте лог, нет ли ошибок\\ c) Проверьте, что запись в промежуточный файл происходит, например для 9996 порта (директория для файлов - /var/dump/dpiui/ipfixurl): <code>tail -f /var/dump/dpiui/ipfixurl/9996.url.dump</code> |
- все проверено, но приема сообщений нет?\\ a) забыли открыть порт в iptables.\\ b) инициализировали ipfixreceiver с неверным IP сервера. | - все проверено, но приема сообщений нет?\\ a) забыли открыть порт в iptables.\\ b) инициализировали ipfixreceiver с неверным IP сервера. |
- с DPI идет большое количество сессий (более 2 млн сессий/мин), при включенном DEBUG режиме видно, что счетчик обмена буферами не успевает записать до получения следующего блока записей, что можно сделать?\\ a) удалите преобразование даты в строку, это уменьшит процессорное время на обработку и дополнительно получите уменьшение объема результирующего файла\\ b) удалите преобразование decodeipv4, не значительно, но так же получите ускорение записи файла\\ c)настройте buffer_size при к-ве сес /сек более 30к совместно с п.d\\ d) увеличьте частоту процессора и объем памяти | - с DPI идет большое количество сессий (более 2 млн сессий/мин), при включенном DEBUG режиме видно, что счетчик обмена буферами не успевает записать до получения следующего блока записей, что можно сделать?\\ a) удалите преобразование даты в строку, это уменьшит процессорное время на обработку и дополнительно получите уменьшение объема результирующего файла\\ b) удалите преобразование decodeipv4, незначительно, но так же получите ускорение записи файла\\ c) настройте buffer_size при к-ве сес /сек более 30к совместно с п.d\\ d) увеличьте частоту процессора и объем памяти |