Эффективно создавайте систему анализа сетевого трафика vivo корпоративного уровня.

Автор: Vivo Internet Server Team - Ming Yujia

С быстрым развитием масштаба сети, хорошее состояние сети или нет, напрямую связано с ежедневным доходом предприятия, и каждая секунда сбоя приведет к большому количеству потерь пользователей и экономических потерь. Таким образом, как быстро обнаружить проблемы в сети и определить местонахождение аномального трафика, стало приоритетной проблемой на крупных предприятиях, и в то же время появилось множество технологий анализа сетевого трафика.

I. Обзор

С быстрым развитием масштаба сети, хорошее состояние сети или нет, напрямую связано с ежедневным доходом предприятия, и каждая секунда сбоя приведет к большому количеству потерь пользователей и экономических потерь. Каждое предприятие постоянно совершенствует собственные методы мониторинга сети, но в процессе построения системы мониторинга неизбежно сталкивается со следующими трудностями :

  1. Огромные данные о сетевом трафике. Из-за большого масштаба и сложности сетевого трафика трудно эффективно отслеживать и анализировать большие объемы данных.

  2. Стоимость построения сбора и анализа данных о дорожном движении высока: для получения точных данных о дорожном движении требуются эффективные технологии сбора данных, устройства хранения большой емкости и большое количество ресурсов для разработки, что резко увеличивает стоимость мониторинга.

  3. Единый метод мониторинга и отсутствие масштабируемости. Традиционные методы мониторинга могут отслеживать только несколько фиксированных точек данных, и их сложно настроить и расширить для различных сетевых сред.

  4. Сложность быстрого обнаружения и решения проблем: из-за большого объема данных о сетевом трафике и частых изменений часто требуется много времени и усилий, чтобы выяснить основную причину проблемы.

Таким образом, как быстро обнаружить сетевые проблемы и локализовать аномальный трафик с наименьшими возможными затратами на мониторинг, стало приоритетной проблемой для крупных предприятий, и в то же время появилось множество технологий анализа сетевого трафика.

Технология sFlow является таким эффективным и гибким решением. Он может извлекать некоторую информацию из пакетов данных с помощью технологии выборки трафика, чтобы обеспечить непрерывный мониторинг большого объема данных сетевого трафика. В то же время технология sFlow также обладает гибкой настройкой и масштабируемостью, может быть настроена в соответствии с реальными потребностями и поддерживает различные сетевые устройства и протоколы. Эти преимущества делают технологию sFlow широко используемой в современном сетевом мониторинге и управлении.

2. Единая технология сбора сетевого трафика

Сбор основного сетевого трафика в основном делится на два типа: полный сбор трафика и выборочный сбор трафика.

2.1 Полнопоточный сбор

Полный сбор потока включает в себя такие методы, как зеркалирование портов и оборудование для оптического разделения. В сети с огромным трафиком использование зеркалирования портов не только увеличит задержку всего канала, но и увеличит нагрузку на сетевое оборудование, когда пропускная способность огромна. Хотя оборудование для оптического разделения может уменьшить задержку в линии связи, существует также высокий порог закупочной цены. Кроме того, из-за большого масштаба ИДЦ на крупных предприятиях объем полнопотоковых данных также резко возрастет. и вычислительные ресурсы, но и определенное количество данных.Цикл разработки программного обеспечения не способствует быстрому построению проекта.

2.2 Сбор потока проб

При отсутствии системы анализа трафика отражаются преимущества использования выборочного анализа.По сравнению с полным трафиком стоимость его развертывания низкая, а стоимость анализа данных невелика.Он очень подходит для быстрого позиционирования аномального трафика и анализа пропорций тренда в сети. Далее в основном сравниваются преимущества и недостатки методов выборки sFlow и Netflow.

sFlow имеет более широкий диапазон мониторинга трафика.Во внутренней среде IDC, которая соответствует требованиям к оборудованию, использование sFlow для мониторинга выборки трафика может эффективно снизить нагрузку на сетевые устройства и предоставить методы мониторинга трафика в реальном времени для устранения внезапных сетевых аномалий.

