Настройка SFLOW¶
Описание и назначение функции¶
sFlow на CIT L3200 используйте там, где нужна непрерывная выборочная телеметрия по трафику без полного экспорта каждого потока. Технология передаёт на коллектор выборки пакетов и выборки счётчиков интерфейсов в UDP-дейтаграммах, что даёт репрезентативную картину нагрузки и сохраняет масштабируемость на большом числе портов.
Для L3200 это полезно при разборе всплесков трафика, поиске аномальной активности, оценке структуры приложений и контроле загрузки uplink-портов. По официальному описанию sFlow такие данные обычно используют для диагностики сетевых проблем, управления перегрузкой, анализа несанкционированной активности и планирования ёмкости.
Основные сценарии использования:
- Контроль распределения трафика на uplink- и серверных интерфейсах
- Диагностика всплесков, перегрузки и нетипичных потоков
- Временный сбор телеметрии на период расследования инцидента
Используйте sFlow, когда нужна именно выборочная, но постоянная видимость трафика на рабочих интерфейсах. Для этой задачи особенно важны правильный адрес агента, адрес получателя, частота сэмплинга и интервал отправки счётчиков.
Необходимые условия и ограничения¶
- Настройте адрес получателя
sflow collector-address; по умолчанию используется0.0.0.0. - При необходимости задайте адрес агента командой
sflow agent-ip; по умолчанию используется IP-адрес интерфейсаloopback. - Включайте sFlow на каждом нужном интерфейсе отдельно командой
sflow; по умолчанию sFlow на интерфейсе отключен. - Отправка счётчиков статистики командой
sflow counter-poll-intervalпо умолчанию отключена. - Значение
sflow collector-portзадаётся в диапазоне1-65535; по умолчанию используется порт6343. - Значение
sflow max-datagram-sizeзадаётся в диапазоне200-1468байт; по умолчанию используется1400байт. - Значение
sflow max-sampling-sizeзадаётся в диапазоне14-200байт; по умолчанию используется128байт. - Значение
sflow sampling-rateзадаётся в диапазоне1-4294967295; по умолчанию используется4096. - Значение
sflow timeoutзадаётся в диапазоне0-2147483647; по умолчанию используется0. - Для команд просмотра и очистки статистики в доступном фрагменте указаны типы портов
Gigaи25GigabitEthernet. - При значении
sflow timeout, отличном от нуля, устройство уменьшает таймер раз в секунду; когда таймер достигает нуля, передача потока sFlow завершается, а настройки сбрасываются к значениям по умолчанию.
Note
В исходной документации отдельно указано, что слишком высокая частота сэмплинга может привести к перегрузке CPU. Особенно внимательно выбирайте sflow sampling-rate на нагруженных интерфейсах.
Назначение команд sFlow¶
| Команда | Режим | Назначение |
|---|---|---|
clear sflow statistics { receiver \| samplers [interface port_type [ v_port_type_list ] ] } |
EXEC | Очищает счётчики статистики приёмника sFlow или сэмплеров; для сэмплеров можно указать интерфейсы |
sflow |
Interface config | Включает sFlow на интерфейсе |
no sflow |
Interface config | Отключает sFlow на интерфейсе |
sflow agent-ip { ipv4 v_ipv4_addr \| ipv6 v_ipv6_addr } |
Global config | Задаёт IP-адрес агента, который используется в UDP-пакетах sFlow |
no sflow agent-ip |
Global config | Возвращает адрес агента к значению по умолчанию |
sflow collector-address { ipv4_var \| ipv6_var \| domain_name } |
Global config | Задаёт адрес получателя потока sFlow |
no sflow collector-address |
Global config | Возвращает адрес получателя к значению по умолчанию |
sflow collector-port collector_port |
Global config | Задаёт UDP-порт получателя sFlow |
no sflow collector-port |
Global config | Возвращает UDP-порт к значению по умолчанию |
sflow counter-poll-interval poll_interval |
Interface config | Включает отправку счётчиков статистики и задаёт интервал опроса |
no sflow counter-poll-interval |
Interface config | Отключает отправку счётчиков статистики |
sflow max-datagram-size datagram_size |
Global config | Задаёт максимальный размер UDP-пакета sFlow |
no sflow max-datagram-size |
Global config | Возвращает максимальный размер UDP-пакета к значению по умолчанию |
sflow max-sampling-size max_sampling_size |
Interface config | Задаёт максимальное число байт, копируемых из пакета при сэмплинге |
no sflow max-sampling-size |
Interface config | Возвращает размер копируемой части пакета к значению по умолчанию |
sflow sampling-rate sampling_rate |
Interface config | Задаёт среднюю частоту сэмплинга пакетов на интерфейсе |
no sflow sampling-rate |
Interface config | Отключает сэмплинг пакетов |
sflow timeout timeout |
Global config | Задаёт время, в течение которого устройство отправляет данные sFlow на получатель |
no sflow timeout |
Global config | Возвращает таймер передачи к значению по умолчанию |
show sflow |
EXEC | Показывает текущие настройки sFlow |
show sflow statistics { receiver \| samplers [interface port_type [ v_port_type_list ] ] } |
EXEC | Показывает счётчики статистики приёмника и сэмплеров |
Логика настройки простая: сначала задайте глобальные параметры получателя и агента, затем включите sFlow на нужных интерфейсах и задайте параметры сэмплинга. После этого проверьте конфигурацию и счётчики передачи.
Пример настройки на основе исходной документации¶
Пошаговые инструкции¶
Шаг 1. Задайте IP-адрес агента
Команда задаёт адрес агента, который устройство будет использовать в UDP-пакетах sFlow.
Шаг 2. Укажите адрес получателя sFlow
Здесь указывается адрес хоста, который принимает поток sFlow.
Шаг 3. Настройте UDP-порт получателя
Команда меняет порт получателя с значения по умолчанию 6343 на 7343.
Шаг 4. Ограничьте максимальный размер дейтаграммы
Используйте эту команду, если нужно отправлять более компактные UDP-пакеты.
Шаг 5. Ограничьте время передачи данных
Устройство будет отправлять данные sFlow в течение 1000 секунд.
Шаг 6. Перейдите к интерфейсу и включите sFlow
Команда включает sFlow именно на выбранном интерфейсе.
Шаг 7. Задайте частоту сэмплинга пакетов
Такой параметр задаёт сэмплинг в среднем для каждого 1024-го пакета.
Шаг 8. Задайте размер копируемой части пакета
В выборку будет попадать до 128 байт из каждого отобранного пакета.
Шаг 9. Включите отправку счётчиков статистики
Команда включает отправку счётчиков статистики на получатель sFlow с интервалом 100 секунд.
Note
Это пример конфигурации, собранный по исходной документации ниже. Не выдавайте его за результат лабораторной проверки на L3200.
Проверка и контроль состояния¶
Просмотр общих настроек¶
Проверка конфигурации sFlow:
Смотрите прежде всего на поля Agent Address, Receiver, UDP Port, Max. Datagram и Time left. Они позволяют быстро понять, на какой адрес и порт устройство отправляет поток, какой размер пакета использует и активен ли ещё таймер передачи.
Пример из исходной документации:
Просмотр статистики¶
Проверка счётчиков sFlow:
Контролируйте поля Tx Successes, Tx Errors, Flow Samples и Counter Samples. Рост Tx Successes подтверждает успешную передачу, Tx Errors помогает быстро увидеть проблемы доставки, а поля выборок показывают, отправляет ли устройство пакеты и счётчики.
Пример из исходной документации:
При необходимости перед повторной проверкой очистите счётчики:
Рекомендации по применению¶
Идентификация агента
- Задавайте
sflow agent-ipявно, если нужен стабильный идентификатор устройства на коллекторе. - Это упрощает сопоставление данных, особенно когда рабочие интерфейсы меняют адресацию.
Частота сэмплинга
- Начинайте с умеренного значения
sflow sampling-rateи снижайте его только при нехватке детализации.
Перегрузка CPU
Избегайте слишком высокой частоты сэмплинга: в исходной документации отдельно указано, что это может перегрузить CPU.
Сбор счётчиков
- Включайте
sflow counter-poll-intervalтолько на тех интерфейсах, где счётчики действительно нужны вместе с выборками пакетов. - Такой подход удерживает объём телеметрии под контролем и даёт отдельную видимость по пакетам и счётчикам.
Временные сеансы мониторинга
- Используйте
sflow timeoutдля диагностики по окну времени, а не только для постоянного мониторинга. - Это особенно удобно при расследовании инцидента: по истечении таймера передача завершится и настройки вернутся к значениям по умолчанию.
Контроль после включения
- Проверяйте
show sflowиshow sflow statistics receiverкак одну связку. - Первая команда подтверждает адреса и таймер, вторая показывает, пошла ли фактическая передача.
Защита доступа к анализатору
- Ограничьте доступ к коллектору sFlow и к данным, которые он хранит.
- RFC 3176 отдельно предупреждает, что декодированные sFlow-дейтаграммы могут раскрывать детали сетевой активности пользователей и систем.
Ссылка на исходную документацию¶
При возникновении вопросов обратитесь к технической поддержке.