API

Основная задача Collector – принять и сохранить flow с сетевых устройств.

Для включения обработки необходимо через API Collector передать адрес сетевого устройства, отправляющего flow, а также параметр семплирования и таймауты.

По умолчанию список пар «адрес-семплирование» пуст, вследствие чего Collector не обрабатывает пришедшие flow. Для их обработки необходимо добавить список с помощью RESTful HTTP API, представленного ниже.

В базовом случае запросы следует отправлять на порт 8000 (порт API бекенда коллектора). Для получения данных непосредственно у коллектора используется порт 50055. Значение порта можно изменить через переменную COLLECTOR_API_PORT.

Настройка источников flow

В качестве параметров запросов выступают:

  • ip – адрес сетевого устройства, которое присылает flow.
  • sample – коэффициент семплирования flow для сетевого устройства. Показывает, сколько пакетов характеризуется данным пакетом. По умолчанию 1.
  • active_timeout – время, через которое сетевое устройство посылает flow при наличии трафика с источника.
  • inactive_timeout – время, через которое сетевое устройство посылает flow при закрытии соединения источником.

IPv4

Получение настроек источников flow

  • Путь: /exporters

  • Метод: GET

  • Ответ:

    
    [
      {
        "ip": "192.168.0.1",
        "sample": 10,
        "active_timeout": 30,
        "inactive_timeout": 30
      }
    ]
    

Установка настроек источников flow

  • Путь: /exporters

  • Метод: POST

  • Данные:

    [
      {
        "src": "192.168.0.1",
        "sample": 10,
        "active_timeout": 30,
        "inactive_timeout": 30
      },
      {
        "src": "192.168.0.2",
        "sample": 1,
        "active_timeout": 30,
        "inactive_timeout": 30
      }
    ]
    

Очистка настроек источников flow

  • Путь: /exporters
  • Метод: DELETE

IPv6

Получение настроек источников flow

  • Путь: /exporters6

  • Метод: GET

  • Ответ:

    
    [
      {
        "ip": "111::0",
        "sample": 10,
        "active_timeout": 30,
        "inactive_timeout": 30
      }
    ]
    

Установка настроек источников flow

  • Путь: /exporters6

  • Метод: POST

  • Данные:

    [
      {
        "src": "111::0",
        "sample": 10,
        "active_timeout": 30,
        "inactive_timeout": 30
      },
      {
        "src": "112::0",
        "sample": 1,
        "active_timeout": 30,
        "inactive_timeout": 30
      }
    ]
    

Очистка настроек источников flow

  • Путь: /exporters6
  • Метод: DELETE

Настройка проброса flow

В качестве параметров запросов выступают:

  • src_ip – адрес сетевого устройства, которое присылает flow.
  • dst_ip – адрес, куда необходимо отправить flow после обработки Collector.

IPv4

Получение настроек для проброса

  • Путь: /forwards

  • Метод: GET

  • Ответ:

    
    [
      {
        "src_ip": "192.168.0.1",
        "dst_ip": "192.168.0.2"
      }
    ]
    

Установка настроек для проброса

  • Путь: /forwards

  • Метод: POST

  • Данные:

    [
      {
        "src_ip": "192.168.0.1",
        "dst_ip": "192.168.0.2"
      },
      {
        "src_ip": "192.168.0.3",
        "dst_ip": "192.168.0.2"
      }
    ]
    

Очистка настроек для проброса

  • Путь: /forwards
  • Метод: DELETE

IPv6

Получение настроек для проброса

  • Путь: /forwards6

  • Метод: GET

  • Ответ:

    
    [
      {
        "src_ip": "111::0",
        "dst_ip": "112::0"
      }
    ]
    

Установка настроек для проброса

  • Путь: /forwards6

  • Метод: POST

  • Данные:

    [
      {
        "src_ip": "111::0",
        "dst_ip": "112::0"
      },
      {
        "src_ip": "113::0",
        "dst_ip": "112::0"
      }
    ]
    

Очистка настроек для проброса

  • Путь: /forwards6
  • Метод: DELETE