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

Shared Dashboards Contest—Add Your Queries Here!

shared-dashboards

#8

Current Active sessions of the Application
and JS Errors.


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#9

Track disk usage and growth

This shows disk usage over time for various periods. I built this because we were having unexpected disk growth that was eating the system and causing it to crash. I wanted to see at a glance what the growth looked like over time, where the spikes were, if any, and try to find a pattern.

Queries

SELECT average(diskUsedPercent) FROM StorageSample TIMESERIES FACET `entityAndMountPoint` WHERE (`entityAndMountPoint` in ('6059150612827629914//')) LIMIT 100 SINCE 7 days ago
SELECT average(diskUsedPercent) FROM StorageSample TIMESERIES FACET `entityAndMountPoint` WHERE (`entityAndMountPoint` in ('6059150612827629914//')) LIMIT 100 SINCE 30 days ago
SELECT average(diskUsedPercent) FROM StorageSample TIMESERIES FACET `entityAndMountPoint` WHERE (`entityAndMountPoint` in ('6059150612827629914//')) LIMIT 100 SINCE 4 hours ago


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#10

Hello!!
My name is Luis Sabatini, I present my favorite Dashboard. In this panel you can observe the monitoring of servers at transaction level, stored procedures with more load, more used services and different distributions.

Greetings from Chile


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#11

Dashboard - Engine Metrics

This dashboard represents some basic health check stats for one of my team’s primary applications. It’s a COTS product, so I’ve kept the information represented to some very basic metrics that we can use to get an “At A Glance” status.

Screenshot

Dashboard Details

Required Products: APM, Infrastructure, Synthetics
Level of Effort: Low
This dashboard will work on the standard New Relic data models and does not require any custom attributes or events.

Settings
Use the gear button to edit your dashboard and configure the following settings (below is an example):

  • Dashboard Filter: Disabled
  • Enabled Event Types: N/A
  • Enabled Attributes: N/A

Chart Details

Average cpuPercent

Faceted Line Chart

SELECT average(cpuPercent) FROM SystemSample TIMESERIES FACET `entityName` WHERE entityName LIKE '%hostnameFilter%' LIMIT 100 SINCE 1 day ago
Show me the average CPU percent utilization per host for the last 1 day, filtered by hostname match.

Average Percent Memory Used

Faceted Line Chart

SELECT average(memoryUsedBytes/memoryTotalBytes*100) FROM SystemSample TIMESERIES FACET `entityName` WHERE `entityName` LIKE '%hostnameFilter%' LIMIT 100 SINCE 1 day ago
Show me the average Memory percent utilization per host for the last 1 day, filtered by hostname match.

Average loadAverageFiveMinutes

Faceted Line Chart

SELECT average(loadAverageFiveMinute) FROM SystemSample TIMESERIES FACET `entityName` WHERE `entityName` LIKE '%hostnameFilter%' LIMIT 100 SINCE 1 day ago
Show me the average loadAverageFiveMinutes per host for the last 1 day, filtered by hostname match.

Synthetics Checks

Facet Table

SELECT average(duration), percentage(count(*), WHERE result='SUCCESS') FROM SyntheticCheck FACET monitorName SINCE 1 day ago
Show me the average Duration and Availability Percentage per monitor for all Synthetics checks in the last 1 day.

Apdex score

Metric Line Chart

This widget uses the APM Apdex Score metric, with the View by host setting disabled.
Shows the overall Apdex scores for the App Server for the last 1 day.

Errors/all

Metric Line Chart

This widget uses the APM Error Rate metric, with the View by host setting disabled.
Shows the combined error rate for all errors in the last 1 day.


Dashboard Definition