3. Дизайн системы на основе sFlow

3.1 Базовая конструкция

Если аппаратные условия соблюдены, базовая конструкция системы на основе sFlow очень проста, а замкнутый цикл данных всего процесса может быть реализован с помощью агента sFlow + коллектора sFlow + анализатора sFlow.

Агент sFlow : Включив функцию sFlow на соответствующем сетевом оборудовании, установив такие параметры, как коэффициент выборки и сформулировав соответствующий адрес конечной точки сбора, порт может собирать отправляемый и получаемый трафик. Что более важно на стороне агента, так это то, как определить диапазон сетевых устройств, которые необходимо собрать.По сравнению с бесцельным полным развертыванием сетевых устройств, более целесообразно развертывать основные сетевые устройства на границе, потому что весь внешний трафик в конечном итоге должен проходят через границу сетевых устройств. В случае лучшего мониторинга аномалий внешнего трафика это также может снизить нагрузку на хранилище данных.

Сборщик sFlow : собирайте и анализируйте дейтаграммы sFlow, собранные и переданные агентом.

Анализатор sFlow : визуальный анализ и отображение отформатированных данных для сетевых администраторов для эффективного наблюдения и анализа.

картина

3.2 Открытый исходный код + собственная разработка: продвинутая архитектура

После определения базовой архитектуры, того, как выбирать компоненты и расширять настраиваемые функции, решение с открытым исходным кодом elastiflow дает нам хороший пример Автор расширил на основе открытого исходного кода, чтобы удовлетворить больше настраиваемых функций.

Агент sFlow : используйте форму отчета об унифицированном VIP для выборки трафика порта (официальный коэффициент выборки должен быть 2 ^ n) и может использовать функцию LB VIP для балансировки нагрузки, чтобы пакеты sFlow можно было равномерно отправлять на фиксированный порт. порт окончания сбора. Установка разных коэффициентов дискретизации для разных линий сети может обеспечить более высокую точность важных линий при одновременном уменьшении объема памяти для хранения данных.

картина

Сборщик sFlow : использование пакета ELK для сбора данных и визуального анализа является одним из наиболее зрелых технических решений. Поэтому на стороне сбора мы используем logstash для сбора и анализа собственных пакетов данных. Автор elastiflow использует исходный компонент анализа пакетов udp-sFlow в logstash для анализа данных, но в реальных тестах автор обнаружил, что, хотя это решение может получить лучший структурированный формат данных, оно очень плохо выполняет анализ данных. в случае большого объема данных это приведет к потере большого количества пакетов данных, что приведет к снижению точности данных. Тем не менее, sFlowtool обладает отличной производительностью, поскольку нижний уровень написан на языке C. Одна физическая машина (32c64g) может достигать 10 Вт+транзакций в секунду.Хотя структура данных после разбора пакетов sFlow слабее, ее можно использовать в последующих действиях. Модуль анализа очищает и структурирует данные. Пример данных, проанализированных sFlowtool, показан ниже. Данные через logstash отправляются в очередь сообщений kafka.

[root@server src]# ./sFlowtool -l
FLOW,10.0.0.254,0,0,00902773db08,001083265e00,0x0800,0,0,10.0.0.1,10.0.0.254,17,0x00,64,35690,161,0x00,143,125,80
FLOW后的字段释义如下
agent_address
inputPort
outputPort
src_MAC
dst_MAC
ethernet_type
in_vlan
out_vlan
src_IP
dst_IP
IP_protocol
ip_tos
ip_ttl
udp_src_port OR tcp_src_port OR icmp_type
udp_dst_port OR tcp_dst_port OR icmp_code
tcp_flags
packet_size
IP_size
sampling_rate

Анализатор sFlow : потребляя данные из kafka в режиме реального времени, данные очищаются и структурируются, а с помощью сторонних метаданных программное обеспечение определяет проанализированные данные для последующего хранения и анализа.

database+display : используйте Elasticsearch+Kibana для хранения и визуализации, а также используйте mertic beat для мониторинга производительности сбора logstash. Kibana, как решение для визуализации данных типа Bi, предоставляет большинство бесплатных диаграмм и информационных панелей, которые можно использовать для визуального анализа.

