В настоящее время я работаю над заменой существующего коллектора Netflow, который является EOL, на новый. Цель состоит в том, чтобы поддерживать около 4 миллионов потоков в минуту и иметь возможности высокой доступности. Вот моя первоначальная мысль:
Сетевые устройства -> Балансировщик нагрузки F5 -> 3 сервера Linux с коллектором -> Перенаправить Netflow на другие устройства по мере необходимости
С такой настройкой я могу легко увеличить количество потоков на стороне сервера, если F5 может это поддерживать. Мне также не нужно беспокоиться о том, что 1 сервер выйдет из строя, поскольку F5 выведет его из цикла.
Меня больше всего беспокоят серверы, на которые направляют 3 сервера. Если я перенаправлю 20 устройств на X.X.X.X, я не буду предполагать, что возникнут какие-либо проблемы на бэкэнде, поскольку каждый пакет UDP будет содержать несколько потоков, а один поток не будет проходить через несколько пакетов. Мысли?
Кроме того, я планирую использовать либо samplicator, либо flow-tools в качестве сборщика / пересылки Netflow. Первоначально я хотел использовать nfdump, но, похоже, у него нет возможности подменить исходный IP-адрес. Есть ли другие инструменты, которые вы бы порекомендовали использовать вместо них?
Заранее спасибо.
Что касается вашего вопроса: каждый пакет UDP будет содержать несколько потоков, и 1 поток не будет проходить через несколько пакетов.
Ответ: долгоживущий поток может быть разбит на несколько дейтаграмм (пакетов). Кроме того, некоторые устройства экспорта с большим объемным потоком (например, IPFIX) будут выполнять циклический экспорт в несколько коллекторов. Передняя часть распределенного решения сбора NetFlow должна иметь возможность связывать потоки между несколькими сборщиками в один отчет.
Кстати: когда мы тестировали экспорт F5 еще в феврале 2014 г., он не предоставил octetDeltaCount, который нарушает большинство решений для отчетности. Возможно, они это добавили.
Это помогает?
Джейк