Skip to content

VeloCloud Integration Service

ZenPacks.zenoss.PS.VeloCloud

Subscription

This integration is a subscription-based Professional Services engagement. Our Integration Services are offered as subscriptions in order to provide initial setup and ongoing compatibility and maintenance. All standard packages are renewable every 12 months from the date of purchase. Contact Zenoss to request more information regarding this or any other ZenPacks.

Prerequisites

Prerequisite Restriction
Product Zenoss 6.6 or higher
Required ZenPacks ZenPacks.zenoss.PythonCollector 1.11.0 or higher
ZenPacks.zenoss.ZenPackLib 2.1.2 or higher
ZenPacks.zenoss.PS.Util 1.12.2 or higher

Sources of Data Used for this ZenPack

The ZenPack uses the VeloCloud API for all communications.

VeloCloud API V1

The V1 VeloCloud API (VMware SD-WAN Orchestrator API v1) is the API used by the VeloCloud Orchestrator UI. It is a direct wrapper on an underlying JSON RPC API.

VeloCloud API V2

The V2 VeloCloud API (VMware SD-WAN Orchestration API v2) is a REST API. It is mostly a wrapper on the same JSON RPC API as the V1 API. Not all calls have yet been added to the V2 API, so the ZenPack will still use the V1 API for some calls.

On Orchestrators running software version 5.0.0.0 or newer, the V2 VeloCloud API is accessible over HTTPS via the /api/sdwan/v2 URL base path.

For all earlier Orchestrator software releases, the /sdwan base path must be used.

The ZenPack will discover and use an appropriate base path. If the software is updated to 5.0.0.0 version of newer the ZenPack will use appropriate base path. If the software is downgraded to a version lower than 5.0.0.0 you will need to hit the "Reset V2 VeloCloud API Base Path" button on the device Overview panel, then the ZenPack will discover and use an appropriate base path.

Configuration and Adding Orchestrator Devices

Add a VeloCloud Orchestrator device in Zenoss under the "/Network/VeloCloud" device class. Use the option "Add VeloCloud Orchestrator..." in add device button on the Infrastructure page. The name for the device is not used directly for modeling or polling, so can be set to any unique value.

You will need to enter the server URL (zVeloCloudServerUrl), the API token (zVeloCloudApiToken), and you can optionally enter a list of enterprise IDs to poll (zVeloCloudEnterpriseIds), the latter option only works with a partner deployment type.

If you leave that list blank, it will discover all enterprises that the API token gives it access to.

If the API token was created by a customer (enterprise) admin user, the ZenPack will only have access to that enterprise.

If the API key was created by a partner admin user, it will have access to whatever enterprises that user has access to.

If you change the deployment type you need to set a new API token (zVeloCloudApiToken).

HTTP Proxy Configuration

If use of an HTTP Proxy is required to communicate with the VeloCloud API, the following zProperties will be used.

zHttpProxyHost
Hostname or IP of the Proxy. If blank, no proxy will be configured.
zHttpProxyPort
TCP Port of the Proxy.
zHttpProxyUser
Username for Basic Authentication.
zHttpProxyPassword
Password for Basic Authentication.

Monitoring Delay (zVeloCloudMonitoringDelay)

The VeloCloud Orchestrator exposes time series metrics (see the table below) via various API methods that accept query intervals. By default, Edges report new statistics to the Orchestrator every five minutes. Due to various factors (clock drift, network jitter, server-side processing delays), statistics associated with a given interval beginning at time t are often not reflected in API output until time t + 10 minutes. zVeloCloudMonitoringDelay zProperty is the time period in seconds that monitor plugins use to compensate these 10 minutes (monitor plugins do not poll time series metrics for recent 10 minutes). As such, we do not recommend setting the zVeloCloudMonitoringDelay zProperty smaller than 600 (10 minutes). In case of generating events for components with missing time series metrics it might be helpful to increase zVeloCloudMonitoringDelay (assuming that processing a huge amount of data by the API server may take more than 10 minutes).

