Open Source анализатор сети в реальном времени : skydive

Анализатор топологии сети и протоколов в реальном времени с открытым исходным кодом

Skydive — это анализатор топологии сети и протоколов с открытым исходным кодом в режиме реального времени.

Он направлен на обеспечение всестороннего понимания того, что происходит в сетевой инфраструктуре.

Агенты по прыжкам собирают информацию о потоках и топологии и направляют их центральному агенту для дальнейшего анализа.

Вся информация хранится в базе данных Elasticsearch.

Skydive является SDN-агностиком, но предоставляет драйверы SDN, чтобы улучшить информацию о топологии и потоках.

В настоящее время предоставляется только драйвер Neutron, но скоро появятся новые драйверы.

Топологические стандарты

В настоящее время реализованы:

OVSDB
NETLINK
NetNS
Ethtool

Потоковые стандарты

В настоящее время внедрены:

Sflow

Зависимости

Go> = 1,5

Elasticsearch> = 2.0

Установка

Убедитесь, что у вас рабочая среда Go. Затем убедитесь, что у вас установлен Godep.

 # go get github.com/redhat-cip/skydive/cmd/skydive 

 

Сетевой анализатор реального времени с открытым исходным кодом

Skydive опирается на два основных компонента:

  • skydive агент, должен запускаться на каждом узле, где информация о топологии и потоках будет захвачена
  • skydive анализатор , собирающий данные узла, захваченные агентами

Конфигурация

Для настройки одного узла файл конфигурации является необязательным.

Для настройки нескольких узлов анализатор IP / PORT необходимо адаптировать.

Процессы привязаны к 127.0.0.1 по умолчанию, вы можете явно изменить адрес привязки с «listen: 0.0.0.0:port» в соответствующих разделах конфигурации.

См. полный список параметров конфигурации в файле конфигурации образца etc /skydive.yml.default.

Запуск

 # skydive agent [--conf etc/skydive.yml]

# skydive analyzer [--conf etc/skydive.yml] 

Вэб интерфейс

Для доступа к WebUI агентов или анализатора:

http://<address>:<port>

Skydive клиент

Клиент Skydive может использоваться для взаимодействия с анализатором и агентами Skydive.

Запуск без какой-либо команды приведет к возврату всех доступных команд.

 # skydive client

Usage:
skydive client [command]

Available Commands:
alert Manage alerts
capture Manage captures

Flags:
-h, --help[=false]: help for client
--password="": password auth parameter
--username="": username auth parameter 

Указание определенной подкоманды даст использование подкоманды.

 # skydive client capture 

Если в файле конфигурации определен механизм аутентификации, для каждой команды необходимо использовать параметр имени пользователя и пароля.

Переменные окружения SKYDIVE_USERNAME и SKYDIVE_PASSWORD могут использоваться как значение по умолчанию для параметров командной строки имени пользователя и пароля.

Запуск захвата потоков

Клиент Skydive позволяет запускать захваты потоков по топологии Узлы / Интерфейсы

 # skydive client capture create -p <пробный путь> 

Формат пробного пути:

 host1[Type=host]/.../node_nameN[Type=node_typeN] 

Тип имени узла может быть :

  • хост
  • интерфейс
  • пространство имен

Типы узлов могут быть:

  • хост
  • netns
  • ovsbridge

В настоящее время поддерживаются типы целевых узлов:

  • ovsbridge
  • veth
  • device
  • internal
  • tun
  • bridge

Чтобы запустить захват на мосту br1 OVS на хосте host1, используется следующий путь:

 # skydive client capture create -p "host1[Type=host]/br1[Type=ovsbridge]"" 

Подстановочный шаблон для узла узла может использоваться для запуска захвата на всех хостах.

 # skydive client capture create -p "*/br1[Type=ovsbridge]"

Захват может быть определен заранее и начнется, когда узел топологии будет соответствовать.

Чтобы удалить захват:

 # skydive client capture delete <пробный путь> 

API

Информация о топологии доступна через HTTP или API WebSocket

Конечная точка HTTP:

 # curl http://<address>:<port>/api/topology 

Конечная точка WebSocket:

 # ws://<address>:<port>/ws/graph 

Сообщения:

NodeUpdated
NodeAdded
NodeDeleted
EdgeUpdated
EdgeAdded
EdgeDeleted

Скачать Skydive

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *