An open source real-time network topology and protocols analyzer
Clone or download
Latest commit 00bdcbd Sep 20, 2018
Permalink
Failed to load latest commit information.
agent Merge pull request #1325 from safchain/gremlin-context Sep 20, 2018
alert fmt: remove dead code and wrong comments Sep 20, 2018
analyzer Merge pull request #1325 from safchain/gremlin-context Sep 20, 2018
api fmt: remove dead code and wrong comments Sep 20, 2018
cmd fmt: remove dead code and wrong comments Sep 20, 2018
common common: add some unit tests for SetField and DelField Aug 29, 2018
config fmt: remove dead code and wrong comments Sep 20, 2018
contrib SELinux: remove sys_ptrace Sep 17, 2018
devstack Disable elasticsearch by default in devstack plugin Sep 18, 2018
dpdk flow : DPDK probe Oct 24, 2017
etc istio: add destinationrule probe Sep 13, 2018
etcd fmt: remove dead code and wrong comments Sep 20, 2018
filters traversal: add support for booleans Aug 3, 2018
flow Merge pull request #1325 from safchain/gremlin-context Sep 20, 2018
gremlin test: fix unit test Sep 20, 2018
http ui: create server to handle ui specifics Sep 13, 2018
js js: export missing API types Sep 14, 2018
logging goreport: fix wrong comments and direct returns Jun 27, 2018
ovs ci : set default BACKEND and FLOW_PROTOCOL May 18, 2018
packet_injector js: export missing API types Sep 14, 2018
probe eBPF: fix compilation with LLVM 6.0+ (fc28, ...) Jul 25, 2018
rbac rbac: remove dependency on statics and config packages Sep 18, 2018
scripts ci: use only golint linter Sep 19, 2018
sflow lock: introduce a deadlock helper May 9, 2018
statics Merge pull request #1295 from lebauce/jsonschema-validator Sep 19, 2018
storage traversal: add support for booleans Aug 3, 2018
tests tests: merge 'helper' and 'tests' package and unexport functions Sep 19, 2018
topology Merge pull request #1325 from safchain/gremlin-context Sep 20, 2018
ui ui: create server to handle ui specifics Sep 13, 2018
validator validator: Add gremlin or empty validator Sep 6, 2018
vendor istio: add destinationrule probe Sep 13, 2018
version build : versioning and tainted build version Nov 9, 2017
websocket ui: create server to handle ui specifics Sep 13, 2018
.gitattributes github : fix languages vendoring Jul 3, 2017
.gitignore docker/ci: cross-compiler - use static Aug 18, 2018
.travis.yml travis: compile with dpdk and ebpf Dec 6, 2017
CHANGELOG.md release: bump to 0.19.1 Sep 13, 2018
CONTRIBUTING.md contributing : making changes Jul 26, 2017
LICENSE license: remove heading line for github detection Oct 4, 2016
Makefile Makefile: remove WITH_SELENIUM argument Sep 19, 2018
README.md readme: add stackshare badge Jun 11, 2018
coverage.sh CI : run k8s functional tests only on baremetal May 14, 2018
skydive.go build: allow cross compilation of skydive Jan 16, 2018
skydive_prof.go build: fix profiling build and add test Jan 17, 2018

README.md

Build Status Go Report Card StackShare

Skydive

Skydive is an open source real-time network topology and protocols analyzer. It aims to provide a comprehensive way of understanding what is happening in the network infrastructure.

Skydive agents collect topology informations and flows and forward them to a central agent for further analysis. All the informations are stored in an Elasticsearch database.

Skydive is SDN-agnostic but provides SDN drivers in order to enhance the topology and flows informations.

Key features

  • Captures network topology and flows
  • Full history of network topology and flows
  • Distributed
  • Ability to follow a flow along a path in the topology
  • Supports VMs and Containers infrastructure
  • Unified query language for topology and flows (Gremlin)
  • Web and command line interfaces
  • REST API
  • Easy to deploy (standalone executable)
  • Connectors to OpenStack, Docker, OpenContrail

Quick start

Docker Compose

To quick set up a working environment, Docker Compose can be used to automatically start an Elasticsearch container, a Skydive analyzer container and a Skydive agent container.

curl -o docker-compose.yml https://raw.githubusercontent.com/skydive-project/skydive/master/contrib/docker/docker-compose.yml
docker-compose up

Open a browser to http://localhost:8082 to access the analyzer Web UI.

You can also use the Skydive command line client with:

docker run --net=host -ti skydive/skydive client query "g.V()"

All-in-one

You can also download the latest release and use the all-in-one mode which will start an Agent and an Analyzer at once.

sudo skydive allinone [-c skydive.yml]

Documentation

Skydive documentation can be found here:

Contributing

Your contributions are more than welcome. Please check https://github.com/skydive-project/skydive/blob/master/CONTRIBUTING.md to know about the process.

Contact

License

This software is licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.