Time series metrics

Component name Metric name
Edge cpuPct, memoryPct, flowCount, handoffQueueDrops, tunnelCount, tunnelCountV6
Link scoreTx, scoreRx, bestJitterMsRx, bestJitterMsTx, bestLatencyMsRx, bestLatencyMsTx, bestLossPctRx, bestLossPctTx, totalBytes, totalPackets, bytesTx, bytesRx, packetsTx, packetsRx

Modeling

The following modeler plugins are provided for Orchestrator Devices.

zenoss.http.VeloCloudEntityMap
Models next components: Enterprises, Edges, Sites, Links.

Monitoring

The following monitor plugins are provided for Orchestrator Devices.

VeloCloudEdgePlugin
Monitors the Edge components.
VeloCloudLinkPlugin
Monitors the Link components.

Events

There are "Edge State" and "Link State and Mode" status thresholds that generate status events.

VeloCloudEdgePlugin and VeloCloudLinkPlugin monitor plugins generate events per component with missing metric values (the values that are missing in the http response). If no missing metric values the clear event is generated. If there are missing metric values the severity of the event depends on the "indicating state" of corresponding component. For the Edge component the "indicating state" is the edge state metric value. For the Link component the "indicating state" is the combination of the link state and link mode metric values. If the "indicating state" of the component (which is also a metric value or a combination of metric values) is missing then the warning event is generated.

Edge events severity mapping

Edge state Status event severity Missing values event severity (if missing values)
NEVER_ACTIVATED Error (4) Clear (0)
DEGRADED Error (4) Clear (0)
OFFLINE Error (4) Clear (0)
DISABLED Error (4) Clear (0)
EXPIRED Error (4) Clear (0)
CONNECTED Clear (0) Warning (3)

Link events severity mapping for the missing values event (MVE) if missing values, and the status event (SE)

Link mode ACTIVE BACKUP HOTSTANDBY
Link state
UNKNOWN SE - Error (4) SE - Clear (0) SE - Error (4)
MVE - Clear (0) MVE - Clear (0) MVE - Clear (0)
STABLE SE - Clear (0) SE - Clear (0) SE - Clear (0)
MVE - Warning (3) MVE - Clear (0) MVE - Warning (3)
UNSTABLE SE - Error (4) SE - Clear (0) SE - Error (4)
MVE - Clear (0) MVE - Clear (0) MVE - Clear (0)
DISCONNECTED SE - Error (4) SE - Clear (0) SE - Error (4)
MVE - Clear (0) MVE - Clear (0) MVE - Clear (0)
QUIET SE - Error (4) SE - Clear (0) SE - Error (4)
MVE - Clear (0) MVE - Clear (0) MVE - Clear (0)
INITIAL SE - Error (4) SE - Clear (0) SE - Error (4)
MVE - Clear (0) MVE - Clear (0) MVE - Clear (0)
STANDBY SE - Clear (0) SE - Clear (0) SE - Clear (0)
MVE - Warning (3) MVE - Clear (0) MVE - Warning (3)

zProperties

The list of zProperties that are used by the VeloCloud ZenPack.

  • zVeloCloudServerUrl - VeloCloud server url
  • zVeloCloudValidateSSLCert - validate SSL Certificate
  • zVeloCloudApiToken - API token
  • zVeloCloudEnterpriseIds - The list of Enterprise Logical IDs to discover. Discover all if empty. Works with Partner account type.
  • zVeloCloudResponseTimeout - timeout in seconds to wait for API response
  • zVeloCloudMonitoringDelay - delay in seconds for a time series data (need to wait for the API to expose it)
  • zHttpProxyHost - hostname or IP of the Proxy
  • zHttpProxyPort - TCP Port of the Proxy
  • zHttpProxyUser - username for Basic Authentication
  • zHttpProxyPassword - password for Basic Authentication

Changelog

1.0.0 Initial release