У нас есть международная линия между двумя сайтами с ограниченной пропускной способностью. Я хочу отслеживать использование полосы пропускания между двумя сайтами и понимать, какой тип трафика потребляет больше всего.
В идеале я хотел бы иметь разбивку количества данных, поступающих на «конечный» сайт для каждого порта TCP и UDP, «посекундно» - таким образом я мог бы увидеть, какое из наших приложений использует больше всего. Мне действительно не нужен красивый график, достаточно простого текстового файла.
У меня есть доступ к Cisco 2960, подключенному к маршрутизатору канала (но не к самому маршрутизатору), управление извлечением данных из коммутатора было бы идеальным, поскольку это единственная точка входа.
Другой вариант - сделать то же самое на каждом сервере Linux, который отправляет данные по ссылке.
Мне не удалось найти инструмент, который помог бы мне в этом - есть много вещей (netstat, iftop), но они, похоже, не могут выплевывать разбивку «на порт» каждую секунду .. .
Может ли кто-нибудь придумать (легкий) конкретный инструмент и метод для достижения этого?
Редактировать: Я уже использую MRTG, чтобы примерно оценить объем трафика по ссылке, но это недостаточно точно. Он проверяет ссылку каждые 5 минут (не каждую секунду) и не делает различий между портами TCP / UDP.
Я не знаю никаких легких способов сделать это. Там nfsen или cflowd, но я не считаю их "легковесными", а версия оборудования / iOS должна поддерживать Нефтлоу.
Я захватываю сетевые потоки как в нашем пограничном маршрутизаторе, так и в нашем внутреннем брандмауэре и использую их в основном, чтобы «вернуться во времени» для отладки событий безопасности. Когда я работал в среде интернет-провайдера, я использовал netflow для вычисления использования полосы пропускания клиентов.
Альтернативой является прослушивание порта мониторинга, который требует большей загрузки ЦП для задействованного сервера и не рекомендуется для (очень) высокоскоростных каналов. Ты можешь использовать ntop для этого. Хотя ntop дает вам очень интересное снижение трафика, он не даст вам более мелких деталей, чем использование информации NetFlow, по крайней мере, без подключаемых модулей.
У вас также есть программное обеспечение для Linux, которое генерирует Netflows из перехвата трафика (модули ядра?), Но я не знаком с ними. Опять же, они требуют гораздо большей загрузки ЦП, чем использование NetFlow.
Более простой путь - попросить администраторов Cisco 2960 настроить поток netflow на ваш собственный локальный IP-адрес / сервер.
P.S. Также есть очень интересные коммерческие продукты для сбора netflow, в том числе от Cisco; часто они могут быть дорогостоящими.