Skydive — рентген для вашей сети
Репозиторий давно не обновлялся
Последнее обновление было 1 год назад.
Представьте, что ваше приложение внезапно начало тормозить. Вы проверяете логи, мониторинг, но проблема неочевидна. А что если бы у вас была карта всей сетевой инфраструктуры, где можно буквально увидеть, как движутся пакеты данных? Именно это и предлагает Skydive — open source решение для анализа сетевой топологии в реальном времени.
Что такое Skydive?
Skydive — это как диспетчерская для вашей сети. Проект собирает информацию о топологии сети, отслеживает потоки данных и позволяет анализировать их через удобный веб-интерфейс или API. Написанный на Go, он работает с различными средами — от классических серверов до контейнеров Kubernetes.
Основные пользователи Skydive:
- DevOps-инженеры
- Сетевые администраторы
- Разработчики распределенных систем
- Специалисты по информационной безопасности
Почему стоит обратить внимание?
1. Полная картина сети
Skydive автоматически строит карту всех узлов и соединений в вашей инфраструктуре. Больше не нужно вручную рисовать схемы в Visio!
2. Исторические данные
Система хранит историю изменений топологии и трафика. Теперь можно ответить на вопрос «Что изменилось в сети за последний час?»
3. Единый язык запросов
Используя Gremlin (язык обхода графов), вы можете запрашивать и топологию, и данные о потоках одним запросом:
docker run --net=host -ti skydive/skydive client query "g.V()"
4. Поддержка облачных сред
Skydive умеет работать с:
- Docker
- Kubernetes
- OpenStack
- OpenContrail
Как это работает технически?
Архитектура Skydive состоит из:
- Агенты — собирают данные с узлов сети
- Анализатор — центральный компонент для обработки данных
- Хранилище (Elasticsearch) — сохраняет исторические данные
Все компоненты можно развернуть буквально одной командой:
curl -Lo - https://github.com/skydive-project/skydive-binaries/raw/jenkins-builds/skydive-latest.gz | gzip -d > skydive && chmod +x skydive && sudo mv skydive /usr/local/bin/
SKYDIVE_ETCD_DATA_DIR=/tmp SKYDIVE_ANALYZER_LISTEN=0.0.0.0:8082 sudo -E /usr/local/bin/skydive allinone
Практическое применение
- Отладка сетевых проблем: Быстро находите «узкие места» в маршрутизации
- Мониторинг безопасности: Выявляйте неожиданные соединения между сервисами
- Документирование инфраструктуры: Автоматически актуальные схемы сети
- Тестирование изменений: Смотрите, как влияют на сеть ваши правки конфигураций
Начните за 5 минут
Для быстрого старта можно использовать Docker:
docker run -d --privileged --pid=host --net=host -p 8082:8082 -p 8081:8081 \
-e SKYDIVE_ANALYZER_LISTEN=0.0.0.0:8082 \
-v /var/run/docker.sock:/var/run/docker.sock -v /run/netns:/var/run/netns \
skydive/skydive allinone
После запуска откройте http://localhost:8082 и увидите свою сеть как на ладони.
Вывод: кому подойдет Skydive?
Этот инструмент — must have для:
- Команд, работающих с микросервисными архитектурами
- Администраторов сложных сетевых инфраструктур
- Компаний, переходящих в облака или использующих гибридные среды
Skydive особенно ценен тем, что не требует перестройки существующей инфраструктуры — он работает поверх неё, давая прозрачность без лишних хлопот.
