Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Subscribing to and Unsubscribing from DLE Flow Path Data Streaming

 

Starting in Junos OS Release 14.1X53-D30, the Data Learning Engine (DLE) component of Cloud Analytics Engine supports streaming of active flow data to subscribed clients.

Use the DLE flow data subscription APIs as follows to:

  • Subscribe to DLE’s flow data streaming service and automatically receive flow data for all flows being traced by DLE.

  • Unsubscribe from the DLE flow data streaming service.

DLE streams the flow path data to subscription service clients in the same format received from CA, as described in the CA data/flow and data/tunnel API response data object.

POST /api/v1/subscription/subscribeAll

Use this DLE API request to subscribe to the DLE flow data streaming service, which enables clients to automatically receive bulk CA flow path analytics data for all flows being traced by DLE. DLE collects and streams the response data returned from CA, in JSON format (see Flow Path Response Data Object—the same flow path data objects returned from CA data/flow and data/tunnel API requests).

Request Format:

  • POST method.

Request Parameters :

  • receiverIP: (String) IP address of the receiver to which DLE will stream collected flow data. Required parameter.

  • receiverPort: (Numeric, Integer) Receiver port number. Required parameter.

Response Data:

  • Unique subscription ID that DLE associates with the given receiverIP and receiverPort to maintain the list of active subscriptions. Specify this value as the subscriberId parameter when subsequently requesting to unsubscribe (see DELETE /api/v1/subscription/unsubscribe).

Example Request (POST method):

http://localhost:8282/api/v1/subscription/subscribeAll?receiverIP=192.168.1.1&receiverPort=2000

Response:

192.168.1.1:2000@15645677

DELETE /api/v1/subscription/unsubscribe

Use this DLE API request to unsubscribe from the DLE flow data streaming service, and stop automatically receiving bulk CA flow path analytics data for flows being traced by DLE. This request requires the subscription ID returned by the original request to subscribe to the service (see POST /api/v1/subscription/subscribeAll).

Request Format:

  • DELETE method.

Request Parameters:

  • subscriberId: (String) Subscription ID of the subscription to stop. Required parameter.

Response Data:

  • Status of request: (Boolean) true if client was successfully unsubscribed, and false otherwise.

Example Request (DELETE method):

http://localhost:8282/api/v1/subscription/unsubscribe?subscriberId=192.168.1.1:2000@15645677

Response:

true

Flow Path Response Data Object

Table 1 lists the elements in the response data object (JSON format) for requests to retrieve CA flow path analytics data. See GET data/flow Resource and GET data/tunnel Resource, which describe the CA API resource requests that return this data.

Note that the Cloud Analytics Engine DLE component collects, stores, and processes this data as a client of CA data/flow and data/tunnel resources, and supports an analytics data subscription service that can stream this CA flow path data in bulk directly to subscribed DLE clients. See POST /api/v1/subscription/subscribeAll for details on the DLE API you can use to subscribe to this service to receive this data automatically.

Table 1: Flow Path Analytics Data JSON Response Object

Element Name

Description

Path

Path data object that contains statistics from the devices in the flow path, containing the elements listed in Table 2.

ID

A 5-tuple in JSON format identifying the flow or tunnel flow. The tuple values are as follows, in the order shown:

  • For non-overlay (data/flow resource):

    {source IP address, destination IP address, protocol, source port, destination port}

  • For overlay (data/tunnel resource):

    {VTEP source IP address, VTEP destination IP address, VXLAN ID, application source IP address, application destination IP address}

Time

(Numeric) Time (epoch time in seconds) when the probe run for the flow was started.

Table 2 lists the elements in the Path data object of flow path data responses.

Table 2: Flow Path Analytics JSON Response Data: Path Object Elements

Element Name

Description

HOP

(Numeric) Number identifying the position of node in the path.

DevMEMUtil

(Numeric, decimal) Memory utilization of the node expressed as a percentage.

DevCPUUtil

(Numeric, decimal) CPU utilization of the node expressed as a percentage.

Bandwidth_Counter

(Numeric) Counter to track the flow packet count at the node.

Bandwidth_ID

(Numeric) Bandwidth measurement ID to track reset of bandwidth filters.

Latency

(Numeric, decimal) Latency for the node from CA server.

DevName

(String) Node name.

DevSerialID

(String) Node serial id.

TIMESTAMP

Timestamp object representing the time at which flow packet was received at the node. See Table 3.