3.3 Определение программного обеспечения для анализа

Используя исходные данные, мы смогли выполнить базовый анализ трафика сеанса на основе некоторых пятерок IP-адресов и т. д. Но значение, которое могут отражать данные о трафике, гораздо больше.Использование других платформ, таких как cmdb, на предприятии может обеспечить большую ценность наших данных о трафике.

Измерение сетевого устройства : по адресу коммутатора и входящим и исходящим портам в данных можно судить о входящем и исходящем направлении трафика в соответствии с собранным и настроенным индексом порта коммутатора. Также возможно назначить другие атрибуты, такие как канал, линия и имя устройства, на основе IP-адреса сетевого устройства.

Измерение IP : пятерка ip обеспечивает более высокую возможность изучения данных.Мы можем судить о его проекте, отделе и другой информации об атрибуции в соответствии с ip об атрибуции, а также обратно связывать доменные имена. Это может быстро определить деловую сторону при анализе и оценке аномального трафика, что значительно повышает эффективность эксплуатации и обслуживания.

3.4 Самостоятельно разработанное хранилище и визуализация сжатия

Поскольку эффект сжатия данных самого Elasticsearch не идеален, он делает нас огромными и раздутыми при хранении данных в течение длительного времени. Соответственно, база данных olap-типа Druid очень хорошо решает эту задачу.После выборки данных они проходят строгую структурную обработку на стороне анализа, что позволяет добиться хорошей компрессии данных в Druid. Кроме того, встроенная в Druid функция предварительной агрегации данных также может лучше помочь нам снизить точность исторических данных и уменьшить нагрузку на хранилище. После переключения механизма хранения это означает, что больше нельзя использовать Kibana для общего отображения.Использование самостоятельно разработанной среды веб-сервисов также может реагировать на гибкие сценарии спроса и обеспечивать более индивидуальный анализ.

3.5 Облегченная модель потоковой обработки на основе Celery

Хотя данные о трафике были отобраны и уточнены, общий объем данных по-прежнему огромен. Эффективная и быстрая обработка потоков, сокращающая общую задержку системы до 30 с, может помочь сетевым администраторам быстрее находить проблемы.Помимо использования традиционных инструментов обработки потоков, мы также можем использовать Celery для создания легкого, эффективного и легко расширяемого дистрибутива. кластер потоковой обработки.

картина

Celery — это простая, гибкая и надежная распределенная система, которая обрабатывает большое количество сообщений, ориентируясь на асинхронные очереди задач для обработки в реальном времени, а также поддерживает планирование задач. Основываясь на характеристиках асинхронной обработки сельдерея в реальном времени, мы разрабатываем канал потребления celerybeat → наблюдатель → производитель → потребитель для выполнения потоковой обработки.

Celery beat : в качестве триггера для запланированной задачи новая задача отправляется в очередь наблюдателя каждую 1 секунду.

рабочий-наблюдатель : после получения задачи в очереди перенаправить ее производителю и выполнить контроль перегрузки в очереди производителя в соответствии с установленным максимальным значением очереди.

Рабочий-производитель: после получения задачи в очереди он будет получать собранные данные о трафике от Kafka, отправлять их в очередь-потребитель партиями в соответствии с размером пакета и выполнять контроль перегрузки в очереди-потребителе в соответствии с установленным максимальным значением очередь.

потребительский работник : После получения задачи в очередь, согласно бизнес-информации в локальном кеше/общем кеше, выполнить очистку данных, бизнес-маркировку и другие операции над собранными данными, и записать их в другую какфу или напрямую в базу данных.

Каждая роль и узел могут взаимодействовать через брокера Celery для реализации распределенного развертывания кластера.Для работы потребительского блока можно использовать eventlet для запуска в режиме сопрограммы, чтобы обеспечить высокое одновременное потребление кластера.

4. Сценарии применения

4.1 Анализ трафика в размерах компьютерного зала

