Download PDF
Download page Сбор статистики NetFlow.
Сбор статистики NetFlow
Вы можете настроить сбор статистики сетевого трафика в локации по протоколу NetFlow и промышленному стандарту sFlow. Статистика сохраняется в базу данных (БД) Clickhouse и доступна для отображения в интерфейсе платформы и системе мониторинга Grafana.
В настройках сбора статистики вы можете указать подсети, трафик с которых не должен учитываться биллинговой платформой. В текущей реализации платформы эта функция реализована через API-запрос.
Включение сбора статистики
Через интерфейс платформы
- Нажмите на логотип DCImanager 6 в левом верхнем углу экрана.
- Выберите нужную локацию.
- В блоке Настройки локации нажмите кнопку Все настройки.
- На вкладке настроек локации:
- Включите опцию Разрешить сбор статистики NetFlow на локации.
Выберите IP-адреса локации для NetFlow — список IP-адресов локации, на которые сетевое оборудование отправляет статистику NetFlow/sFlow.
Укажите порты для сбора статистики:
- Порт NetFlow v5.
- Порт NetFlow v9/v10 (IPFIX).
- Порт sFlow.
- Чтобы статистика NetFlow отображалась в карточке сервера, включите опцию Использовать данные статистики NetFlow по умолчанию. Если опция отключена, то в карточке сервера будет отображаться статистика по сетевым подключениям, а статистика NetFlow будет доступна в системе мониторинга Grafana.
- Нажмите кнопку Применить.
Через интерфейс Swagger
- В правом меню нажмите значок → Swagger.
- Перейдите в раздел DCI back.
Выполните POST-запрос location/{location_id}/setup. В теле запроса укажите:
Пример тела запроса
{"netflow":{"addresses":["192.0.2.100"],"collect_netflow":true,"port":2055,"port_v5":2056,"port_sflow":6343},{"settings":{"statistic_type":"netflow"},"ip_filter": ["192.0.2.0/24", "198.51.100.0/28", "203.0.113.1/32"]}
CODEaddresses — список IP-адресов локации, на которые сетевое оборудование отправляет статистику NetFlow/sFlow
port — порт для сбора статистики по протоколам NetFlow v9/v10 (IPFIX)
port_v5 — порт для сбора статистики по протоколу NetFlow v5
port_sflow — порт для сбора статистики по стандарту sFlow
statistic_type — тип статистики для отображения в карточке сервера. Возможные значения:
- netflow — статистика NetFlow
- switch — статистика по сетевым подключениям
ip_filter — список подсетей, трафик с которых не должен учитываться биллинговой платформой
Через терминал
- Получите токен авторизации:
curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
CODEdomain.com — доменное имя или IP-адрес сервера с платформой
admin_email — email администратора платформы
admin_pass — пароль администратора платформы
В ответ придёт сообщение вида:
Пример ответа в JSON
{ "confirmed": true, "expires_at": null, "id": "6", "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a" }
CODEСохраните полученное значение параметра token — токен авторизации.
Выполните запрос:
Пример запроса
curl -X POST 'https://domain.com/dci/v3/location/<location_id>/setup' -H 'x-xsrf-token: <token>' -H 'Cookie: ses6=<token>' -H 'isp-box-instance: true' -d '{"netflow":{"addresses":["192.0.2.100"],"collect_netflow":true,"port":2055,"port_v5":2056,"port_sflow":6343},{"settings":{"statistic_type":"netflow"},"ip_filter": ["192.0.2.0/24", "198.51.100.0/28", "203.0.113.1/32"]}'
BASHdomain.com — IP-адрес или доменное имя сервера с DCImanager 6
<location_id> — ID локации
<token> — токен авторизации
addresses — список IP-адресов локации, на которые сетевое оборудование отправляет статистику NetFlow/sFlow
port — порт для сбора статистики по протоколам NetFlow v9/v10 (IPFIX)
port_v5 — порт для сбора статистики по протоколу NetFlow v5
port_sflow — порт для сбора статистики по стандарту sFlow
statistic_type — тип статистики для отображения в карточке сервера. Возможные значения:
- netflow — статистика NetFlow
- switch — статистика по сетевым подключениям
ip_filter — список подсетей, трафик с которых не должен учитываться биллинговой платформой
После выполнения запроса платформа запустит на локации дополнительные докер-контейнеры:
- etc_goflow_1 — контейнер для сбора данных;
- flow_msg_queue — временное хранилище очереди сообщений.
Контейнер etc_goflow_1 собирает данные статистики с оборудования и передаёт их в контейнер flow_msg_queue. Сервис brokerctl в контейнере dci_consumer_1 забирает данные из контейнера flow_msg_queue и сохраняет их в БД Clickhouse. Данные сохраняются в таблице flows.
Просмотр статистики
В интерфейсе платформы
Просмотр статистики доступен, если в настройках локации включена опция Использовать данные статистики NetFlow по умолчанию.
Чтобы посмотреть статистику, перейдите в раздел Серверы → выберите сервер → Параметры сервера → вкладка Статистика. Вы можете выбрать интерфейс и период, для которого нужно показать статистику.
В Grafana
Чтобы перейти в интерфейс Grafana, в правом меню нажмите значок → Grafana.
Данные статистики доступны в дашбордах:
- Netflow — полная статистика для администраторов платформы. Включает трафик с подсетей, заданных через параметр ip_filter;
- Traffic-netflow-dashboard — статистика по отдельным серверам для пользователей. Не включает трафик с подсетей, заданных через параметр ip_filter. Каждый пользователь может посмотреть статистику только по собственным серверам.
Администраторы платформы могут экспортировать данные статистики в формат CSV. Для этого:
- Перейдите в дашборд NetFlow → контекстное меню панели Complete data → Inspect → Data.
- На вкладке Data нажмите кнопку Download CSV.
Диагностика
etc_goflow_1
Подключитесь к локации по SSH и выполните команду:
docker logs -f etc_goflow_1
flow_msg_queue
Подключитесь к локации по SSH и выполните команду:
docker logs -f flow_msg_queue
brokerctl
Подключитесь к серверу с платформой по SSH и выполните команду:
docker exec -it dci_consumer_1 less -R /var/log/brokerctl.log