The proNX Optical Director software comes packaged with Grafana, a popular open platform used for analytics. You can use Grafana to query and visualize performance monitoring metrics from the proNX Optical Director’s historical PM database to debug issues and observe trends on devices and links in your network.
The proNX Optical Director collects performance monitoring metrics from managed devices and stores the metrics in the proNX Optical Director’s historical PM database. Performance monitoring metrics include a variety of counts and gauges that devices commonly measure and monitor to give indications of health and performance for components in the system. Most devices collect these metrics in 15-minute and 24-hour bins, and some devices collect them in 1-minute bins as well. A bin is a collection period over which the measurement samples are summarized (maximum/minimum/average), and the summaries are timestamped and stored.
The proNX Optical Director stores PM metrics in an Influx database. Each PM metric is stored in the database as a measurement. In Influx database terminology, a measurement is a container that holds the data being stored. A measurement is identified by a string. It is convenient to think of a measurement as a table and the string as the name of the table. In the historical PM database, a measurement is identified by a string in the following format:
<bin>/<ip_address>/<entity_type>/<metric_type>
An example of a measurement is FIFTEEN_MIN/10.228.107.23/port/band-input-power, which is the band-input-power metric in the 15-minute bin on a port on the device with the IP address specified.
Within each measurement, the data is organized as a table, as follows:
Table 66: Historical PM Measurement Table (Simplified View)
time | id | avg | max | min | value |
---|---|---|---|---|---|
This is the timestamp of the bin. For the 15-minute bins, the timestamps are every 15 minutes. Similarly, for the 24-hour bins, the timestamps are every 24 hours, and for the 1-minute bins, the timestamps are every minute. | This is the entity identifier where the metric was captured. For example, if the entity type was a port, then this identifier would specify the exact port on the device. | This is the average value of all samples of the metric within the bin period. | This is the maximum value of all samples of the metric within the bin period. | This is the minimum value of all samples of the metric within the bin period. | This is the value of the last sample of the metric within the bin period. |
Note: The sampling frequency varies from device to device. |
For example, here is a simplified view of a typical table stored in the historical PM database:
name: FIFTEEN_MIN/10.228.107.26/port/band-output-power time avg id max min value ---- --- -- --- --- ----- 2018-06-18T14:45:00Z 1.5 port:1_1_LINE_osc1 1.51 1.49 1.51 2018-06-18T14:45:00Z -50.72 port:1_1_LINE_osc2 -50.72 -50.72 -50.72 2018-06-18T14:45:00Z 6.24 port:1_1_LINE_total 6.31 6.18 6.27 2018-06-18T15:00:00Z -50.72 port:1_1_LINE_osc2 -50.72 -50.72 -50.72 2018-06-18T15:00:00Z 6.23 port:1_1_LINE_total 6.3 6.16 6.23 2018-06-18T15:00:00Z 1.5 port:1_1_LINE_osc1 1.51 1.5 1.5 2018-06-18T15:15:00Z 6.23 port:1_1_LINE_total 6.29 6.17 6.2 2018-06-18T15:15:00Z 1.5 port:1_1_LINE_osc1 1.51 1.5 1.5 2018-06-18T15:15:00Z -50.72 port:1_1_LINE_osc2 -50.72 -50.72 -50.72
Grafana allows you to create custom queries of the historical PM database and to graph the result. Examples of this are shown in the following sections. Note that the following sections are presented for your convenience to help you get started with Grafana. These sections are cursory and are not intended to replace official Grafana documentation. For official Grafana documentation, see docs.grafana.org. For more information on the Influx database, see https://www.influxdata.com.
Note The screenshots used in the following sections are from the Grafana software packaged with proNX Optical Director release 2.1.
Use this procedure to view a graph of a performance monitoring metric plotted over time. This procedure displays a metric from the 15-minute bin as an example, but the same procedure can be used to view metrics in other bins by simply selecting the appropriate dashboard.
Prerequisites
You are using the proNX Optical Director to monitor your network and you have collected the metrics you want to display. The proNX Optical Director automatically collects metrics from managed devices every 12 hours. You can also collect metrics on demand. For information on collecting metrics on demand, see Collecting Metrics from a Device Manually.
Releases 2.2 and lower - go to http://<server-ip-or-hostname>:3000
Releases 18.4 and higher - go to https://<server-hostname>/graphs
This places you in the Home dashboard. You can also access Grafana from the proNX Optical Director UI by clicking on the Analyze button in the Devices Port Metrics page. See Viewing Historical Performance Monitoring Metrics.
15min Metrics - a dashboard that displays the average, minimum, maximum, and last value of a metric from the 15-minute bin over a specified time period
1min Metrics - a dashboard that displays the average, minimum, maximum, and last value of a metric from the 1-minute bin over a specified time period
24h Metrics - a dashboard that displays the average, minimum, maximum, and last value of a metric from the 24-hour bin over a specified time period
Cluster - a dashboard that displays usage information for the proNX Optical Director server cluster
Pods - a dashboard that displays usage information for a selected pod
The 15min Metrics dashboard is displayed. The dashboard has a row of tabs at the top where you can select the entity and metric you want to view. These are called variables.
A graph of the selected PM is displayed, for example:
When you release your mouse, the graph is redrawn with the new time range.
To return to the dashboard from the full browser view, click Back to dashboard at the top of the page.
Use this procedure to create a dashboard that graphs two metrics from one entity on a device.
This procedure creates a dashboard that displays two metrics from the 15-minute bin as an example, but the same general procedure can be used to create a dashboard that displays metrics from other bins.
Prerequisites
You are using the proNX Optical Director to monitor your network and you have collected metrics for the devices you want to analyze. The proNX Optical Director automatically collects metrics from managed devices every 12 hours. You can also collect metrics on demand. For information on collecting metrics on demand, see Collecting Metrics from a Device Manually.
Familiarize yourself with the terminology and constructs described in Overview.
You will use this dashboard to create the new one. This approach allows you to reuse the same variables without having to recreate them.
Enter the new name for the dashboard and click Save.
You are now placed into the new dashboard. Since you have not made any changes yet, this dashboard is the same as the 15min Metrics dashboard.
Click the icon at the top
of the page and then select Templating. The Templating
panel appears listing the variables that have been defined.
An explanation of these constructs is provided in the steps that follow.
Find the row for the $MetricType variable and click Duplicate. The duplicated variable ($copy_of_MetricType) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, MetricType2).
You do not need to make any changes to the Query Options section because this second metric type variable has the same characteristics as the first metric type variable. Here is an explanation of the query options:
Query - Search through all measurements and look for measurements matching FIFTEEN_MIN/<IP address>/<Entity Type>. These represent the measurements in the 15-minute bins for the IP address and entity type that you specify in the IP variable and Entity Type variable drop-down lists in the dashboard.
Regex - Additionally, from the results of the query, capture the last string containing word characters (a-z, A-Z, 0-9, _) and hyphens (-). The last string in a measurement is the metric type. In other words, this query looks through the database for all 15-minute bins matching the specified IP address and entity type, and presents all metric types found to the user through the Metric variable drop-down list.
Scroll down and click Update. The new variable name is now shown in the list of variables.
Find the row for the $PmMeasurement variable and click Duplicate. The duplicated variable ($copy_of_PmMeasurement) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, PmMeasurement2).
In the Query Options section, change the query to use the new metric type. You accomplish this by clicking in the Query box and changing $MetricType to $MetricType2.
Here is an explanation of the query options:
Query - Search through all measurements and look for the measurement matching FIFTEEN_MIN/<IP address>/<Entity Type>/<Metric Type>. This represents the measurement in the 15-minute bins for the IP address, entity type, and metric type that you specify in the IP variable, Entity Type variable, and second Metric variable drop-down lists in the dashboard.
Scroll down and click Update. The new variable name and definition are now shown in the list of variables.
Note The $PmMeasurement and $PmMeasurement2 variables are configured as hidden in the variables row, and therefore their order is not important. These variables are used in defining the graph.
Click the graph title and then select Edit in the ensuing pop-up, for example:
The Graph panel appears below the graph.
Here is an explanation of the graph query options:
FROM - Find the measurement matching the measurement specified in the $PmMeasurement variable. The $PmMeasurement variable contains a string consisting of your selections for IP address, entity type, and metric type from the respective variable drop-down lists in the dashboard.
WHERE - From the matching measurement, search through the table for the entry that matches the $ID variable. The $ID variable contains your selection from the Entity drop-down list in the dashboard.
SELECT - From the matching entry, select the avg, min, max, and value fields to display and graph.
Click the icon in
Query A and select Duplicate. The duplicated query is shown
in Query B.
In Query B in the FROM row, click the /^$PmMeasurement$/ box and select /^$PmMeasurement2$/ from the drop-down list.
Query B is the same as Query A except that you are using the measurement specified in the $PmMeasurement2 variable. The $PmMeasurement2 variable contains a string consisting of your selections for the IP address, entity type, and second metric type from the respective variable drop-down lists in the dashboard.
In Query A, in the SELECT row, click in each of the alias fields and add $MetricType.
In Query B, in the SELECT row, click in each of the alias fields and add $MetricType2.
For example:
Click the General tab.
In the Info section, click in the Title box and specify the variable for the second metric.
For example: $IP - $ID - $MetricType - $MetricType2
Here is an example of the new graph showing two metrics for the same entity on the same device:
Use this procedure to create a dashboard that graphs two metrics from two different entities on two different devices. This is useful, for example, to compare metrics at the output of one device with the input of another.
This procedure creates a dashboard that displays two metrics from the 15-minute bin as an example, but the same general procedure can be used to create a dashboard that displays metrics from other bins.
Prerequisites
You are using the proNX Optical Director to monitor your network and you have collected metrics for the devices you want to analyze. The proNX Optical Director automatically collects metrics from managed devices every 12 hours. You can also collect metrics on demand. For information on collecting metrics on demand, see Collecting Metrics from a Device Manually.
Familiarize yourself with the terminology and constructs described in Overview.
You will use this dashboard to create the new one. This approach allows you to reuse the same variables without having to recreate them.
Enter the new name for the dashboard and click Save.
You are now placed into the new dashboard. Since you have not made any changes yet, this dashboard is the same as the 15min Metrics dashboard.
Click the icon at the top
of the page and then select Templating. The Templating
panel appears listing the variables that have been defined.
An explanation of these constructs is provided in the steps that follow.
Find the row for the $IP variable and click Duplicate. The duplicated variable ($copy_of_IP) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, IP2).
You do not need to make any changes to the Query Options section because this second IP variable has the same characteristics as the first IP variable. Here is an explanation of the query options:
Query - Search through all measurements and look for measurements matching FIFTEEN_MIN. These represent the measurements for all the 15-minute bins.
Regex - Additionally, from the results of the query, capture the string immediately following FIFTEEN_MIN. This string contains word characters and dots (such as an IP address in dotted decimal form). In other words, this query looks through all 15-minute bins in the database and presents all IP addresses found to the user through the IP variable drop-down list.
Scroll down and click Update. The new variable name is now shown in the list of variables.
Find the row for the $EntityType variable and click Duplicate. The duplicated variable ($copy_of_EntityType) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, EntityType2).
In the Query Options section, change the query to use the new IP variable. You accomplish this by clicking in the Query box and changing $IP to $IP2.
Here is an explanation of the query options:
Query - Search through all measurements and look for measurements matching FIFTEEN_MIN/<IP address>. These represent the measurements in the 15-minute bins for the IP address that you specify in the second IP variable drop-down list in the dashboard.
Regex - Additionally, from the results of the query, capture the key words from the measurement (band-name, card, channel, roadm, total, edfa, connection, fru, port). These key words represent the entity type. In other words, this query looks through the database for all 15-minute bins matching the second specified IP address, and presents all entity types found to the user through the Entity Type variable drop-down list.
Scroll down and click Update. The new variable name and definition are now shown in the list of variables.
Find the row for the $MetricType variable and click Duplicate. The duplicated variable ($copy_of_MetricType) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, MetricType2).
In the Query Options section, change the query to use the new variables. You accomplish this by clicking in the Query box and changing the query as follows:
change $IP to $IP2
change $EntityType to $EntityType2
Here is an explanation of the query options:
Query - Search through all measurements and look for measurements matching FIFTEEN_MIN/<IP address>/<Entity Type>. These represent the measurements in the 15-minute bins for the IP address and entity type that you specify in the second IP variable and second Entity Type variable drop-down lists in the dashboard.
Regex - Additionally, from the results of the query, capture the last string containing word characters (a-z, A-Z, 0-9, _) and hyphens (-). The last string in a measurement is the metric type. In other words, this query looks through the database for all 15-minute bins matching the second specified IP address and the second specified entity type, and presents all metric types found to the user through the Metric variable drop-down list.
Scroll down and click Update. The new variable name and definition are now shown in the list of variables.
Find the row for the $PmMeasurement variable and click Duplicate. The duplicated variable ($copy_of_PmMeasurement) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, PmMeasurement2).
In the Query Options section, change the query to use the new variables. You accomplish this by clicking in the Query box and changing the query as follows:
change $IP to $IP2
change $EntityType to $EntityType2
change $MetricType to $MetricType2
Here is an explanation of the query options:
Query - Search through all measurements and look for the measurement matching FIFTEEN_MIN/<IP address>/<Entity Type>/<Metric Type>. This represents the measurement in the 15-minute bins for the IP address, entity type, and metric type that you specify in the second IP variable, second Entity Type variable, and second Metric variable drop-down lists in the dashboard.
Scroll down and click Update. The new variable name and definition are now shown in the list of variables.
Find the row for the $ID variable and click Duplicate. The duplicated variable ($copy_of_ID) is added to the bottom of the list of variables.
Click Edit for the duplicated variable. The Edit panel appears.
In the Name box in the Variable section, change the variable name to something more meaningful (for example, ID2).
In the Query Options section, change the query to use the new PM measurement variable. You accomplish this by clicking in the Query box and changing $PmMeasurement to $PmMeasurement2.
Here is an explanation of the query options:
Query - Search through the table corresponding to the measurement specified by the $PmMeasurement2 variable and show all id values. These id values represent the entities in the 15-minute bins for the IP address, entity type, and metric type that you specify in the second IP variable, second Entity Type variable, and second Metric variable drop-down lists in the dashboard. These id values are presented to the user through the second Entity variable drop-down list.
Scroll down and click Update. The new variable name and definition are now shown in the list of variables.
Note The $PmMeasurement and $PmMeasurement2 variables are configured as hidden in the variables row, and therefore their order is not important. These variables are used in defining the graph.
Click the graph title and then select Edit in the ensuing pop-up, for example:
The Graph panel appears below the graph.
Here is an explanation of the graph query options:
FROM - Find the measurement matching the measurement specified in the $PmMeasurement variable. The $PmMeasurement variable contains a string consisting of your selections for IP address, entity type, and metric type from the respective variable drop-down lists in the dashboard.
WHERE - From the matching measurement, search through the table for the entry that matches the $ID variable. The $ID variable contains your selection from the Entity drop-down list in the dashboard.
SELECT - From the matching entry, select the avg, min, max, and value fields to display and graph.
Click the icon in
Query A and select Duplicate. The duplicated query is shown
in Query B.
In Query B in the FROM row, change the query as follows:
click the /^$PmMeasurement$/ box and select /^$PmMeasurement2$/ from the drop-down list
click the /^$ID$/ box and select /^$ID2$/ from the drop-down list
Query B is the same as Query A except that you are using the measurement specified in the $PmMeasurement2 variable. The $PmMeasurement2 variable contains a string consisting of your selections for the second IP address, second entity type, and second metric type from the respective variable drop-down lists in the dashboard. Additionally, Query B is looking for the entry identified by the entity specified in the $ID2 variable. The $ID2 variable contains your selection for the entity from the second Entity drop-down list in the dashboard.
In Query A, in the SELECT row, click in each of the alias fields and add $IP.
In Query B, in the SELECT row, click in each of the alias fields and add $IP2.
For example:
Note In this example, the IP address is used to distinguish between the two metrics, the assumption being that you will only use this graph to display metrics from different devices. If this assumption is incorrect, then update the alias fields with a more appropriate distinction.
Click the General tab.
In the Info section, click in the Title box and specify the variable for the second metric.
For example: $ID - $IP - $MetricType - $IP2 - $MetricType2
Here is an example of the new graph showing two metrics for two entities on two different devices: