An open source real-time network topology and protocols analyzer
Go JavaScript CSS Shell HTML Protocol Buffer Other
Latest commit 6746126 Feb 16, 2017 @liranschour liranschour committed with Jenkins CI fabric: Allow link metadata definition
Allow define metadata link by ->[key=value,..]

Address #212

Change-Id: I6a9aad700de90242d99300836363d735fa4d917e
Signed-off-by: Liran Schour <lirans@il.ibm.com>
Reviewed-on: https://softwarefactory-project.io/r/6559
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>
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 api: move alert/capture api instanciation to their own files Feb 22, 2017
api api: move alert/capture api instanciation to their own files 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 topology: add ownership links to manage groups Feb 23, 2017
etc fabric: Allow link metadata definition Feb 23, 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: fix del metadata notifications 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 graph: fix del metadata notifications Feb 22, 2017
storage graph: allow querying graph with a time slice Feb 22, 2017
tests topology: add ownership links to manage groups Feb 23, 2017
topology fabric: Allow link metadata definition Feb 23, 2017
validator flow: add new pcapsocket flow probe to inject pcap files Jan 30, 2017
vendor gremlin: make the Dedup handle many keys Feb 22, 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.