{
  "dashboard": {
    "id": 000000,
    "title": "Engine Metrics",
    "description": null,
    "icon": "bar-chart",
    "created_at": "2018-06-08T22:12:40Z",
    "updated_at": "2018-08-09T00:39:24Z",
    "visibility": "all",
    "editable": "editable_by_all",
    "ui_url": "https://insights.newrelic.com/accounts/000000/dashboards/000000",
    "api_url": "https://api.newrelic.com/v2/dashboards/000000",
    "owner_email": "first.last@email.com",
    "metadata": {
      "version": 1
    },
    "widgets": [
      {
        "visualization": "faceted_line_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 1
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "nrql": "SELECT average(cpuPercent) FROM SystemSample TIMESERIES FACET `entityName` WHERE entityName LIKE '%hostnameFilter%' LIMIT 100 SINCE 1 day ago"
          }
        ],
        "presentation": {
          "title": "Average cpuPercent",
          "notes": "WHERE entityName LIKE '%hostnameFilter%'"
        }
      },
      {
        "visualization": "faceted_line_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 2
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "nrql": "SELECT average(memoryUsedBytes/memoryTotalBytes*100) FROM SystemSample TIMESERIES FACET `entityName` WHERE (`entityName` LIKE '%hostnameFilter%') LIMIT 100 SINCE 1 day ago"
          }
        ],
        "presentation": {
          "title": "Average Percent Memory Used",
          "notes": "WHERE (`entityName` LIKE '%hostnameFilter%')"
        }
      },
      {
        "visualization": "faceted_line_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 3
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "nrql": "SELECT average(loadAverageFiveMinute) FROM SystemSample TIMESERIES FACET `entityName` WHERE (`entityName` LIKE '%hostnameFilter%') LIMIT 100 SINCE 1 day ago"
          }
        ],
        "presentation": {
          "title": "Average loadAverageFiveMinutes",
          "notes": "WHERE (`entityName` LIKE '%hostnameFilter%')"
        }
      },
      {
        "visualization": "facet_table",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 2,
          "column": 1
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "nrql": "SELECT average(duration), percentage(count(*), WHERE result='SUCCESS') FROM SyntheticCheck FACET monitorName SINCE 1 day ago"
          }
        ],
        "presentation": {
          "title": "Synthetics Checks",
          "notes": null,
          "drilldown_dashboard_id": null
        }
      },
      {
        "visualization": "metric_line_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 2,
          "column": 2
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "duration": 86400000,
            "end_time": null,
            "entity_ids": [
              000000
            ],
            "metrics": [
              {
                "name": "Apdex",
                "units": null,
                "scope": "",
                "values": [
                  "score"
                ]
              }
            ],
            "facet": null,
            "order_by": null,
            "limit": null
          }
        ],
        "presentation": {
          "title": "Apdex score",
          "notes": null
        }
      },
      {
        "visualization": "metric_line_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 2,
          "column": 3
        },
        "widget_id": 000000,
        "account_id": 000000,
        "data": [
          {
            "duration": 86400000,
            "end_time": null,
            "entity_ids": [
              000000
            ],
            "metrics": [
              {
                "name": "Errors/all",
                "units": null,
                "scope": "",
                "values": [
                  "error_rate"
                ]
              }
            ],
            "facet": null,
            "order_by": null,
            "limit": null
          }
        ],
        "presentation": {
          "title": "Errors/all",
          "notes": null
        }
      }
    ],
    "filter": null
  }
}

Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#12

Screenshot

NOTE: The application names and Monitor Names have been removed.

This dashboard helps the operations team to determine the service SLA for each instance and farm weekly. It also helps us to find which is the client that has suffered any kind of downtime during the operation time.

It also helps us to study the farms usage in order to plan any hardware upgrade needed.

Details

Required Products: APM, Synthetics, Infrastructure.

Level of Effort: Low

This dashboard will work on the standard New Relic data models and does not require any custom attributes or events.

Chart Details

Error Number per app

Table

SELECT count(*) from TransactionError where response.status !=‘400’ and response.status != ‘302’ LIMIT 1000 SINCE 1 week ago FACET appName

The error count for each client application running on our farms. 400 and 302 are responses that we are waiting so that is why I’ve removed from the counter.

Error Number count

Billboard

SELECT count(*) FROM TransactionError WHERE response.status !=‘400’ and response.status != ‘302’ SINCE 1 week ago COMPARE WITH 1 week ago

The error count total compared with 1 week earlier.

PROD APPS % Uptime per farm

Billboard

