From 198c5d3d0e5159f90b2a45e4cf052d9da87c23e9 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Sat, 17 Dec 2016 22:24:06 +0000 Subject: [PATCH] doc: Add sFlow cookbook from website This is mostly copied verbatim. Signed-off-by: Stephen Finucane Signed-off-by: Ben Pfaff --- Documentation/automake.mk | 2 + Documentation/howto/index.rst | 1 + Documentation/howto/sflow.png | Bin 0 -> 85755 bytes Documentation/howto/sflow.rst | 171 ++++++++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+) create mode 100644 Documentation/howto/sflow.png create mode 100644 Documentation/howto/sflow.rst diff --git a/Documentation/automake.mk b/Documentation/automake.mk index a8fa927ef19..e4d792d073f 100644 --- a/Documentation/automake.mk +++ b/Documentation/automake.mk @@ -43,6 +43,8 @@ EXTRA_DIST += \ Documentation/howto/openstack-containers.rst \ Documentation/howto/qos.png \ Documentation/howto/qos.rst \ + Documentation/howto/sflow.png \ + Documentation/howto/sflow.rst \ Documentation/howto/vlan.png \ Documentation/howto/vlan.rst \ Documentation/howto/vtep.rst \ diff --git a/Documentation/howto/index.rst b/Documentation/howto/index.rst index 0246b462d98..2518043a011 100644 --- a/Documentation/howto/index.rst +++ b/Documentation/howto/index.rst @@ -42,6 +42,7 @@ topics covered herein, refer to :doc:`/topics/index`. vlan qos vtep + sflow .. toctree:: :maxdepth: 1 diff --git a/Documentation/howto/sflow.png b/Documentation/howto/sflow.png new file mode 100644 index 0000000000000000000000000000000000000000..42667ce0ae890bc6c5e8b464b7cda23f1399f0fc GIT binary patch literal 85755 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

yC_+|vY3rWqx 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

sja<42BOdTpZC=E*HmLt-+{d7 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 literal 0 HcmV?d00001 diff --git a/Documentation/howto/sflow.rst b/Documentation/howto/sflow.rst new file mode 100644 index 00000000000..1152a7db567 --- /dev/null +++ b/Documentation/howto/sflow.rst @@ -0,0 +1,171 @@ +.. + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file 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. + + Convention for heading levels in Open vSwitch documentation: + + ======= Heading 0 (reserved for the title in a document) + ------- Heading 1 + ~~~~~~~ Heading 2 + +++++++ Heading 3 + ''''''' Heading 4 + + Avoid deeper levels because they do not render well. + +================================ +Monitoring VM Trafic Using sFlow +================================ + +This document describes how to use Open vSwitch is to monitor traffic sent +between two VMs on the same host using an sFlow collector. +VLANs. + +.. image:: sflow.png + :align: center + +Setup +----- + +This guide assumes the environment is configured as described below. + +Two Physical Networks +~~~~~~~~~~~~~~~~~~~~~ + +- Data Network + + Ethernet network for VM data traffic. For experimentation, this physical + network is optional. You can instead connect all VMs to a bridge that is not + connected to a physical interface. + +- Management Network + + This network must exist, as it is used to send sFlow data from the agent to + the remote collector. + +Two Physical Hosts +~~~~~~~~~~~~~~~~~~ + +The environment assumes the use of two hosts: `host1` and `hostMon`. `host` is +a hypervisor that run Open vSwitch and has two NICs: + +- eth0 is connected to the Data Network. No IP address can be assigned on eth0 + because it is part of an OVS bridge. + +- eth1 is connected to the Management Network. eth1 has an IP address for + management traffic, including sFlow. + +`hostMon` can be any computer that can run the sFlow collector. For this +cookbook entry, we use `sFlowTrend +`__, a free sFlow collector that +is a simple cross-platform Java download. Other sFlow collectors should work +equally well. `hostMon` has a single NIC, `eth0`, that is connected to the +Management Network. `eth0` has an IP adress that can reach `eth1` on `host1`. + +Two Virtual Machines +~~~~~~~~~~~~~~~~~~~~ + +This guide uses two virtual machines - `vm1` and `vm2`- running on `host1`. + +.. note:: + For Xen/XenServer, VM interfaces appears as Linux devices with names like + ``vif1.0``. Other Linux systems may present these interfaces as ``vnet0``, + ``vnet1``, etc. + +Configuration Steps +------------------- + +On `host1`, define the following configuration values in your shell +environment:: + + COLLECTOR_IP=10.0.0.1 + COLLECTOR_PORT=6343 + AGENT_IP=eth1 + HEADER_BYTES=128 + SAMPLING_N=64 + POLLING_SECS=10 + +Port 6343 (``COLLECTOR_PORT``) is the default port number for sFlowTrend. If +you are using an sFlow collector other than sFlowTrend, set this value to the +appropriate port for your particular collector. Set your own IP address for the +collector in the place of 10.0.0.1 (``COLLECTOR_IP``). Setting the ``AGENT_IP`` +value to eth1 indicates that the sFlow agent should send traffic from `eth1`'s +IP address. The other values indicate settings regarding the frequency and type +of packet sampling that sFlow should perform. + +Still on `host1`, run the following command to create an sFlow configuration +and attach it to bridge br0:: + + $ ovs-vsctl -- --id=@sflow create sflow agent=${AGENT_IP} \ + target="${COLLECTOR_IP}:${COLLECTOR_PORT}" header=${HEADER_BYTES} \ + sampling=${SAMPLING_N} polling=${POLLING_SECS} \ + -- set bridge br0 sflow=@sflow + +Make note of the UUID that is returned by this command; this value is necessary +to remove the sFlow configuration. + +On `hostMon`, go to the `sFlowTrend +`__ and click "Install" in the +upper right-hand corner. If you have Java installed, this will download and +start the sFlowTrend application. Once sFlowTrend is running, the light in the +lower right-hand corner of the sFlowTrend application should blink green to +indicate that the collector is receiving traffic. + +The sFlow configuration is now complete, and sFlowTrend on `hostMon` should be +receiving sFlow data from OVS on `host1`. + +To configure sFlow on additional bridges, just replace ``br0`` in the above +command with a different bridge name. + +To remove sFlow configuration from a bridge (in this case, ``br0``), run this +command, where "sFlow UUID" is the UUID returned by the command used to set the +sFlow configuration initially:: + + $ ovs-vsctl remove bridge br0 sflow + +To see all current sets of sFlow configuration parameters, run:: + + $ ovs-vsctl list sflow + +Troubleshooting +--------------- + +If sFlow data isn't being collected and displayed by sFlowTrend, check the +following items: + +- Make sure the VMs are sending/receiving network traffic over bridge br0, + preferably to multiple other hosts and using a variety of protocols. + +- To confirm that the agent is sending traffic, check that running the + following command shows that the agent on the physical server is sending + traffic to the collector IP address (change the port below to match the port + your collector is using):: + + $ tcpdump -ni eth1 udp port 6343 + +If no traffic is being sent, there is a problem with the configuration of OVS. +If traffic is being sent but nothing is visible in the sFlowTrend user +interface, this may indicate a configuration problem with the collector. + +Check to make sure the host running the collector (`hostMon`) does not have a +firewall that would prevent UDP port 6343 from reaching the collector. + +Credit +------ + +This document is heavily based on content from Neil McKee at InMon: + +- `https://mail.openvswitch.org/pipermail/ovs-dev/2010-July/165245.html + `__ + +- `http://blog.sflow.com/2010/01/open-vswitch.html + `__ (note: the configuration + syntax is out of date, but the high-level descriptions are correct)