How to Configure Real-time Performance Monitoring in Junos

By Walter J. Goralski, Cathy Gadecki, Michael Bushong

The Junos OS supports a tool called real-time performance monitoring (RPM). RPM essentially is a set of tests, run periodically, that help you measure the latency between two devices on a network.

RPM works only if the two devices you’re measuring both run the Junos OS.

When RPM is enabled, your router generates a series of probes that are sent to the target device. These probes are time-stamped when they’re sent. When the target device receives the probes, it generates a response and sends that response back to the sender. By measuring the time between sending the probe and receiving the response, your router can tell you what the round-trip time is between the two devices.

This send/receive process is repeated for each probe within a test. By averaging the times over some sample, you can get a better idea of what the average time is across the network. Then these tests are run between fixed intervals to provide you with information about average latency over time.

For Layer 2 devices such as switches, the Junos OS supports standards for using a form of RPM over Ethernet links.

To configure RPM on your network, you need to decide on a few things. First, you have to figure out where you want to do the measurement. You need to select two points in the network that will provide meaningful data.

image0.jpg

Application servers are connected to router1. Ultimately, this traffic is transmitted via VPN through router5 to your service provider (and eventually back to some headquarters). In this case, you want to measure the latency between router1 and router5. Any increase in latency may potentially impact the application data (such as packetized voice or video) being routed between those nodes.

Here’s how you configure this test:

[edit services]
rpm {
  probe app-server-network {
   test icmp-test {
     probe-type icmp-ping-timestamp;
     target address 192.168.24.1;
     probe-count 15;
     probe-interval 1;
     test-interval 600;
   }
  }
}

This configuration defines an RPM test for the app-server-network. The probe owner in this case is really just a name so that you can quickly see what the test is for. Typically, you name the probe owner after whatever network you’re testing (in this case, the application server network).

Most of the RPM configuration is done within an RPM test configuration stanza. Name the test something intuitive (in this case, it’s named icmp-test). Then you have to configure the test details.

ICMP ping probes are easy to configure and generally provide enough information to diagnose latency issues in your network. The more experienced user can use TCP or UDP probes, but they require the configuration of the remote end to act as a probe server. If you use ICMP packets, the device already knows how to respond (all IP devices must understand ICMP pings), and the configuration is simpler.

Configure the target address as the loopback address of the remote device (in this case, the loopback address on router5).

You must also configure the number of probes in each test, the length of time between probes, and the length of time between tests. Juniper recommends configuring between 10 and 20 probes at one-second intervals. This particular test is going to run every ten minutes.