SELECT filter(percentage(count(*), WHERE result =‘SUCCESS’), WHERE monitorName IN (SPECIFIC SYNTHETICS MONITOR NAME FOR EACH FARM)) as ‘FARM0X’ FROM SyntheticCheck SINCE 1 month ago COMPARE WITH 1 month ago

The farm uptime according to synthetics monitor error counts

PROD FARMS - CPU % Usage

Line chart

SELECT filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM01’, filter(average(cpuPercent), where hostname in (FARM SERVER NAME)) as ‘FARM02’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM03’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM04’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM05’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM07’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM08’,filter(average(cpuPercent), where hostname in (FARM SERVERS NAMES)) as ‘FARM09’ FROM SystemSample TIMESERIES LIMIT 100 SINCE 1 month ago

CPU Usage for each farm in the application


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#14

This is a basic dashboard that we have to monitor one of our stack deployments, these are displayed on many monitors around our building (for different stacks/DCs). From information shown (such as ‘Recent Response Times’) we can quickly gauge an issue in each stack - before diving in deeper.

Dashboard Details
Required Products: APM, Infrastructure

  • Recent Response Times
    SELECT average(totalTime) AS TotalTime, average(queueDuration) AS QueueDuration, average(databaseDuration) AS DatabaseDuration, average(externalDuration) AS ExternalDuration, average(webDuration) AS WebDuration FROM Transaction TIMESERIES 10 seconds SINCE 1 HOUR AGO WHERE host LIKE '82%'

  • Spins / Sec
    SELECT count(stake) / 10 FROM xxxxx FACET eventSubType where eventSubType IN('PLAY','PLAY_FREEBETS') and host like '82%' TIMESERIES 10 seconds SINCE 1 hour ago

  • Throughput / Sec
    SELECT COUNT(*) / 10 AS ThroughputPerSec FROM Transaction FACET name WHERE name LIKE 'WebTransaction/WebService/%' AND host like '82%' TIMESERIES 10 seconds SINCE 1 hour ago LIMIT 100

  • API Throughput / Sec
    SELECT COUNT(*) / 10 FROM Transaction WHERE name LIKE 'WebTransaction/WebService/%API%' AND host LIKE '82%' TIMESERIES 10 seconds FACET host LIMIT 100

  • Total Throughput / Sec [vs Last Week]
    SELECT COUNT (*) / 60 FROM Transaction WHERE name LIKE 'WebTransaction/WebService/xxxxx%' AND host like '82%' TIMESERIES 1 minute SINCE 1 hour ago COMPARE WITH 1 week ago

  • Slowest Times
    SELECT MAX(totalTime) AS SlowestResponse, MAX(databaseDuration) AS SlowestDB, MAX(externalDuration) AS SlowestWallet, MAX(queueDuration) AS SlowestIIS FROM Transaction SINCE 1 HOUR AGO WHERE host like '82%' TIMESERIES AUTO

  • Database Calls / Sec Per Host
    SELECT SUM(databaseCallCount) / 10 AS CallCount FROM Transaction TIMESERIES 10 seconds SINCE 1 HOUR AGO FACET host LIMIT 100 WHERE host like '82%'


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


Customer Dashboard: Know Your Customers
#15

Are Data Apps considered valid entries for the contest?


#16

Overview dashboard with queries to

  • Count the most frequent errors: SELECT count(*) from Transaction where errorMessage is not null facet errorMessage
  • Count activity of a process: SELECT filter(count(*), where errorMessage is not null) as with_error, filter(count(*), where errorMessage is null) as success from Transaction where name like '%Processor%' and appName = 'website' since 2 hours ago TIMESERIES
  • Count activity of important process in different platforms: SELECT count(*) from Transaction where name = 'Process' and appName not like '%staging%' FACET appName TIMESERIES

Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#17

As long as you also include your value statement and the associated NRQL, I say yes! Please post Data Apps if you’ve got em! @adam.ahndan! :blush:


#18

Continuing the discussion from Shared Dashboards Contest—Add Your Queries Here!:


Know your customers (KYC) dashboard:

Hello!
My name is Sheik. I have shared my very favorite dashboard which is called “Know Your Customers (KYC) dashboard” which i built for an eCommerce application. Basically any e-commerce application will have a shopping experience and a buying experience.

