Skydive 是一个开源的实时网络拓扑和协议分析器。 它旨在提供一种全面的方式,以理解网络基础设施中正在发生的事情。
Skydive 代理收集拓扑信息和流,并将其转发到中央代理进行进一步分析。所有信息都存储在 Elasticsearch 数据库中。
Skydive 与 SDN 无关,但提供 SDN 驱动以增强拓扑和流信息。

最简单的入门方法是下载最新的二进制文件,并使用 all-in-one 模式运行:
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
打开浏览器访问 http://localhost:8082 以访问分析器的 Web 界面。
如果您使用 Kubernetes,则可以通过 Helm 直接从 Git 部署 Skydive:
helm plugin install https://github.com/aslafy-z/helm-git --version 0.10.0
helm repo add skydive git+https://github.com/skydive-project/skydive@contrib/charts
helm repo update
helm install skydive-analyzer skydive/skydive-analyzer
helm install skydive-agent skydive/skydive-agent
kubectl port-forward service/skydive-analyzer 8082:8082
打开浏览器访问 http://localhost:8082 以访问分析器的 Web 界面。
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 以访问分析器的 Web 界面。
要快速建立一个更完整的运行环境(支持历史记录),可以使用 Docker Compose 自动启动一个 Elasticsearch 容器、一个 Skydive 分析器容器和一个 Skydive 代理容器。
curl -o docker-compose.yml https://raw.githubusercontent.com/skydive-project/skydive/master/contrib/docker/docker-compose.yml
docker-compose up
您也可以使用 Skydive 命令行客户端 运行:
docker run --net=host -ti skydive/skydive client query "g.V()"
打开浏览器访问 http://localhost:8082 以访问分析器的 Web 界面。
Skydive 文档可在此处找到:
Skydive REST API 的描述可在 此处 的 Swagger 中找到。
Skydive 教程可在此处找到:
周会
Slack
欢迎您的贡献。请查看 https://github.com/skydive-project/skydive/blob/master/CONTRIBUTING.md 了解相关流程。
本软件采用 Apache 许可证 2.0 版("许可证")授权; 除非遵守许可证,否则不得使用本软件。 您可以在 http://www.apache.org/licenses/LICENSE-2.0 获取许可证副本。
除非适用法律要求或书面同意,否则本软件按"原样"分发, 不附带任何明示或默示的担保或条件。 有关许可证下的权限和限制,请参阅许可证。