Network Analytics Overview
The network analytics feature provides visibility into the performance and behavior of the data center infrastructure. This feature collects data from the switch, analyzes the data using sophisticated algorithms, and captures the results in reports. Network administrators can use the reports to help troubleshoot problems, make decisions, and adjust resources as needed. The analytics manager (analyticsm) in the Packet Forwarding Engine collects traffic and queue statistics, and the analytics daemon (analyticsd) in the Routing Engine analyzes the data and generates reports. You can enable network analytics by configuring microburst monitoring and high-frequency traffic statistics monitoring.
![]() | Note: In Junos OS Release 13.2X51-D15, the network analytics feature has been enhanced, and extensive changes have been made to the CLI statements and hierarchies. If you upgrade to Junos OS Release 13.2X51-D15, network analytics configurations committed in previous releases will appear on your device, but the feature is disabled. To enable this feature, you must reconfigure it using the new CLI statements and hierarchies. |
For more information, see:
Analytics Feature Overview
You enable network analytics by configuring queue (microburst) monitoring and high-frequency traffic statistics monitoring.You use microburst monitoring to look at traffic queue conditions in the network. A microburst occurrence indicates to the Packet Forwarding Engine that a user-specified queue depth or latency threshold is reached. The queue depth is the buffer (in bytes) containing the data, and latency is the time (in nanoseconds or microseconds) the data stays in the queue.
You can configure queue monitoring based on either queue depth or latency (but not both), and configure the frequency (polling interval) at which the Packet Forwarding Engine checks for microbursts and sends the data to the Routing Engine for processing. You may configure queue monitoring globally for all physical interfaces on the system, or for a specific interface on the switch. However, the specified queue monitoring interval applies either to all interfaces, or none; you cannot configure the interval for each interface.
You use high-frequency traffic statistics monitoring to collect traffic statistics at specified polling intervals. Similar to the queue monitoring interval, the traffic monitoring interval applies either to all interfaces, or none; you cannot configure the interval for each interface.
Both traffic and queue monitoring are disabled by default. You must configure each type of monitoring using the CLI. In each case, the configuration for an interface always takes precedence over the global configuration.
![]() | Note: You can configure traffic and queue monitoring for physical interfaces only; logical interfaces and Virtual Chassis port (VCP) interfaces are not supported. |
The analyticsd daemon in the Routing Engine generates local log files containing queue and traffic statistics records. You can specify the log filename and size, and the number of log files. If you do not configure a filename, the data is not saved.
You can display the local log file or specify a server to receive the streaming data containing the queue and traffic statistics.
For each port, information for the last 10 records of traffic statistics and 100 records of queue statistics is cached. You may view this information by using the show analytics commands.
To store traceoptions data, you configure the traceoptions statement at the [edit services analytics] hierarchy level.
Network Analytics Enhancements Overview
Beginning in Junos OS Release 13.2X51-D15, the network analytics feature provides the following enhancements:
- Resources—Consist of interfaces and system. The interfaces resource allows you to configure an interface name and an associated resource profile name for each interface. With the system resource, you can configure the polling intervals for queue monitoring and traffic monitoring, and an associated resource profile for the system.
- Resource profile—A template that contains the configurations for queue and traffic monitoring, such as depth threshold and latency threshold values, and whether each type of monitoring is enabled or disabled. Once a resource profile is configured, you apply it to a system or interfaces resource.
- Collector—A server for collecting queue and traffic monitoring statistics, and can be a local or remote server. You can configure a local server to store monitoring statistics in a log file, or a remote server to receive streamed statistics data.
- Export profile—You must configure an export profile if you wish to send streaming data to a remote collector. In the export profile, you define the category of streamed data (system-wide or interface-specific) to determine stream type the collector will receive. You can specify both system and interface stream categories. System data includes system information and status of queue and traffic monitoring. Interface-specific data includes interface information, queue and traffic statistics, and link, queue, and traffic status.
- Google Protocol Buffer (GBP) stream format—A new
streaming format for monitoring statistics data that is sent to a
remote collector in a single AnRecord message. This stream format
provides nine types of information, including:
- System information—General system information, including boot time, model information, serial number, number of ports, and so on.
- System queue status—Queue status for the system in general.
- System traffic status—Traffic status for the system in general.
- Interface information—Includes SNMP index, slot, port, and other information.
- Queue statistics for interfaces—Queue statistics for specific interfaces.
- Traffic statistics for interfaces—Traffic statistics for specific interfaces.
- Link status for interfaces—Includes link speed, state, and so on.
- Queue status for interfaces—Queue status for specific interfaces.
- Traffic status for interfaces—Traffic status for specific interfaces.
- The
analytics.proto
file—Provides a template for the GBP stream format. This file can be used for writing your analytics server application. To download the file, go to:https://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/proto-files/analytics-proto.txt
- Use of threshold values—The Analytics Manager (analyticsm) will generate a queue statistics record when the lower queue depth or latency threshold value is exceeded.
- User Datagram Protocol (UDP)—Additional transport protocol you can configure, in addition to Transmission Control Protocol (TCP), for the remote streaming server port.
- Single file for local logging—Replaces the separate log files for queue and traffic statistics.
- Change in latency measurement—Configuration and reporting of latency values have changed from microseconds to nanoseconds.
- Change in reporting of the collection time in UTC format—Statistics collection time is reported in microseconds instead of milliseconds.
- New operational mode command show analytics collector—Replaces the show analytics streaming-server command.
- Changes in command output format—Include the following
changes:
- Addition of unicast, multicast, and broadcast packet counters in queue and traffic statistics.
- Reversal of the sequence of statistics information in the output. The most recent record is displayed at the beginning, and the oldest record at the end of the output.
- Removal of traffic or queue monitoring status information from the global portion of the show analytics configuration and show analytics status command output if there is no global configuration.
- Addition of n/a to the interface-specific portion of the show analytics configuration and show analytics status command output if a parameter is not configured (for example, depth threshold or latency threshold).
Summary of CLI Changes
Beginning in Junos OS Release 13.2X51-D15, enhancements to the network analytics feature result in changes in the CLI when you configure the feature. See Table 1 for a summary of CLI changes.
Table 1: Network Analytics CLI Changes
Task | CLI for Junos OS Release 13.2X50-D15 and 13.2X51-D10 | CLI for Junos OS Release 13.2X51-D15 and later |
---|---|---|
Configuring global queue and traffic monitoring polling interval | [edit services analytics] traffic-statistics {interval interval;} queue-statistics {interval interval;} | [edit services analytics] resource {system {polling-interval {queue-monitoring interval;traffic-monitoring interval;}}} |
Configuring local files for traffic and queue statistics reporting | [edit services analytics] traffic-statistics {file filename;size size;files number;} queue-statistics {file filename;size size;files number;} | [edit services analytics] collector {local {file filename {files number;size size;}}} |
Enabling queue statistics and traffic monitoring, and specifying the depth threshold for all interfaces (globally) | [edit services analytics] interfaces {all {queue-statistics;traffic-statistics;depth-threshold {high number;low number;}}} | Requires defining a resource profile and applying it to the system:
|
Enabling queue statistics and traffic monitoring, and specifying the latency threshold for one interface | [edit services analytics] interfaces {interface{queue-statistics;traffic-statistics;latency-thresholdhigh number;low number;}} | Requires defining a resource profile and applying it to the interface:
|
Configuring the streaming data format (JSON, CSV, or TSV) to send to a remote server Note: Junos OS Release 13.2X51-D15 adds support for the GPB stream format and configuration of the transport protocols (TCP or UDP). | [edit services analytics] streaming-servers {address ip-address {port number {stream-format format;}}} | Requires defining the stream format in an export profile and applying the profile to the collector.
|
Configuring the streaming message types (queue or traffic statistics) to send to a remote server | [edit services analytics] streaming-servers {address ip-address {port number {stream-type type;stream-type type;}}} | Requires defining an export profile and applying it to the collector:
|
Configuring the transport protocol for sending streaming data to an external server | No configuration is available. Only the TCP protocol is supported. | Configuration is available. Both TCP and UDP protocols are supported, and can be configured for the same port. [edit services analytics] collector {address ip-address {port number1 {transport tcp;transport udp;}port number2 {transport udp;}}} |
Show information about remote streaming server or collector | Issue the show analytics streaming-sever command. | Issue the show analytics collector command. |