The purpose of this dashboard is to understand how our customers are experiencing our website when they shop and buy products and on what ways we can serve them better respective to their location, timezone and interest.

Query Sample:

SELECT average(duration) as ’ End User Time’, average(backendDuration) as ’ App Server Time ’ FROM PageView WHERE appName LIKE ‘$Instance’ SINCE 2 minutes ago UNTIL 10 seconds ago TIMESERIES

Hope everyone like it!


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#19

Here we have our dashboard which is monitoring Manchester Metropolitan University’s Moodle instance

Some of our NRQL which is wired up to alerts, we ignore the goings on in the early AM as that is when the syncing of our data across servers occurs.

Errors > 20% : ignores 2 to 4:59 am
select filter(count(*), where 'error.message' is not null)*100 / filter(count(*), where duration is not null) as 'Errors' from Transaction, TransactionError where hourOf(timestamp) IN ('0:00','1:00','5:00','6:00','7:00','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00') with TIMEZONE 'Europe/London'

APDEX < 0.5 for 1 minute
SELECT apdex(duration, 0.5) FROM Transaction where hourOf(timestamp) IN ('0:00','1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00') with TIMEZONE 'Europe/London'

Database spike alert : ignores 2 to 4:59 am
SELECT average(databaseDuration) * 92 FROM Transaction where hourOf(timestamp) IN ('0:00','1:00','5:00','6:00','7:00','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00') with TIMEZONE 'Europe/London'

We have the above NRQL wired into alerts as well as synthetics pinging & logging in from around the globe.

Hope this prove useful to someone out there. I plan on seeing whether I can use some of your NRQL to make it even better.

Great product and great community, cheers.


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#20

This is our Production Performance Monitoring Board:

We monitor Top Slowest Transactions

External Calls: Tax , Inventory and Loyalty services

Infrastructure: Load Balancing, Application Response by Host and Throughput by Host, CPU utilization

User Experience: Mobile, Desktop and DOM Load Time

Some of my favorite Queries below

Slowest Transactions on App:

SELECT average(duration) FROM Transaction WHERE transactionType=‘Web’ and appName =’$AppName’ FACET name SINCE 1 day ago LIMIT 10

Load Balancing on App instances:

SELECT count(*) from Transaction where appName = ‘$AppName’ FACET host SINCE 1 day ago

_emphasized text_Desktop DOM Time:
Select average(domProcessingDuration) as ‘DOM Load’ FROM PageView where
appName = ‘$AppName’ and deviceType='Desktop’and pageFACA<'4’since 2 minutes ago

Desktop Page Load Time:

SELECT average(duration) as ‘Page Load’ FROM PageView WHERE appName =’$AppName’ and deviceType=‘Desktop’ and pageFACA<‘4’ since 2 minutes ago

Page Views Trend

SELECT count(*) as ‘Page View Count’FROM PageView where appName=’$AppName’ and pageFACA<‘4’ since 3 hours ago TIMESERIES 1 minute COMPARE WITH 1 week ago


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#21

Nice to See you Sheik, an Excellent Dashboard


#22


We started using newrelic to monitor A/B Tests regarding large scale performance improvements. This first A/B test was created as a proof of concept to see if the data would be useful.

Some of the queries are as follows
SELECT average(duration)from Transaction where appName = 'Production - Advisor Web' AND 'ABTest1-Activated' is NOT NULL FACET ABTest1 TIMESERIES AUTO

SELECT count(*) FROM Transaction WHERE appName = 'Production - Advisor Web' where 'ABTest1-Activated' is not NULL FACET 'ABTest1-Activated'

SELECT average(duration) from Transaction WHERE appName = 'Production - Advisor Web' and hasAjaxXRequestedWithHeader = 'True' and 'ABTest1-Activated' is NOT NULL FACET 'ABTest1-Activated' TIMESERIES AUTO


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#23

Dashboard: GLAIM_Dashboard

This dashboard shows the activity of the probes which monitor IBM Global Logistcs applications which are key to the business.

Dashboard Details