IngressIFLAttribute

Ingress Logical Interface Attribute data object. See Table 4.

EgressIFLAttribute

Egress Logical Interface Attribute data object. See Table 5.

Table 3 lists the elements in the Timestamp data object of the Path data object in flow path data responses.

Table 3: Flow Path Analytics JSON Response Data: Timestamp Object Elements

Element Name

Description

TimeStamp

(Numeric) Seconds portion of the timestamp.

TimeStamp_usec

(Numeric) Microseconds portion of the timestamp.

Type

(String) Timestamp type. Accepted values are “PTP”, “LCPU” or “NTP”.

Table 4 lists the elements in the Ingress Logical Interface Attribute data object, part of the Path data object of flow path data responses.

Table 4: Flow Path Analytics JSON Response Data: Ingress Logical Interface Attribute Object Elements

Element Name

Description

IFLList

List of Logical Interface data objects. See Table 8.

Table 5 lists the elements in the Egress Logical Interface Attribute data object, part of the Path data object of flow path data responses.

Table 5: Flow Path Analytics JSON Response Data: Egress Logical Interface Attribute Object Elements

Element Name

Description

L3Ecmp

Layer 3 ECMP data object. See Table 6.

Table 6 lists the elements in the Layer 3 ECMP data object in the Egress Logical Interface Attribute data object (part of the Path data object) in flow path data responses.

Table 6: Flow Path Analytics JSON Response Data: Layer 3 ECMP Object Elements

Element Name

Description

IFLList

List of Logical Interface data objects. See Table 8.

NumBuckets

(Numeric) Number of buckets in the ECMP.

L2EcmpList

List of Layer 2 ECMP data objects. See Table 7.

Table 7 lists the elements in the Layer 2 ECMP List data object within the Layer 3 ECMP data object of flow path data responses.

Table 7: Flow Path Analytics JSON Response Data: Layer 2 ECMP List Object Elements

Element Name

Description

AE_IFL_NAME

(String) Aggregated logical interface name.

NumBuckets

(Numeric) Number of buckets in the ECMP.

IFLList

List of Logical Interface data objects. See Table 8.

Table 8 lists the elements in the Logical Interface data object (part of the Layer 2 ECMP and Layer 3 ECMP data objects) of flow path data responses.

Table 8: Flow Path Analytics JSON Response Data: Logical Interface Object Elements

Element Name

Description

IFLName

(String) Interface name.

IFLStats

Interface Packet Statistics data object. See Table 9.

Table 9 lists the elements in the Interface Packet Statistics data object (part of the Logical Interface data object) of flow path data responses.

Table 9: Flow Path Analytics JSON Response Data: Interface Packet Statistics Object Elements

Element Name

Description

TX_PKTS

(Numeric) Total transmitted (Tx) packets on the interface.

RX_PKTS

(Numeric) Total received (Rx) packets on the interface.

TX_UCPKTS

(Numeric) Total number of egress/transmitted unicast packets on the interface.

RX_UCPKTS

(Numeric) Total number of ingress/received unicast packets on the interface.

TX_BCPKTS

(Numeric) Total number of outgoing broadcast packets.

RX_BCPKTS

(Numeric) Total number of incoming broadcast packets.

TX_MCPKTS

(Numeric) Total outgoing multicast packets.

RX_MCPKTS

(Numeric) Total incoming multicast packets.

TX_PPS

(Numeric) Transmit bandwidth (packets per second).

RX_PPS

(Numeric) Receive bandwidth (packets per second).

TX_CRCERROR

(Numeric) Total CRC align errors while transmitting.

RX_CRCERROR

(Numeric) Total CRC align errors while receiving.

TX_DROPPKT

(Numeric) Cumulative Tx packet drop in all the queues for the interface.

RX_DROPPKT

(Numeric) Ingress Rx packet drops on the interface. This could be due to a buffer full condition.

TX_BYTES

(Numeric) Total transmit bytes.

RX_BYTES

(Numeric) Total receive bytes.

TX_BW

(Numeric) Transmit bandwidth (bytes per second), the average rate at which packet bytes are transmitted.

RX_BW

(Numeric) Receive bandwidth (bytes per second), the average rate at which packet bytes are received.

Release History Table
Release
Description
Starting in Junos OS Release 14.1X53-D30, the Data Learning Engine (DLE) component of Cloud Analytics Engine supports streaming of active flow data to subscribed clients.