Вы можете настроить сбор статистики сетевого трафика в локации по протоколу 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"]}
Пояснения
Через терминал
- Получите токен авторизации:
curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://example.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
Пояснения к командеВ ответ придёт сообщение вида:
Пример ответа в JSON{ "confirmed": true, "expires_at": null, "id": "6", "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a" }
Сохраните полученное значение параметра 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"]}'
Пояснения к команде
После выполнения запроса платформа запустит на локации дополнительные докер-контейнеры:
- 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. Каждый пользователь может посмотреть статистику только по собственным серверам.
Интерфейс дашборда Netflow
Администраторы платформы могут экспортировать данные статистики в формат 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