skydive-project / skydive

An open source real-time network topology and protocols analyzer
https://skydive.network
Apache License 2.0
2.67k stars 402 forks source link

Add IPV6 support #125

Closed safchain closed 8 years ago

nplanel commented 8 years ago

http://softwarefactory-project.io/r/5214

nplanel commented 8 years ago

tested with this configuration :

Skydive config file

host_id is used to reference the agent by default set to hostname

host_id:

WebSocket Ping/Pong timeout in second

ws_pong_timeout: 5

cache:

expiration time in second

expire: 300

cleanup interval in second

cleanup: 30

openstack: auth_url: http://xxx.xxx.xxx.xxx:5000/v2.0 username: admin password: password123 tenant_name: admin region_name: RegionOne

The endpoint_type value must be 'public', 'internal' or 'admin'

endpoint_type: public

analyzer:

address and port for the analyzer API, Format: addr:port.

Default addr is [::1]

listen: "[::1]:8082" flowtable_expire: 600 flowtable_update: 60 flowtable_agent_ratio: 0.5

Flow storage engine

Available: elasticsearch, orientdb

storage: elasticsearch

agent:

address and port for the agent API, Format: addr:port.

Default addr is [::1]

listen: "[::1]:8081" analyzers: "[::1]:8082"

The 'analyzer_username' and 'analyzer_password' parameters are

used by the agent to authenticate against the analyzer

analyzer_username: admin analyzer_password: password topology:

Probes used to capture topology informations like interfaces,

# bridges, namespaces, etc...
# Available: netlink, netns, ovsdb, docker, neutron, opencontrail
# Default: netlink, netns
probes:
  - netlink
  - netns
  # - ovsdb
  # - docker
  # - neutron
  # - fabric
  # - opencontrail
# Define static interfaces and links updating Skydive topology
# Can be useful to define external resources like : TOR, Router, etc.
#
# A description language similar to the dot language is used to define
# interfaces and links. An arrow (->) is used to define a link between
# two interfaces (parent -> child). Each interface described will be
# created in the topology excepted interfaces with the local prefix.
# In that specific case the interface of the local host will be used.
# Attributes of interfaces are declared using square brackets ([]).
# The following example creates a TOR1 node linked to a TOR1_PORT1 which is
# linked to the local interface eth0.
fabric:
  # - TOR1[Name=tor1] -> TOR1_PORT1[Name=port1, MTU=1500]
  # - TOR1_PORT1 -> local/eth0

flow:

Probes used to capture traffic.

probes:
  # - ovssflow
  # gopacket probe will use either pcap or afpacket according to the type of
  # the capture. Default is afpacket.
  # - gopacket

metadata: info: This is compute node

sflow:

Default listening address is [::1]

bind_address: [::1]

Port min/max used when starting a sflow probe, a agent will be started

with a port from this range

port_min: 6345

port_max: 6355

ovs:

ovsdb connection, Format supported :

* addr:port

* tcp://addr:port

* unix:///var/run/openvswitch/db.sock

If you use the tcp connection you need to authorize connexion to ovsdb agent

at least locally

% sudo ovs-appctl -t ovsdb-server ovsdb-server/add-remote ptcp:6400:[::1]

ovsdb: unix:///var/run/openvswitch/db.sock

docker:

url: unix:///var/run/docker.sock

netns:

allow to specify where the netns probe is watching network namespace

run_path: /var/run/netns

opencontrail:

Host address of the OpenContrail vrouter agent

host: localhost

TCP port of the OpenContrail vrouter agent

port: 8086

storage: elasticsearch: host: "[::1]:9200" maxconns: 10 retry: 60

OrientDB connection informations

orientdb:

addr: http://[::1]:2480

database: Skydive

username: root

password: hello

graph:

graph backend memory, elasticsearch, titangraph, gremlin(generic gremlin based), orientdb

backend: memory

gremlin endpoint, ex ws://[::1]:8182, http://[::1]:8182/graph

gremlin: ws://[::1]:8182

logging: default: INFO topology/probes: INFO topology/graph: WARNING

auth:

specify the type of authentication mechanism: noauth, basic, keystone (default: noauth)

type: basic

# basic:
  # file: /etc/skydive/htpasswd

etcd:

when 'embedded' is set to true, the analyzer will start an embedded etcd server

embedded: true

both the analyzers and the agents make use of etcd

servers:

- http://[::1]:2379

client_timeout: 5