Вы можете настроить сбор статистики сетевого трафика в локации по протоколу NetFlow и промышленному стандарту sFlow. Статистика сохраняется в базу данных (БД) Clickhouse и доступна для отображения в системе мониторинга Grafana.

Включение сбора статистики


Через интерфейс Swagger

  1. В правом меню нажмите значок Swagger.
  2. Перейдите в раздел DCI back.
  3. Выполните 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

Через терминал

  1. Получите токен авторизации: 
    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 — токен авторизации.

  2. Выполните запрос: 

    Пример запроса

    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. Для этого:

  1. Перейдите в дашборд NetFlow → контекстное меню панели Complete dataInspectData.
  2. На вкладке Data нажмите кнопку Download CSV.

Диагностика


etc_goflow_1

Подключитесь к локации по SSH и выполните команду: 

docker logs -f etc_goflow_1
BASH

flow_msg_queue

Подключитесь к локации по SSH и выполните команду: 

docker logs -f flow_msg_queue
BASH

brokerctl

Подключитесь к серверу с платформой по SSH и выполните команду: 

docker exec -it dci_consumer_1 less -R /var/log/brokerctl.log
CODE