Required Products: Synthetics, Infrastructure.
Level of Effort: Low
This dashboard will work on the standard New Relic data models and does not require any custom attributes or events.

Settings
Use the gear button to edit your dashboard and configure the following settings (below is an example):

  • Dashboard Filter: Enabled
  • Enabled Event Types: ProcessSample,ProcessSample,StorageSample,SyntheticCheck,SyntheticRequest,
  • Enabled Attributes: agentName, checkId,device, duration,

Chart Details

Count Checks

Billboard

SELECT count(*) FROM SyntheticCheck
The total count of checks performed by the monitors on hourly basis

Total CPU System Percent

Gauge

SELECT sum(cpuSystemPercent) FROM ProcessSample
Total CPU system percent usage out of the total amount of processing power

Count Requests

Billboard

SELECT count(*) from SyntheticRequest
Total number to requests sent by all the monitors

Response Body Size

Pie Chart

SELECT sum(totalResponseBodySize) from SyntheticCheck FACET monitorName
Amount of responces body size grouping by the name of the monitors

Apdex

Table

SELECT average(duration), apdex(duration, t:7000) FROM SyntheticCheck FACET monitorName
Average duration and apdex time for each monitor check performed

Request Body Size

Pie Chart

SELECT sum(totalRequestBodySize) FROM SyntheticCheck FACET monitorName
Amount of requests body size grouping by the name of the monitors

Checks Duration

Bar Chart

SELECT sum(duration) FROM SyntheticCheck FACET monitorName
Average duration time for each monitor check (displayed graphically as bars)


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#24

*New Relic provides many built in dashboard but my requirement was to create dashboard and group them in single screen.

  • I used data Apps in insights which is really very useful. I had more than 10 java micro services and Angular UI. I build dashboard for each of them using data apps and can navigate easily using tabs. so one place to track all my apps.

If you see in above dashboard, i have API like user, config, order , gateway etc. and can navigate easily. Charts are standard charts of CPU, memory, Threads etc.

Required Products: APM, Browser, Infrastructure
Level of Effort: Low
This dashboard will work on the standard New Relic data models and does not require any custom attributes or events.

Queries
SELECT appName, cpuPercent FROM Transaction, SystemSample where appName like ‘WO-PRD%’ SINCE LAST WEEK

SELECT appName, transactionType FROM Transaction where appName like ‘WO-PRD%’ SINCE last week

SELECT appName, queueDuration FROM Transaction where appName like ‘WO-PRD%’ SINCE last week


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#25

My simplest dashboard that do not require much anonymization. I just want the cool t-shirt :smiley:

(Edited for organization:)

This particular dashboard would easily show drastic changes if an authentication solution went down or if one node went offline. The application delivery controllers would stop traffic to a node that responds with 5xx error codes, so that should not show up in the graph :slight_smile:

I usually create dashboards that create a full understanding of specific situations (“why are there so few new orders in the system?”), or a dashboard that shows the performance and information flow within a solution that consists of many services that speak with each other.

This particular dashboard consists of two NRQLs (obviously);
SELECT count(*) FROM Transaction WHERE appName LIKE ‘%(Production)’ FACET httpResponseCode SINCE 30 MINUTES AGO TIMESERIES
SELECT count(host) FROM Transaction where host IN(‘host1’, ‘host2’, ‘host3’) FACET host SINCE 30 MINUTES AGO TIMESERIES


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#26

Simplicity is great, @Geir.Arne.Aasen, isn’t it?

You’re going to want to add some of your associated NRQL queries and a value statement if you want to earn that t-shirt! And, you’re right: it is a really cool t-shirt, by the way. :wink: Thanks!


Customer Dashboard: Authentication and Node Balance
#27

Infra Costs Monitoring

(even without NewRelic Infrastructure)

This dashboard helps us to monitor and optimize Infrastructure costs by visualizing NewRelic ComputeUnits and UniqueHosts. No other monitoring tool (we also have SysDig and Prometheus) or even AWS itself allows us such deep insights into the resource consumption of each single app running in our Kubernetes clusters across the world.

And the best: Even without Insights Pro the data is available for years in the past

Resource Consumption per Application

