(image from Anatomy of an open source cloud)
A cloud data center consists of large numbers of physical servers, each running a hypervisor with one or more virtual switches connecting the physical network to virtual machines (see Anatomy of an open source cloud). Coordinating and managing the configuration of the large numbers of virtual switches in a cloud data center is a complex task.
In order to address this challenge, the Open vSwitch (part of the Xen Cloud Platform) configuration mechanism has moved to using the OpenFlow configuration protocol. The OpenFlow configuration protocol makes it possible to centrally manage the configuration of all the Open vSwitch instances in the cloud in a way that was not possible using the previous configuration file method.
The ovs-vsctl command line tool (installed as part of the Open vSwitch package) can be used to issue configuration commands to the vSwitch.
The following commands configure an Open vSwitch to sample packets at 1-in-512, poll counters every 30 seconds and send sFlow to an analyzer (10.0.0.50) over UDP using the default sFlow port (6343):
SFLOWUUID=`ovs-vsctl create sFlow agent=eth0 target=\"10.0.0.50:6343\" header=128 sampling=512 polling=30`
Find the set of bridges that have been created:
ovs-vsctl list br
Apply the sFlow settings to each bridge (in this example, xenbr0 and xenbr1):
ovs-vsctl set bridge xenbr0 sflow=$SFLOWUUID
ovs-vsctl set bridge xenbr1 sflow=$SFLOWUUID
A previous posting discussed the selection of sampling rates. Additional information can be found on the Open vSwitch web site.
See Open vSwitch for additional information on monitoring the vSwitch using sFlow.
Finally, sFlow monitoring of the vSwitches is part of an overall cloud performance monitoring strategy. The sFlow standard unifies cloud data center management by providing visibility into the physical network (see Multi-vendor support), virtual network (see Open vSwitch and Virtual routing), servers (see Cluster performance and Top servers), virtual servers (see Host sFlow) and storage (see Networked storage) to provide complete end-to-end visibility into cloud performance.