Благодаря сопоставлению IP-адресов на основе сетевой cmdb данные потока суммируются в измерении компьютерного зала, и может быть получен общий анализ внешнего входящего и исходящего трафика компьютерного зала.Когда IDC взаимодействует с внешним миром, изменение тенденции общий трафик является прямым критерием для оценки степени занятости пропускной способности.

картина

4.2 Ассоциация информации о сетевой линии

Благодаря логическому отображению информации о сетевых устройствах на основе ip+ifindex, линии основного канала могут быть агрегированы и отображены.При решении нештатных проблем, таких как переполнение пропускной способности некоторых линий общедоступных сетей и выделенных линий, неисправность может быть точно и точно локализована. путем наблюдения за линейным анализом Первый момент времени, который происходит.

картина

4.3 Добыча информации о сеансах IP

Хотя sflow перехватывает только информацию заголовка сообщения и не включает в себя пакет данных, сама пятерка ip также предоставляет большую ценность для анализа сетевого трафика.

Используя информацию о сеансе, мы можем точно и эффективно определить IP-атрибуцию аномального трафика, а с помощью ip + служебный порт мы можем даже определить конкретную службу и процесс, сгенерировавший аномальный трафик, чтобы принять решение о следующем шаге. Кроме того, ip также можно связать с CMDB на предприятии, чтобы найти группу ресурсов, к которой принадлежит ip, чтобы получить анализ доли трафика, генерируемого различными отделами/административными группами, что также способствует в первый раз, когда возникает аномальный трафик. Воспринимайте соответствующий бизнес за короткое время и выполняйте управление уведомлениями и контроль.

4.4 Анализ атрибуции ИС

В дополнение к объединению внутренней информации, с помощью информации об атрибуции, предоставленной оператором, мы можем проверить источник доступа по ip, провести соответствующий анализ атрибуции и создание Dashboard.

картина

V. Резюме

Чтобы обеспечить всесторонний мониторинг и анализ сети в режиме реального времени, необходимо полагаться на передовые и эффективные протоколы и технологии мониторинга сети, чтобы удовлетворить растущие потребности бизнеса. Хотя анализ трафика на основе sFlow имеет большие преимущества в облегченной конструкции, он также может быстро реагировать на основе тенденций трафика и коэффициентов распределения при столкновении с аномальным трафиком. Однако сама выборка sFlow не включает в себя информацию о пакетах данных в сообщении и не может обеспечить точное позиционирование и решения для некоторых атак на безопасность сети и средств защиты, таких как SQL-инъекции и безопасность данных. Таким образом, полный анализ трафика также должен стать неотъемлемой частью системы анализа трафика в будущем.Сочетание этих двух методов может обеспечить более полный и точный мониторинг трафика и обеспечить сетевую безопасность центра обработки данных.

6. Перспективы будущего

Хотя технология sFlow широко используется в области мониторинга и управления производительностью сети, под влиянием более масштабных сценариев сетевого трафика в будущем потребуются дополнительные возможности:

1. Поддержка большего количества протоколов и приложений : идея мониторинга sFlow применима не только к сетевому трафику, но также может отслеживать трафик приложений, среду виртуализации, облачную платформу и т. д. В будущем технология sFlow должна поддерживать больше протоколов и приложений, чтобы лучше адаптироваться к новой сетевой среде.

2. Технология адаптивного сбора трафика . Технология сбора трафика технологии sFlow представляет собой фиксированный период, но по мере изменения сетевого трафика сбор фиксированного периода может не точно отражать состояние сети в реальном времени. В будущем технология мониторинга sFlow должна поддерживать технологию адаптивного сбора трафика, которая может автоматически регулировать цикл сбора в соответствии с фактическими изменениями сетевого трафика.

3. Удобная функция управления : текущая конфигурация sFlow больше зависит от сетевых администраторов для настройки коммутатора и не может реализовать такие функции, как распределение одним щелчком мыши, автоматическое обнаружение и быстрая настройка коэффициента выборки.В будущем удобный необходима команда распределения, платформа управления sFlow для горячей загрузки изменений конфигурации.

рекомендация

отblog.csdn.net/vivo_tech/article/details/132097894