SD-WAN Versa Collector Advanced Use-Case Guide

About

This document contains details on advanced configurations and use-case(s) after the Versa collector has been deployed. In addition to this, this document describes the optional configurations to be set from your SevOne NMS appliance you are sending SD-WAN collector data to. It also provides details on how to configure custom sites.

Advanced Configuration Settings

Variable Name Value Type Default Value Description
collectorConfig.agent.exclude Array of strings Array of agent names to exclude explicitly. This setting is additive with the include. If empty or unset, no agents are excluded.
collectorConfig.agent.include Array of strings Array of agent names to include explicitly. If empty or unset, all agents are included.
collectorConfig.agent.long_run_warning Duration 5m Time duration to warn of long running agents.
collectorConfig.collector_name String   Collector name for this instance.
collectorConfig.log.level String info Defines the log-level for the collector. Value can be info, debug, warning, or error.
collectorConfig.log.color Boolean false Set true to output logs with color.
collectorConfig.load_reports.disabled Boolean false Set true to not import TopN views and OOTB reports.
collectorConfig.nms.api.distribution_peer_list Array of integers Array of Peer IDs to distribute data. If the array is empty, data will be distributed to all peers.
collectorConfig.nms.api.insecure_tls_connection Boolean true Set true to enable insecure TLS connection by skipping certification verification. This is necessary for servers with self-signed server certificates.
collectorConfig.nms.api.port Integer 443 SOA API port.REST API port is internally set to 443 and cannot be changed.
collectorConfig.nms.api.timeout Duration 30s Timeout duration for NMS API requests.
collectorConfig.vendor.device_filter_regexes Array of strings Collect indicators for devices which are not in the regex list.
collectorConfig.vendor.cache_ttl Duration 24h TTL for appliance cache items.
collectorConfig.vendor.collect_octets Boolean false Set true to collect octets(bytes) data.
collectorConfig.vendor.collect_packets Boolean false Set true to collect packets data.
collectorConfig.vendor.director_api.insecure_tls_connection Boolean true Set true to enable insecure TLS connection by skipping certification verification. Please do not to enable this in a production environment.
collectorConfig.vendor.director_api.timeout Duration 30s API request timeout.
collectorConfig.vendor.director_api.url String Versa Director API URL. e.g. "https://server.example.com:9182"
collectorConfig.vendor.disable_device_ip_update Boolean false When set to true,
  • DeviceDescriptionAgent will refrain from updating the IP addresses of SevOne NMS devices.
  • Device flow mapping will use the device IPs provided during the device onboarding process.
When set to false,
  • DeviceDescriptionAgent will update the IP addresses.
  • Device flow mapping will rely on vDirector IPs.
collectorConfig.vendor.enable_provider_tenant_stats Boolean false Flag to enable collection of stats for provider tenant devices
collectorConfig.vendor.filtered_indicators_list Array of strings Array of filtered indicator names to collect. Omit collecting data for the optional indicators not in this list.
collectorConfig.vendor.flow.disable_interface_flow_objects_mapping Boolean false Flag to disable mapping of interface objects to flows.
collectorConfig.vendor.flow.disable_tunnel_flow_objects_mapping Boolean false Flag to disable mapping of tunnel objects to flows.
collectorConfig.vendor.tunnel_stat.number_of_sla_indicators_to_create Integer 0 Supports value 0, 1 or 3. When set to 0, no SLA indicator will be created. When set to 1, SLA indicator shows value either for NORMAL, DEGRADED, or NOVIABLE SLA class. If set to 3, shows values for all 3 SLA classes.
collectorConfig.vendor.unique_hostname_per_msp Boolean false Flag to determine whether to keep tenant name in Device name or not.
collectorConfig.vendor.flow.disable_interface_name_update Boolean false Disable flow interface name update.
collectorConfig.vendor.flow.disable_interface_speed_update Boolean false Disable flow interface speed update.
collectorConfig.vendor.metadata.disable_sla_constraints Boolean false Disable the collection of device metadata for SLA constraints such as, jitter, latency, and loss.
collectorConfig.vendor.tunnel_stat.indicator_cache_ttl String 5m TL for tunnel indicator cache.
collectorService.syslogReceiverPort Integer 50001 The port on which the collector listens for non-flow syslog data sent by Versa Analytics.
collectorService.nodeAffinity.values Array of string Define hostname where you want to deploy the collector.
prechecks.dnc.enabled Boolean true Flag to enable/disable DNC-related prechecks.
  • If set to true, all prechecks related to DNC will be executed.
  • If set to false, the following prechecks will be skipped.
    • Validate DNC IPs are part of the cluster
    • Check reachability to DNC
    • Check reachability to DNC IP address
