====== Проблемы и решения ====== {{indexmenu_n>6}} ===== Настроили сегодня отправку flow и столкнулись с проблемой — передается не вся информация. В чем может быть проблема? ===== Протокол Netflow v5 не гарантирует доставку, так как работает поверх udp, соответственно при потерях в сети и на коллекторе повторной отправки пакетов не осуществляется.\\ Соответственно, убедитесь в следующем: - отсутствуют сетевые потери между СКАТ и коллектором. Например, не проходит ли трафик от управляющего канала до коллектора через шейпинг, нет ли ограничений на интерфейсах ниже скорости отдачи netflow СКАТ - убедитесь, что коллектор способен принимать данные со скоростью отдачи СКАТ. Используйте параметр netflow_rate_limit для ограничения скорости, в том числе с целью диагностики можно установить скорость отдачи neflow СКАТ в минимальные значения, если на минимальных значениях проблем нет с приемом, то значит потери на уровне коллектора. Потери на коллекторе можно посмотреть командой grep "Sequence Errors" /var/log/messages|grep -v "Sequence Errors: 0" ненулевые значения означают наличие потерь Избавится от потерь можно: - [[dpi:dpi_options:opt_statistics:statistics_settings:start|установкой параметра netflow_rate_limit]], соответствующего информационному потоку и возможностям коллектора, если поставить слишком малое значение, то потери уже возникнут по другой причине - не будет успевать отправляться вся информация - [[dpi:dpi_components:platform:faq:net_points:start|тюнингом сетевого стека]] - установкой nfsen на более производительный компьютер, отказ от виртуализации - переход на tcp версию протокола IPFIX (Netflow) В [[dpi:dpi_components:platform:mon_stat:stat_log|логе]] статистики //var/log/dpi/fastdpi_stat.log// выводится информация об отправке данных Netflow, которая может помочь в диагностике проблем. [STAT ][2019/02/01-17:21:28:938274] Statistics on NFLW_Full : {0/0/1668468} NFLW_Full_IPv4{3948181/939339852}{3111140/3415836963}{7760/13036/6640} Первые 3 цифры - {0/0/1668468} : { ошибки connect/flow освобождено/нечего отправлять - счетчики пакетов не изменились } NFLW_Full_IPv4{3948181/939339852}{3111140/3415836963}{7760/13036/6640} : {3948181/939339852} : пакеты/байты для direction = 0 ( ip_src < ip_dst ) {3111140/3415836963} : пакеты/байты для direction = 1 {7760/13036/6640} : не отправили по full netflow/ipfix - кол-во flow/пакеты direction==0/пакеты direction==1 Для IPv6 аналогично, но называется NFLW_Full_IPv6 ===== Стали экспериментировать с параметром netflow_timeout. При netflow_timeout=1 потери отсутствуют. ===== Это означает, что потери происходят на коллекторе, значение параметра 1 приводит сглаживанию пиков отдачи нетфлоу. Потери без сглаживания происходят с большой вероятность из-за переполнения приемного буфера коллектора.\\ Детальнее: Что делает этот параметр netflow_timeout.\\ начинаем передачу в момент t1, определяем время следующей передачи t2. если надо отправляем изменения статистик - по портам - по AS - биллингу - сессиям. Изменения по сессиям отправляем с учетом параметров active и passiv тайм-аутов. потом смотрим если текущее время tn больше t2, то начинаем сразу новый цикл передачи. Иначе засыпаем на t2-tn. Далее предположительно происходит следующее: Потери могут определяться на коллекторе только через значение последовательности в заголовки. Если с netflow_timeout ==1 потерь нет, то уменьшился объем отправляемых данных. За 1 секунду сессий меняется меньше, чем за 10. Поэтому коллектор не справляется. Пусть все пакеты от СКАТ дошли до коллектора, который может переварить только, например, 10 Мб. В результате приемный буфер сокета заполнится, и пакеты на входе будут просто отбрасываться. **Внимание:** в случае установки параметра в данное значение проверьте отсутствие ошибок в алерт логе в час пик.\\ Предлагаем альтернативно проверить: netflow_timeout поставить в 10 и скорость передачи netflow_rate_limit=10 ===== Как сделать выгрузку по времени в формате пригодном для загрузки в Excel ===== Самый простой вариант нужные данные по ширине колонок выкусить, т.е. так nfdump -R /usr/local/nfsen/profiles-data/live/petrosviaz/2015/07/20 -s dpipr/bytes -n 50 |grep "(" |awk -v FIELDWIDTHS='40 40 28 16' -v OFS=';' '{print $2,$4 }'|tr -d '[:blank:]' результат загружается в Excel аналогично для автономных систем nfdump -R /usr/local/nfsen/profiles-data/live/petrosviaz_as/2015/07/20 -s asn/bytes -n 50 |grep "(" |awk -v FIELDWIDTHS='38 65 28 16' -v OFS=';' '{print $2,$4 }'|tr -d '[:blank:]' ТОП 50 протоколов: nfdump -R /usr/local/nfsen/profiles-data/live/protocols/2015/07/20 -s dpipr/bytes -n 50 |grep "(" |awk -v FIELDWIDTHS='40 40 28 16' -v OFS=';' '{print $2,$4 }'|tr -d '[:blank:]' > top_proto.csv ТОП 50 автономных систем: nfdump -R /usr/local/nfsen/profiles-data/live/directions/2015/07/20 -s asn/bytes -n 50 |grep "(" |awk -v FIELDWIDTHS='38 65 28 16' -v OFS=';' '{print $2,$4 }'|tr -d '[:blank:]' > top_asn.csv **Внимание:**\\ При использовании опции суммирования для получения ТОП результатов:\\ -s dpipr/bytes\\ Формат -o не работает:\\ -o fmt:"%ts %td %pr %sap -> %dap %flg %tos %pkt %byt %fl"\\