Skydive relies on two main components:

  • skydive agent, has to be started on each node where the topology and flows informations will be captured
  • skydive analyzer, the node collecting data captured by the agents


  • Go >= 1.8
  • Elasticsearch >= 2.0
  • libpcap
  • libxml2
  • protoc >= 3.0
  • llvm
  • clang
  • kernel-headers / linux-libc-dev
  • bcc / bcc-devel


Make sure you have a working Go environment. See the install instructions.

$ mkdir -p $GOPATH/src/
$ git clone $GOPATH/src/
$ cd $GOPATH/src/
$ make install


For a single node setup, the configuration file is optional. For a multiple node setup, the analyzer IP/PORT need to be adapted.

Processes are bound to by default, you can explicitly change binding address with “listen:” in the proper configuration sections.

User can add host metadata to specify an extra host information in “agent.metadata” configuration section. All the key value pairs given under this configuration section will be added to host metadata.

See the full list of configuration parameters in the sample configuration file etc/skydive.yml.default.


$ skydive agent [--conf etc/skydive.yml]
$ skydive analyzer [--conf etc/skydive.yml]


The all-in-one mode can be used to start an Agent and an Analyzer at once.

$ skydive allinone [--conf etc/skydive.yml]