An open source real-time network topology and protocols analyzer
Go JavaScript CSS Shell HTML Protocol Buffer Other
Clone or download
Pull request Compare This branch is 1793 commits behind skydive-project:master.
nplanel and Jenkins CI tests : avoid line too long error when cleanup/remove old/unused vend…
…or package

Change-Id: I057caad117b2c5782fe36282f7d5e5abb685f706
Reviewed-on: https://softwarefactory-project.io/r/6565
Reviewed-by: Sylvain Afchain <safchain@gmail.com>
Tested-by: Sylvain Afchain <safchain@gmail.com>
Workflow: Sylvain Afchain <safchain@gmail.com>
Tested-by: Jenkins CI <jenkins@softwarefactory-project.io>
Latest commit ca2e155 Feb 20, 2017
Permalink
Failed to load latest commit information.
agent http: don't render topology.html Feb 9, 2017
alert etcd: add a blocking start election function Feb 21, 2017
analyzer graph: add missing lock before DelHostGraph when OnUnregisterClient Feb 21, 2017
api graph: allow querying graph with a time slice Feb 22, 2017
cmd common: use same decoder for json unmarshalling Feb 17, 2017
common graph: allow querying graph with a time slice Feb 22, 2017
config netlink: store interface metrics in metadata Feb 17, 2017
contrib scaling: support multiple analyzers Feb 9, 2017
devstack scaling: support multiple analyzers Feb 9, 2017
doc doc: fix regex example Feb 9, 2017
etc pcap: add packet statistics counter Feb 17, 2017
etcd etcd: add a blocking start election function Feb 21, 2017
filters graph: allow querying graph with a time slice Feb 22, 2017
flow graph: allow querying graph with a time slice Feb 22, 2017
http common: use same decoder for json unmarshalling Feb 17, 2017
logging flow: introduce fixed time bandwidth calculation Sep 7, 2016
ovs Ovs atomic disconnect Oct 6, 2016
packet_injector common: use same decoder for json unmarshalling Feb 17, 2017
probe [Core] Flows are now processed Asynchronously Apr 5, 2016
scripts tests : avoid line too long error when cleanup/remove old/unused vend… Feb 22, 2017
sflow scaling: support multiple analyzers Feb 9, 2017
statics ui: fix initial node size Feb 20, 2017
storage graph: allow querying graph with a time slice Feb 22, 2017
tests graph: allow querying graph with a time slice Feb 22, 2017
topology graph: allow querying graph with a time slice Feb 22, 2017
validator flow: add new pcapsocket flow probe to inject pcap files Jan 30, 2017
vendor netlink: store interface metrics in metadata Feb 17, 2017
version Bump version to 0.9.0 Jan 27, 2017
.gitattributes Force Github linguist to ingore javascrpit for vendoring Sep 20, 2016
.gitignore Cleaned up openshift template, i.e.: removed auto-generated fields Jan 25, 2017
.gitreview Add .gitreview file for Software Factory Feb 11, 2016
.travis.yml release: stop pushing binaries to the skydive-binaries repo Feb 8, 2017
CHANGELOG.md Bump version to 0.9.0 Jan 27, 2017
LICENSE license: remove heading line for github detection Oct 4, 2016
Makefile graph: allow querying graph with a time slice Feb 22, 2017
README.md README : fixup docker run client topology test query Feb 6, 2017
coverage.sh travis : coverage.sh need to set the tag test Jan 27, 2017
skydive.go Move main to root directory Dec 9, 2016

README.md

Build Status

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 topology query --gremlin "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://skydive-project.github.io/skydive/contributing/ 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.