SELECT sum(apmComputeUnits) FROM NrDailyUsage FACET apmAppName LIMIT 20 WHERE `productLine` = 'APM' and `usageType` = 'Application' since 7 days ago
Application ComputeUnits consumed by each app (also works in KUBERNETES CLUSTER !!!)

Monthly runrate of NewRelic costs

SELECT SUM(apmComputeUnits) * 0.015 * 30 as NRCosts FROM NrDailyUsage WHERE `productLine` = 'APM' AND `usageType` = 'Host' FACET dateOf(timestamp) since 7 days ago
Based on Host ComputeUnits it’s possible to calculate the monthly NewRelic costs by multiplying with whatever your CU price is

Long term Application ComputeUnits usage

SELECT sum(apmComputeUnits) FROM NrDailyUsage timeseries 1 day LIMIT 40 WHERE `productLine` = 'APM' and `usageType` = 'Application' facet apmAppName since 12 months ago
APPLICATION ComputeUnits consumed by each app per day over 12 months (even without Insights Pro!!!)

Long term Host ComputeUnits usage

SELECT SUM(apmComputeUnits) as usage FROM NrDailyUsage WHERE `productLine` = 'APM' AND `usageType` = 'Host' TIMESERIES 1 day SINCE 12 months ago facet cases(where cloudZone LIKE 'ap-southeast%' as Singapore, where cloudZone LIKE 'eu-central%' as Frankfurt, where cloudZone LIKE 'eu-west%' as Dublin, where cloudZone LIKE 'ap-southeast%' or cloudZone LIKE 'eu-central%' or cloudZone LIKE 'eu-west%' as Others) LIMIT 20
HOSTS ComputeUnits provided for each AWS region over 12 months (even without Insights Pro!!!)

Kubenetes Cluster: Pods in % per app

SELECT filter(uniqueCount(host), where appName LIKE 'xxx') / uniqueCount(host) * 100 as PodPercentage from Transaction TIMESERIES since 7 days ago
Percentage of Kubernetes Pods running for single app

Kubenetes Cluster: Usage in % per app

SELECT filter(sum(apmComputeUnits), where apmAppName LIKE 'xxx') / sum(apmComputeUnits) * 100 as ClusterUsagePercentage FROM NrDailyUsage where `productLine` = 'APM' and `usageType` = 'Application' TIMESERIES 1 day since 1 month ago
Percentage of Kubernetes Cluster Usage by single app

Hosts per day

SELECT uniqueCount(cloudInstanceId) as usage FROM NrDailyUsage WHERE `productLine` = 'APM' timeseries 1 day since 12 months ago FACET cases(where cloudZone LIKE '%eu-central%' as Frankfurt, where cloudZone LIKE '%eu-west%' as Dublin, where cloudZone LIKE '%ap-%' as Singapore)
Unique Hosts seen per day in each AWS region - over 12 months (even without Insights Pro!!!)

EC2 instance types

SELECT uniquecount(agentHostname) FROM NrDailyUsage LIMIT 40 WHERE `productLine` = 'APM' and `usageType` = 'Host' and cloudZone LIKE 'ap-%' facet cloudInstanceType since 7 days ago
EC2 Instance type running in Asia AWS account

Some more tips I shared recently:

https://tech.deliveryhero.com/blog_post/newrelic-tricks-we-wish-we-would-have-known/


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters


#29

This is a SpringBoot microservices API dashboard - that is beautifully designed to capture the key metrics such as -

  • API Response codes.
  • API Average response time.
  • External web services that this API calls.
  • Database, Redis data dependencies this API relly on.
  • Top 5 Errors and Error rate.
  • CPU and Memory usage by each host.

My favorite NRQL to get the transaction counts for web service call this api makes (we are using CXF library).

SELECT count(library.CXF.soap.Message Name) FROM Transaction FACET library.CXF.soap.Message Name SINCE 12 HOURS AGO TIMESERIES

NRQL to get API response codes:

SELECT count(httpResponseCode) FROM Transaction FACET httpResponseCode SINCE yesterday WHERE appName = ‘your-app-name’


Vote for this Dashboard!

  • :star: :star: :star:
  • :star: :star:
  • :star:

0 voters