Сбор статистики NetFlow
Вы можете настроить сбор статистики сетевого трафика в локации по протоколу NetFlow и промышленному стандарту sFlow. Статистика сохраняется в базу данных (БД) Clickhouse и доступна для отображения в системе мониторинга 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}}
CODEПоясненияaddresses — список IP-адресов локации, на которые сетевое оборудование отправляет статистику NetFlow/sFlow
port — порт для сбора статистики по протоколам NetFlow v9/v10 (IPFIX)
port_v5 — порт для сбора статистики по протоколу NetFlow v5
port_sflow — порт для сбора статистики по стандарту sFlow
Через терминал
- Получите токен авторизации:
curl -X POST 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
CODEПояснения к командеdomain.com — доменное имя или IP-адрес сервера с платформой
admin_email — email администратора платформы
admin_pass — пароль администратора платформы
В ответ придёт сообщение вида:
Пример ответа в JSON
{ "confirmed": true, "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}}'
BASHПояснения к командеdomain.com — IP-адрес или доменное имя сервера с DCImanager
<location_id> — ID локации
<token> — токен авторизации
addresses — список IP-адресов локации, на которые сетевое оборудование отправляет статистику NetFlow/sFlow
port — порт для сбора статистики по протоколам NetFlow v9/v10 (IPFIX)
port_v5 — порт для сбора статистики по протоколу NetFlow v5
port_sflow — порт для сбора статистики по стандарту sFlow
После выполнения запроса платформа запустит на локации дополнительные докер-контейнеры:
- etc_goflow_1 — контейнер для сбора данных;
- flow_msg_queue — временное хранилище очереди сообщений.
Контейнер etc_goflow_1 собирает данные статистики с оборудования и передаёт их в контейнер flow_msg_queue. Сервис brokerctl в контейнере dci_consumer_1 забирает данные из контейнера flow_msg_queue и сохраняет их в БД Clickhouse. Данные сохраняются в таблице flows.
Просмотр статистики в Grafana
Чтобы перейти в интерфейс Grafana, в правом меню нажмите значок → Grafana.
Данные статистики доступны в дашбордах:
- Netflow — полная статистика для администраторов платформы;
- Traffic-netflow-dashboard — статистика по отдельным серверам для пользователей. Каждый пользователь может посмотреть статистику только по собственным серверам.
Интерфейс дашборда 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