Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Relic Solution: How to Create a Server Overview Dashboard in New Relic Insights

insights
infrastructure
rfb

#1

What if you want to view key metrics about a server on a single dashboard? With New Relic Insights, it’s fast and easy!

New Relic Infrastructure gives you real-time, searchable, filterable visibility across your entire infrastructure. But what if you want to view key metrics about a server on a single dashboard? Thanks to New Relic Insights, you can!

Because Infrastructure stores its data in the New Relic Database (NRDB, the same data store used by Insights), it’s easy to create a Server Overview dashboard. Let me walk you through how it’s done.

Building a Server Overview dashboard

First, log into your New Relic account and navigate to Infrastructure’s Compute page:

If you look closely above each chart, you’ll notice a small icon that resembles a chart on an easel:

Click this icon to open the chart’s underlying NRQL query in Insights:

From here, you can customize the query, give the chart a title, and add it to a dashboard.

The NRQL AS clause allows you to customize the label of a query attribute; let’s add some AS clauses to make the chart legend easier to read. Change the NRQL query to:

SELECT average(cpuSystemPercent) AS 'CPU System %', 
       average(cpuIOWaitPercent) AS 'CPU I/O Wait %', 
       average(cpuUserPercent)   AS 'CPU User %', 
       average(cpuStealPercent)  AS 'CPU Steal %' 
FROM SystemSample 
SINCE 60 minutes ago TIMESERIES

Click the Run button to execute the query. Give the resulting chart a title, such as “CPU Usage”, and click Add to a Dashboard. In the Add to a Dashboard dialog, select Add to a new dashboard and give your new dashboard a name, such as “Server Overview.”

Now go back to Infrastructure and repeat the process for the Load and Memory charts.

Infrastructure draws a custom chart to display Used and Available memory as a stacked-area chart. Unfortunately, it is not possible to replicate this chart in Insights. Instead, change the NRQL query to:

SELECT average(memoryUsedBytes / memoryTotalBytes * 100) 
       AS 'Percent Used', 100 AS 'Max' 
FROM SystemSample 
SINCE 60 minutes ago TIMESERIES

The SELECT…100 AS ‘Max’ clause forces the Y-axis to a scale of 0 to 100, allowing us to display the memory used as an easy-to-read percentage.

From Infrastructure’s Storage page, change the chart to display Total Utilization %, view the query in Insights, and change it to:

SELECT average(totalUtilizationPercent) 
FROM StorageSample 
FACET entityAndMountPoint 
SINCE 60 minutes ago TIMESERIES

To display network throughput, use the following query:

SELECT 
  average(transmitBytesPerSecond / 1024) AS 'Transmitted', 
  average(receiveBytesPerSecond / 1024)  AS 'Received' 
FROM NetworkSample 
SINCE 60 minutes ago TIMESERIES

It can be helpful to see which processes are running on a server, in case one of them is consuming a large amount of CPU or memory. You may use the following query to display a list of running processes, the name of the user who started each process, and how much CPU and memory each process is using:

SELECT 
  uniqueCount(processId), 
  latest(userName), 
  average(cpuPercent) AS 'CPU Percent', 
  average(memoryResidentSizeBytes) / 1024 AS 'Memory (MB)' 
FROM ProcessSample 
FACET processDisplayName 
SINCE 1 hour ago

New Relic Infrastructure captures information about system events, such as user logins, package deployments, etc. Let’s add a widget to our dashboard to display recent events:

SELECT * FROM InfrastructureEvent SINCE 1 day ago

Finally, we need a way to select an individual host, so we can see an overview of a single server. Let’s add a table based on the following query:

SELECT 
  average(cpuPercent) AS 'CPU %', 
  average(memoryUsedBytes / memoryTotalBytes) * 100 
    AS 'Memory Used %' 
FROM SystemSample 
FACET hostname 
SINCE 5 minutes ago LIMIT 10

That query displays the top 10 host names reporting to your account, in order of CPU usage. After adding the above table to your dashboard, click the ellipsis icon in the upper-right corner of the chart widget and select Edit link:

In the resulting Link to dashboard dialog, link the widget to the Current dashboard and save your changes.

Now you can select a host name from the table to filter the dashboard to that host:

To view the information for a host that’s not included in the top 10, click in the Search hostname field at the top of the page and select the desired hostname.

Creating custom dashboards is easy

Pulling key server metrics into a single dashboard took just a few minutes; now you can easily see the status of an individual server at a glance. Because New Relic Infrastructure stores its data in NRDB, it’s easy to export and customize charts from Infrastructure to Insights, and create custom dashboards that display whatever information you want to see.

For more information on using New Relic Insights and Infrastructure, please see our documentation.


Important: Upcoming Changes for New Relic Servers and legacy alerting features
Important: Upcoming Changes for New Relic Servers and legacy alerting features
#2

Some nice queries there @philweber. Will you be adding them to the NRQL library on the forum?


#3

Nice!

Is there a way to import something like this with a single click?


#4

Hi, @P.orga: No, unfortunately it is not currently possible to import Insights dashboards or create them programmatically.


#5

Hey @P.orga

We are just kicking off a closed beta for an Insights Dashboard API, but looking for a few more participants.

Based on what I was reading above, you could define the NRQL queries for the charts in a JSON structure and use the API to create and update dashboards, which might meet your use case.

Let me know if you are interested and I can send you the info.


#6

Hi all, and thank you for your comments.

@misaacson at this moment we have not considered building a custom solution around your Insights Dashboard API, but we may consider it in the future.