Network Performance Monitoring - can't find event type containing network device interface traffic?

Hi NR,

I saw a recent DR demo for Network Performance Monitoring where both SNMP an Netflow was enabled. There was dashboard (See attached) showing the “Top 100 - Total Bandwidth In + out” chart.

I have both SNMP and Netflow9 enabled and have a few CISCO routers and switches discovered and showing in the UI, but can’t see which eventtype contains the Interface traffic as in the attached dashboard. I was expecting the SNMP integration for NPM to have collected device interface In and Out metrics , but this doesn’t seem to be the case. Any ideas what is potentially missing as part of my snmp-base.yaml configuration, perhaps?

Hi, @michael.lee4: I believe that is metric data, not events. You should be able to click the ellipsis menu (…) in the upper-right corner of each chart and select View query to see the NRQL query used to generate the chart.

I don’t have access to that dashboard. But I found the metrics. I’m trying to construct he NRQL for this chart but can’t seem to figure it out.

I see three Network - Routers and Switches dashboards in your account. Although they have no data, you can still click on the ellipsis menus to see the query for each chart.

I’m trying to create “Top 100 - Total Bandwidth In + out” and add to my current dashboard since it’s a custom chart that was used in a demo presented by a NR consultant in a webinar last week, and one that’s not out of the box. So need to figure out the NRQL for that.

Try this:

FROM Metric 
SELECT rate((max(kentik.snmp.ifHCInOctets) + max(kentik.snmp.ifHCOutOctets)) * 8 / 1000 / 1000, 1 second) AS 'Mbps'  
FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' 
WHERE provider IN ('kentik-router','kentik-switch') 
LIMIT 100

That’s awesome Phil. I’m a happy camper now.

That takes NRQL to another level. :grinning_face_with_smiling_eyes:

Any ideas how to construct the NRQL for the “Device Inventory” Chart which shows uptime in Days and Weeks? I notice the Kentik.snmp.uptime field shows:
{“type”:“gauge”,“count”:1,“sum”:1.36878564E8,“min”:1.36878564E8,“max”:1.36878564E8,“latest”:1.36878564E8}

So not sure how to grab the correct value.

Also "Interface Inventory " chart NRQL would be handy if you have that too?

Here is the JSON definition of the dashboard. You may replace the accountId of each nrqlQuery with your own, then import the dashboard into your account.

{
  "name": "Network - Routers and Switches",
  "description": null,
  "permissions": "PUBLIC_READ_WRITE",
  "pages": [
    {
      "name": "Network Observability - Routers and Switches",
      "description": null,
      "widgets": [
        {
          "visualization": {
            "id": "viz.table"
          },
          "layout": {
            "column": 1,
            "row": 1,
            "height": 3,
            "width": 6
          },
          "title": "Device Inventory",
          "rawConfiguration": {
            "dataFormatters": [
              {
                "name": "Uptime (Weeks)",
                "precision": 2,
                "type": "decimal"
              },
              {
                "name": "Uptime (Days)",
                "precision": 2,
                "type": "decimal"
              }
            ],
            "facet": {
              "showOtherSeries": false
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT latest(kentik.snmp.Uptime)/100/60/60/24 AS 'Uptime (Days)', latest(kentik.snmp.Uptime)/100/60/60/24/7 AS 'Uptime (Weeks)' FACET device_name, src_addr AS 'device_ip' WHERE provider IN ('kentik-router','kentik-switch') LIMIT MAX"
              }
            ]
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.table"
          },
          "layout": {
            "column": 7,
            "row": 1,
            "height": 3,
            "width": 6
          },
          "title": "Interface Inventory",
          "rawConfiguration": {
            "dataFormatters": [],
            "facet": {
              "showOtherSeries": false
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT latest(ifOperStatus) AS 'Interface Status' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' WHERE provider IN ('kentik-router','kentik-switch') LIMIT MAX"
              }
            ]
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.table"
          },
          "layout": {
            "column": 1,
            "row": 4,
            "height": 6,
            "width": 4
          },
          "title": "Top 100 - Total Bandwidth (Mbps) In + Out",
          "rawConfiguration": {
            "dataFormatters": [
              {
                "name": "Mbps",
                "precision": 2,
                "type": "decimal"
              }
            ],
            "facet": {
              "showOtherSeries": false
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT rate((max(kentik.snmp.ifHCInOctets) + max(kentik.snmp.ifHCOutOctets))*8/1000/1000, 1 second) AS 'Mbps' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' WHERE provider IN ('kentik-router','kentik-switch') LIMIT 100"
              }
            ]
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.line"
          },
          "layout": {
            "column": 5,
            "row": 4,
            "height": 3,
            "width": 4
          },
          "title": "Top 100 - Traffic (Mbps) IN",
          "rawConfiguration": {
            "facet": {
              "showOtherSeries": false
            },
            "legend": {
              "enabled": true
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT rate(max(kentik.snmp.ifHCInOctets)*8/1000/1000, 1 second) AS 'Mbps' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' TIMESERIES 5 MINUTES WHERE provider IN ('kentik-router','kentik-switch') LIMIT 100"
              }
            ],
            "yAxisLeft": {
              "zero": true
            }
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.area"
          },
          "layout": {
            "column": 9,
            "row": 4,
            "height": 3,
            "width": 4
          },
          "title": "Top 100 - Traffic (Mbps) IN (stacked)",
          "rawConfiguration": {
            "facet": {
              "showOtherSeries": false
            },
            "legend": {
              "enabled": true
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT rate(max(kentik.snmp.ifHCInOctets)*8/1000/1000, 1 second) AS 'Mbps' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' TIMESERIES 5 MINUTES WHERE provider IN ('kentik-router','kentik-switch') LIMIT 100"
              }
            ]
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.line"
          },
          "layout": {
            "column": 5,
            "row": 7,
            "height": 3,
            "width": 4
          },
          "title": "Top 100 - Traffic (Mbps) OUT",
          "rawConfiguration": {
            "facet": {
              "showOtherSeries": false
            },
            "legend": {
              "enabled": true
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT rate(max(kentik.snmp.ifHCOutOctets)*8/1000/1000, 1 second) AS 'Mbps' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' TIMESERIES 5 MINUTES WHERE provider IN ('kentik-router','kentik-switch') LIMIT 100"
              }
            ],
            "yAxisLeft": {
              "zero": true
            }
          },
          "linkedEntityGuids": null
        },
        {
          "visualization": {
            "id": "viz.area"
          },
          "layout": {
            "column": 9,
            "row": 7,
            "height": 3,
            "width": 4
          },
          "title": "Top 100 - Traffic (Mbps) OUT (stacked)",
          "rawConfiguration": {
            "facet": {
              "showOtherSeries": false
            },
            "legend": {
              "enabled": true
            },
            "nrqlQueries": [
              {
                "accountId": 1606862,
                "query": "FROM Metric SELECT rate(max(kentik.snmp.ifHCOutOctets)*8/1000/1000, 1 second) AS 'Mbps' FACET device_name, if_Name OR if_Alias OR if_Description AS 'interface_name' TIMESERIES 5 MINUTES WHERE provider IN ('kentik-router','kentik-switch') LIMIT 100"
              }
            ]
          },
          "linkedEntityGuids": null
        }
      ]
    }
  ]
}

I’ll also call out that these dashboards are available as part of the New Relic Instant Observability portal that is accessible both in-product and via https://developer.newrelic.com/instant-observability/

The IO portal is a great place to start your search for any data sources, dashboards, and alerts. Best of all, you can contribute to improve the dashboards and alerts!

3 Likes