vendor.analytics_api.listen_port integer 50001 The port on which the collector listens for non-flow syslog data sent by Versa Analytics.
flowAugmentorService.enabled Boolean true Flag to enable Flow Augmentor installation.
flowAugmentorService.receiverPort Integer 9992 The port on which Flow Augmentor listens for inbound flows. The port number can range from 9000 - 33000.
flowAugmentorConfig.log.level String info Defines the log-level for the flow augmentor. Value can be info , debug , warning , or error .
flowAugmentorConfig.destinations Array of objects An array of mappings of destination IP address to one or more packet source IP addresses. This is an optional mapping of DNC to source IP addresses.e.g. Configure two destinations like:ExampleflowAugmentorConfig:destinations:     - ip: 10.0.0.1          port: 9996          sources:      - ip: 10.0.0.2           port: 9996           sources:
flowAugmentorConfig.destinations.ip String Destination IP address of mapping.
flowAugmentorConfig.destinations.port Integer 9996 Destination port of mapping.
flowAugmentorConfig.destinations.sources Array of strings An array of packet source IP addresses of mapping.
flowAugmentorConfig.sender.ip String IP address of the NMS/DNC, where the augmented flows are sent.
flowAugmentorConfig.sender.port Integer 9996 Port of NMS/DNC, where the augmented flows are sent.
flowAugmentorConfig.decode.count Integer Defines the number of decode pods to run. If it is a single node cluster, set the count value to 1. In case of a multi-node cluster, the count value is (n-1). Where, n is the number of nodes in the k3s cluster.
flowAugmentorConfig.decode.receiverThreadCount Integer 2 Defines the number of parallel processing threads to receive flows.
flowAugmentorConfig.decode.decoderThreadCount Integer 3 Defines the number of parallel processing threads to process the flowmon logs.
flowAugmentorConfig.decode.senderThreadCount Integer 2 Defines the number of parallel processing threads to send flow packets to DNC.
flowAugmentorConfig.decode.flowIddecoderThreadCount Integer 3 Defines the number of parallel processing threads to process flowId logs.
flowAugmentorConfig.decode.enableFlowIdLog Boolean true Enable / Disable this flag to include/exclude flowId logs data (protocol & ICMPType) when creating flow packets. If disabled, it automatically sets the default value of 255 for protocol and unknown for ICMPType. It also increases the overall throughput from the flow augmentor (recommended in high scale environments).
flowAugmentorService.nodeAffinity.values Array of string Define hostname where you want to deploy augmentor.

Multi-vDirector Deployment

ISO Installation


Important: If you are a deploying SevOne Solutions from a .iso image, execute the following steps.

# install base packages
$ sudo /opt/SevOne/upgrade/freight/bin/freight deliver \
/opt/SevOne/upgrade/freight/packages/rhel8-update-*.el8.tgz
  
$ sudo yum upgrade -y --disablerepo=* --enablerepo=freight --skip-broken
  
$ sudo /opt/SevOne/upgrade/freight/bin/freight clean
  
