Перейти к содержанию

Настройка 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-адрес агента

1
2
3
# configure terminal
(config)# sflow agent-ip ipv4 192.168.0.100
(config)#

Команда задаёт адрес агента, который устройство будет использовать в UDP-пакетах sFlow.

Шаг 2. Укажите адрес получателя sFlow

(config)# sflow collector-address 192.168.0.110
(config)#

Здесь указывается адрес хоста, который принимает поток sFlow.

Шаг 3. Настройте UDP-порт получателя

(config)# sflow collector-port 7343
(config)#

Команда меняет порт получателя с значения по умолчанию 6343 на 7343.

Шаг 4. Ограничьте максимальный размер дейтаграммы

(config)# sflow max-datagram-size 1024
(config)#

Используйте эту команду, если нужно отправлять более компактные UDP-пакеты.

Шаг 5. Ограничьте время передачи данных

(config)# sflow timeout 1000
(config)#

Устройство будет отправлять данные sFlow в течение 1000 секунд.

Шаг 6. Перейдите к интерфейсу и включите sFlow

1
2
3
(config)# interface GigabitEthernet 1/1
(config-if)# sflow
(config-if)#

Команда включает sFlow именно на выбранном интерфейсе.

Шаг 7. Задайте частоту сэмплинга пакетов

(config-if)# sflow sampling-rate 1024
(config-if)#

Такой параметр задаёт сэмплинг в среднем для каждого 1024-го пакета.

Шаг 8. Задайте размер копируемой части пакета

(config-if)# sflow max-sampling-size 128
(config-if)#

В выборку будет попадать до 128 байт из каждого отобранного пакета.

Шаг 9. Включите отправку счётчиков статистики

(config-if)# sflow counter-poll-interval 100
(config-if)#

Команда включает отправку счётчиков статистики на получатель sFlow с интервалом 100 секунд.

Note

Это пример конфигурации, собранный по исходной документации ниже. Не выдавайте его за результат лабораторной проверки на L3200.


Проверка и контроль состояния

Просмотр общих настроек

Проверка конфигурации sFlow:

# show sflow

Смотрите прежде всего на поля Agent Address, Receiver, UDP Port, Max. Datagram и Time left. Они позволяют быстро понять, на какой адрес и порт устройство отправляет поток, какой размер пакета использует и активен ли ещё таймер передачи.

Пример из исходной документации:

# show sflow
Agent Configuration:
====================
Agent Address: 192.168.0.100
Receiver Configuration:
=======================
Owner : <Configured through local management>
Receiver : 192.168.0.110
UDP Port : 7343
Max. Datagram: 1024 bytes
Time left : 972 seconds
...
#

Просмотр статистики

Проверка счётчиков sFlow:

# show sflow statistics receiver

Контролируйте поля Tx Successes, Tx Errors, Flow Samples и Counter Samples. Рост Tx Successes подтверждает успешную передачу, Tx Errors помогает быстро увидеть проблемы доставки, а поля выборок показывают, отправляет ли устройство пакеты и счётчики.

Пример из исходной документации:

1
2
3
4
5
# show sflow statistics receiver
Tx Successes Tx Errors Flow Samples Counter Samples
------------ --------- ------------ ---------------
0            0         0            0
#

При необходимости перед повторной проверкой очистите счётчики:

# clear sflow statistics receiver
#

Рекомендации по применению

Идентификация агента

  • Задавайте sflow agent-ip явно, если нужен стабильный идентификатор устройства на коллекторе.
  • Это упрощает сопоставление данных, особенно когда рабочие интерфейсы меняют адресацию.

Частота сэмплинга

  • Начинайте с умеренного значения sflow sampling-rate и снижайте его только при нехватке детализации.

Перегрузка CPU

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

Сбор счётчиков

  • Включайте sflow counter-poll-interval только на тех интерфейсах, где счётчики действительно нужны вместе с выборками пакетов.
  • Такой подход удерживает объём телеметрии под контролем и даёт отдельную видимость по пакетам и счётчикам.

Временные сеансы мониторинга

  • Используйте sflow timeout для диагностики по окну времени, а не только для постоянного мониторинга.
  • Это особенно удобно при расследовании инцидента: по истечении таймера передача завершится и настройки вернутся к значениям по умолчанию.

Контроль после включения

  • Проверяйте show sflow и show sflow statistics receiver как одну связку.
  • Первая команда подтверждает адреса и таймер, вторая показывает, пошла ли фактическая передача.

Защита доступа к анализатору

  • Ограничьте доступ к коллектору sFlow и к данным, которые он хранит.
  • RFC 3176 отдельно предупреждает, что декодированные sFlow-дейтаграммы могут раскрывать детали сетевой активности пользователей и систем.

Ссылка на исходную документацию

При возникновении вопросов обратитесь к технической поддержке.