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,
|
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.
|
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
# 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.
- Using ssh, log into SD-WAN collector control plane node as
sevone.
$ ssh sevone@<SD-WAN collector 'control plane' node IP address or hostname>
- 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
- 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. - 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
- /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/
- 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.
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
Mapping a tunnel object
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
- This will automatically create the chained FlowFalcon for the selected object and the indicator
as shown in the image below.
Quick Chain Report
Object Type Indicator Optimization
- 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 |