# copy over the default ansible config
$ sudo cp -r /opt/SevOne/upgrade/ansible/playbooks/inventory/* /etc/ansible/

SD-WAN Multi-vDirector is the feature where multiple vDirectors are added in SevOne's Data Insight environment from where the:

  • vDirectors are able to monitor their own appliances
  • admin user(s) can view all the details of vDirector’s appliances

To deploy multiple vDirector on a fresh or existing setup, execute the following steps.

  1. Using ssh, log into SD-WAN collector control plane node as sevone.
    $ ssh sevone@<SD-WAN collector 'control plane' node IP address or hostname>
  2. Change directory to /etc/ansible/group_vars/all. By default, solutions.yaml file is available. For multi-vDirector, create a new file, solutions-2.yaml, in this directory.
    $ cd /etc/ansible/group_vars/all
    $ touch /etc/ansible/group_vars/all/solutions-2.yaml
  3. Using a text editor of your choice, edit /etc/ansible/group_vars/all/solutions-2.yaml to add the following in it and save the file.

    Example: solutions-2.yaml file for Versa collector

    $ vi /etc/ansible/group_vars/all/solutions-2.yaml
    
    app_solutions_2:
      chart: solutions-sdwan-viptela
      enabled: true
      name: solutions-sdwan-viptela-2
      namespace: default
    Note: SD-WAN collector runs as a helm chart deployed within the Kubernetes cluster. The helm chart is configured with a base set of configuration options that can be overwritten as needed.
  4. Copy /opt/SevOne/upgrade/utilities/example-solutions-sdwan-versa_config.yaml to /opt/SevOne/chartconfs/solutions-sdwan-versa-2_custom_guii.yaml.
    Important: In /opt/SevOne/chartconfs,
    The configuration file name extension can be .yaml or .yml. The pre-check and post-check scripts recognize and can consume both file extensions. Although all YAML files are accepted, it should be in the same frame as mentioned in /etc/ansible/group_vars/all/solution-2.yaml > name: <enter name>.

    The configuration file name must always be prefixed with solutions-sdwan-versa- (hypen only). For example,

    • solutions-sdwan-versa-2_config_custom_guii.<yaml / yml>

    Example

    $ cp /opt/SevOne/upgrade/utilities/example-solutions-sdwan-versa_config.yaml \
    /opt/SevOne/chartconfs/solutions-sdwan-versa-2_custom_guii.yaml
  5. /opt/SevOne/chartconfs/solutions-sdwan-versa-2_custom_guii.yaml contains the default (basic / minimum) configuration for Versa. To change the configuration settings, using a text editor of your choice, /opt/SevOne/chartconfs/solutions-sdwan-versa-2_custom_guii.yaml file must be updated and saved. For details on variables used in the .yaml file, please refer to SD-WAN Versa Collector Deployment / Configuration Guide > section Configuration.
    Important: In the case of multi-vDirector deployments, please maintain the difference of 1000 ports between the syslog and flow service ports of the deployments.

    For example, if the syslog port in solutions-sdwan-versa_custom_guii file is set to 50001, then the syslog port in solutions-sdwan-versa-2_custom_guii file must be set to 49001.

    Example: solutions-sdwan-versa_custom_guii.yaml

    ...
    ...
    
    collectorService:
      syslogReceiverPort: 50001
    ...
    ...
    flowAugmentorService:
      receiverPort: 9992
    ...
    ...

    Example: solutions-sdwan-versa-2_custom_guii.yaml

    ...
    ...
    
    collectorService:
      syslogReceiverPort: 49001
    ...
    ...
    flowAugmentorService:
      receiverPort: 10992
    ...
    ...
    vendor:
      analytics_api:
        listen_port: 49001
    ...
    ...
    Important: Example

    In solutions-sdwan-versa-2_config_custom_guii.yaml file, values denoted as base64 must be encoded as shown here.

    Generate username 'admin' in base64-encoded format

    $ echo -n "admin" | base64
    YWRtaW4=

    If username is admin, instead of using username: admin in the example configuration file above, use username: YWRtaW4=.

    If the password contains an exclamation mark (!), please use any online string to base64 converter tool (other than CLI) to convert the password into base64 format. For example, https://www.base64encode.org/

  6. Perform the pre-check of your environment, deploy the applications based on your configuration file, and run the post-check to ensure that the configuration file has been applied successfully. Ensure that there are no failures. Also, check the pods, services, and logs. For details, please refer to the steps related to these in SD-WAN Versa Collector Deployment / Configuration Guide > Installation > section using Command Line Interface.

Optional Configurations

Flow Device Mapping

The Device Mapping page enables you to map a SevOne device to a flow device.

By default, NMS automatically maps the SevOne device to the respective flow device if SevOne device IP and flow device IP match.

Versa SevOne Device IP Versa Flow Device IP

Users can also manually add a device mapping. Steps required to manually add a device mapping can be found in SevOne NMS System Administration Guide > section Map Flow Devices. After device mapping is done, users can generate FlowFalcon report for Device Group on the basis of Device mapping if the mapped device falls under a device group.

Object Mapping

The Object Mapping page enables you to map the indicators on the objects that plugins poll to a flow interface. This enables you to display a FlowFalcon report of the flow data that is related to the poll data from an indicator that appears in an Instant Graph.

Users can generate FlowFalcon report for Object Group on the basis of Object mapping. As of SDWAN Versa 2.8 release, the solution will create Object mappings by default for the SD-WAN Tunnel and SD-WAN Interface Objects. For any other objects, users will have to manually add the Object mappings. Steps required to manually add an object mapping can be found in SevOne NMS System Administration Guide > section Map Flow Objects.

The device interface or tunnel object indicator should be mapped to the appropriate direction Incoming/Outgoing.
Mapping a device interface object

Versa Device Interface Mapping

Mapping a tunnel object

Versa Tunnel Object Mapping

After adding the object mapping, the user is now able to quick chain the performance metrics report to the FlowFalcon report for the indicator. Follow the steps below to see the flows report for the mapped object and the indicator.

  • Navigate to Reports > Create Report. Select Performance Metrics.
  • Select appropriate Resources the same as the mapped object and the indicator.
  • Create the Performance Metrics report by clicking on Finish. A Performance Metrics report will be generated.
  • Click on the Setting icon on the top-right corner of the report. Select Chain > Quick Chain.
    Performance Metrics Report
    Versa Performance Metrics Chain
  • This will automatically create the chained FlowFalcon for the selected object and the indicator as shown in the image below.
    Quick Chain Report
    Versa Quick Chained Report

Object Type Indicator Optimization

Note:
  • kbps = kilobits per second
  • m = minutes
  • mbps = megabits per second
  • ms = milliseconds
  • sec = seconds
  • # = number
  • % = percent
  • default = Indicator is reported by default but can be turned off using the required config flags.
  • mandatory = Indicator is always reported and cannot be turned off.
  • optional = Indicator is not reported by default but can be turned on using the required config flags.
Indicators Units Description Indicator Type Controlled by Flag
SD-WAN Interface Object
bw_down mbps Indicates the capacity of down link to transmit maximum amount of data per second. mandatory n/a
bw_up mbps Indicates the capacity of up link to transmit maximum amount of data per second. mandatory n/a
interface_speed mbps Indicates the rate of data flowing through the interface. mandatory n/a
rx_errors

#

Indicates total number of error packets received through the interface. mandatory n/a
rx_kbps kbps Indicates total number of kilobits received in a second through the interface. mandatory n/a
tx_errors

#

Indicates total number of transmitted error packets through the interface. mandatory n/a
tx_kbps kbps Indicates total number of transmitted kilobits in a second through the interface. mandatory n/a
tx_pps

#

Indicates total number of transmitted packets per second through the interface. optional collectorConfig.vendor.filtered_indicators_list
rx_pps

#

Indicates total number of received packets per second through the interface. optional collectorConfig.vendor.filtered_indicators_list
total_mbps mbps Indicates total number of megabits transferred per second through the interface. optional collectorConfig.vendor.filtered_indicators_list
rx_octets bytes Indicates total number of bytes received through the interface. default collectorConfig.vendor.disable_collect_octets
tx_octets bytes Indicates total number of transmitted bytes through the interface. default collectorConfig.vendor.disable_collect_octets
rx_pkts

#

Indicates total number of packets received through the interface. optional collectorConfig.vendor.disable_collect_packets
tx_pkts

#

Indicates total number of transmitted packets through the interface. optional collectorConfig.vendor.disable_collect_packets
SD-WAN Interface Queue Object
tx_octets bytes Indicates total number of transmitted bytes at given time. default collectorConfig.vendor.disable_collect_octets
drop_octets bytes Indicates total number of dropped bytes at given time from the queue. optional collectorConfig.vendor.filtered_indicators_list
SD-WAN Tunnel Object
jitter ms Indicates variation in latency at given time. mandatory n/a
latency ms Indicates delay in transmitting data from one end to another end of tunnel. mandatory n/a
loss_percentage % Indicates packet loss in percentage with respect to total amount of packets sent. mandatory n/a
rx_utilization % Indicates percentage utilization of down link tunnel capacity. mandatory n/a
tx_utilization % Indicates percentage utilization of up link tunnel capacity. mandatory tx_utilization = (((tx_octets * 8) / 1000000) / (source_interface_speed)) * 100
destination_interface_speed mbps Indicates the rate of data flowing through the destination interface. optional collectorConfig.vendor.filtered_indicators_list
loss

#

Indicates total number of packets lost at given time. optional collectorConfig.vendor.filtered_indicators_list
source_interface_speed mbps Indicates the rate of data flowing through the source interface. optional collectorConfig.vendor.filtered_indicators_list
total_utilization % Indicates total percentage utilization of tunnel capacity. optional collectorConfig.vendor.filtered_indicators_list
rx_octets bytes Indicates total number of received bytes by destination interface at particular time. default collectorConfig.vendor.disable_collect_octets
tx_octets bytes Indicates total number of transmitted bytes by source interface at particular time. default collectorConfig.vendor.disable_collect_octets
tunnel_sla_degradation % Indicates degradation in the used SLA class in the tunnel over time.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-1. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_network_control

#

Indicates whether SLA class in use in the tunnel at the instant is network control.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-1. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_best_effort

#

Indicates whether SLA class in use in the tunnel at the instant is network control.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-1. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_expedited_forwarding

#

Indicates whether SLA class in use in the tunnel at the instant is expedited forwarding.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-1. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_assured_forwarding

#

Indicates whether SLA class in use in the tunnel at the instant is assured forwarding.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-1. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_network_control_normal % Indicates whether SLA class in use in the tunnel at the instant is network control is normal.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_network_control_degraded % Indicates whether SLA class in use in the tunnel at the instant is network control is degraded.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_network_control_no_viable % Indicates whether SLA class in use in the tunnel at the instant is network control is no viable.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_best_effort_normal % Indicates whether SLA class in use in the tunnel at the instant is best effort is normal.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_best_effort_degraded % Indicates whether SLA class in use in the tunnel at the instant is best effort is degraded.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_best_effort_no_viable % Indicates whether SLA class in use in the tunnel at the instant is best effort is no viable.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_expedited_forwarding_normal % Indicates whether SLA class in use in the tunnel at the instant is expedited forwarding is normal.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_expedited_forwarding_degraded % Indicates whether SLA class in use in the tunnel at the instant is expedited forwarding is degraded.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_expedited_forwarding_no_viable % Indicates whether SLA class in use in the tunnel at the instant is expedited forwarding is no viable.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_assured_forwarding_normal % Indicates whether SLA class in use in the tunnel at the instant is assured forwarding is normal.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_assured_forwarding_degraded % Indicates whether SLA class in use in the tunnel at the instant is assured forwarding is degraded.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
forwarding_class_assured_forwarding_no_viable % Indicates whether SLA class in use in the tunnel at the instant is assured forwarding is no viable.NOTE: Sent only if collectorConfig.vendor.number_of_sla_indicators_to_create is set to true-3. default collectorConfig.vendor.number_of_sla_indicators_to_create
SD-WAN Device Health Object
cpu_utilization % Indicates the percentage usage of device cpu. mandatory n/a
disk_utiization % Indicates the percentage usage of device disk. mandatory n/a
memory_utilization % Indicates the percentage usage of device memory. mandatory n/a
Self-monitoring Indicators
CPU usage user sec Indicates the usage by collector of device cpu. optional collectorConfig.vendor.filtered_indicators_list
CPU usage system sec Indicates the system usage by collector of device cpu. optional collectorConfig.vendor.filtered_indicators_list
Memory usage bytes Indicates the memory usage by the collector. optional collectorConfig.vendor.filtered_indicators_list
REST API Transport
Data Messages Sent

#

Indicates the data messages sent by the collector using the REST API transport. optional collectorConfig.vendor.filtered_indicators_list
Messages Sent

#

Indicates the messages sent by the collector using the REST API transport. optional collectorConfig.vendor.filtered_indicators_list