9.6. Analyzing and Monitoring Network Connectivity
9.6.1. Introducing Skydive
Skydive can be used to monitor logical networks, including Open Virtual Networks (OVN) that have been defined as an External Network Provider. Skydive provides a live view of your network topology, dependencies, and flows, generates reports, and performs configuration audits.
You can use the data presented by Skydive to:
- Detect packet loss
- Check that your deployment is working correctly, by capturing a cluster’s network topology, including bridges and interfaces
- Review whether the expected MTU settings are correctly applied
- Capture network traffic between virtual machines or between virtual machines and hosts
For more information about Skydive’s feature set, see http://skydive.network.
Skydive is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information on Red Hat Technology Preview features support scope, see https://access.redhat.com/support/offerings/techpreview/.
9.6.2. Installing Skydive
Procedure
Install skydive-ansible on the Manager machine:
# yum --disablerepo="*" --enablerepo="rhel-7-server-rpms,rhel-7-server-extras-rpms,rhel-7-server-rh-common-rpms,rhel-7-server-openstack-14-rpms" install skydive-ansible
-
Copy
/usr/share/ovirt-engine/playbooks/install-skydive.inventory.sample
to the current directory and rename it toinventory
. Modify the
inventory/01_hosts
file as follows (see below for full contents):- Update skydive_os_auth_url with the Manager’s FQDN. This is used by the OVN, which uses the same FQDN as the Manager.
-
Update ovn_provider_username with the username used for the OVN provider. The default is defined in
/etc/ovirt-provider-ovn/ovirt-provider-ovn.conf
. - Update ovn_provider_password.
Under [agents:children] <host_group> define the hosts, clusters, or data center on which you are installing the Skydive agents.
You can view a list of valid groups by running:
/usr/share/ovirt-engine-metrics/bin/ovirt-engine-hosts-ansible-inventory | python -m json.tool
NoteThere is no need to list each host explicitly. To install the agent on all hosts in the cluster, add ovirt_cluster_Default. Alternatively, to install the agent on all hosts in the data center, add ovirt_datacenter_Default.
Sample Inventory File
[agents] [analyzers] [skydive:children] analyzers agents [skydive:vars] skydive_listen_ip=0.0.0.0 skydive_deployment_mode=package skydive_extra_config={'agent.topology.probes': ['ovsdb', 'neutron'], 'agent.topology.neutron.ssl_insecure': true} skydive_fabric_default_interface=ovirtmgmt skydive_os_auth_url=https://MANAGERS_FQDN:35357/v2.0 skydive_os_service_username=ovn_provider_username skydive_os_service_password=ovn_provider_password skydive_os_service_tenant_name=service skydive_os_service_domain_name=Default skydive_os_service_region_name=RegionOne [agents:vars] ansible_ssh_private_key_file=/etc/pki/ovirt-engine/keys/engine_id_rsa [agents:children] host_group [analyzers] localhost ansible_connection=local
Run the playbook:
# ansible-playbook -i inventory /usr/share/ovirt-engine/playbooks/install-skydive.yml /usr/share/skydive-ansible/playbook.yml.sample
Verify that Skydive recognizes the virtual machine’s port by going to http://MANAGERS_FQDN:8082, selecting a virtual machine, and checking the following fields in the Metadata section of the Capture tab:
- Manager: Neutron
- NetworkName: network_name
- IPV4: IP_address, if a subnet is used
See Section 9.6.3, “Using Skydive to Test Network Connection” to view an example of how you can use Skydive to capture your network’s activity.
9.6.3. Using Skydive to Test Network Connection
This example tests the connection between two hosts that have NICs with IPv4 addresses. The NICs are connected to a logical network that is tagged as VLAN 4. For information on assigning an IP address to a logical network, see Section 9.4.2, “Editing Host Network Interfaces and Assigning Logical Networks to Hosts”.
Procedure
- Install Skydive.
- Open Skydive from http://MANAGERS_FQDN:8082.
- Select network_4 on rhv-host1 in the network map.
- Click Create in the Capture tab and click Start.
- Repeat the previous steps for network_4 on rhv-host0.
- Click the Generate tab.
- Select eth0 on rhv-host0 as the Source and eth0 on rhv-host1 as the Destination.
- Select ICMPv4/Echo Request from the Type drop-down list.
- Click Inject to inject a packet.
- Open the Flows tab. The results of the ping are displayed in a table. If the ping was successful, a row containing ICMPv4 and the source and destination IP addresses is displayed. When you move your cursor over that row, network_4 is highlighted with a yellow circle on the network map.
For more information on using Skydive, see the Skydive documentation.
For installation is :Testing!: