Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Compute Agent API Resources Overview

 

The Compute Agent (CA) API is a Web API that enables access to network application flow path emulation and analytics data collection functions of the CA component of Juniper Networks Cloud Analytics Engine. CA enables collection of application-specific network data by generating probes that emulate application traffic, which triggers per-hop traces of network activity on the devices along the application’s flow path. Subsequently, CA collates and stores resulting end-to-end flow path statistics from the devices, including data from encapsulated flows, enabling underlay-overlay correlation.

The CA API has resources with which you can:

  • Get information about the applications running in the network and learn which application flow paths are available to trace.

  • Request to start or stop application flow path data collection, or change flow data collection parameters for an active flow.

  • Retrieve collected flow path analytics data.

  • Get information about active flow data collections.

  • Request to start or stop encapsulated (tunnel) flow path data collection, or change data collection parameters for an active tunnel flow.

  • Retrieve collected tunnel flow path analytics data.

  • Get information about active tunnel flow data collections.

See Compute Agent API Quick Reference for the list of CA API resources by request name, which includes quick reference links to usage details.

In general, in the context of the functions of the CA API resources:

  • A flow is represented by an N-tuple identifying the end-to-end devices for which data is being collected, specifically, the following 5-tuple:

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

  • A tunnel represents an encapsulation type for a flow. CA supports the VXLAN encapsulation type. A tunnel is identified by all or part of the following 6-tuple:

    { VTEP source IP address, VTEP destination IP address, VXLAN network identifier, source port, source IP address of the application, destination IP address of the application }

  • Flow or tunnel CA API resource request parameters include the flow or tunnel identifier. Other required or optional parameters can be specified when starting or updating a flow data collection, such as setting sampling frequencies, mirroring, and bandwidth measurement options.

  • CA API resources support only transport protocols TCP and UDP—set and received as ’tcp’ (or ’TCP’) and ’udp’ (or ’UDP’) in request parameters and response data. Note, however, that response data might alternatively specify transport protocol values as the registered Internet Assigned Numbers Authority (IANA) protocol number (TCP=6, UDP=17). See the response data object descriptions to interpret the correct protocol value format when using API requests that include a transport protocol value.

  • Except for list/flow, all CA APIs also accept a non-standard HTTP header field Originator.

    • Specifying this field when starting a flow or tunnel flow tags it with an identifier string representing the authorized owner, and controls resource access when subsequent requests are made related to that flow.

    • If a request to access information about an active flow does not have the matching Originator field, the request is rejected with the error code E_UNAUTHORIZED (see list of all return codes next).

Numeric values of CA API request return codes are as follows:

  • EOK = 0

  • EAGAIN = 1

  • EFAIL = 2

  • E_UNAUTHORIZED = 3

  • E_AoF = 4