If you were not directed to this post from the ‘Get Certified, Get Socks’ post, I recommend you take a look at that for some more context before continuing on this thread.
The Fundamentals Certification is difficult, there are a total of 108 possible questions covering every area of New Relic, you get a random selection of 20 questions for each test you take. It’s impossible to know what will come up in your test, but it’s good to be as prepared as possible. To that end, we are posting weekly Tips of the week, that are geared towards a specific sub-section of the Fundamentals Certification.
The Tip of the Week this week will be aimed at the Intro to performance monitoring section. With that we will be covering a high level intro to New Relic as a whole. We’ll look at all products and give a sentence or two as to what that product is useful for. Part of the certification is being able to identify which New Relic tool would be best for a certain scenario, and the below information should help you out with that.
Intro to New Relic.
Below are several drop-downs highlighting each area of New Relic, what it looks like and what value is available in each section.
New Relic APM
At first glance in New Relic APM we see backend transaction response times, error rate, a list of top 5 slow transactions, throughput, all showing data for the time period we have selected.
While you can dig deeper into all of these charts, at a glance we can see if we have any errors in our app that could be causing a bad user experience, how busy our app is right now, and whether or not our users are having a good experience.
Once you do drill down into each chart you can start looking far more detail, such as transaction traces to see which actions, and which segments of actions are taking a long time & bogging down your application. Whether that’s calls to the DB, or external services, or just inefficient code.
New Relic Browser
Browser is tracking the Front End, the pages your actual users are using. Often known as RUM (Real User Monitoring), this is showing the exact experience your customers are having.
The Browser Overview page goes through a lot, with the ability to drill down further. You’ll see in every part of New Relic, the ability to Drill Down is where you can get a lot more value, but the at a glance view can also give a lot.
In the screenshot above you’ll see that we have a steady stream of pages with JS errors, and our AJAX response times show a similarly tracking chart. The slight drop in throughput that we see aligns with that drop in the error chart & ajax response time chart. You’ll see that as the JS errors and AJAX time drops, the Apdex increases. Where Apdex is a score of user satisfaction, the higher we can go (up to 1.0), the better.
So obviously lower errors, faster response times, better end user experience.
In this case it looks like just a slight temporary dip in throughput that led to that, but that shows us as an example, that everything we see plays into the user experience that New Relics monitoring will help you to improve.
New Relic Synthetics
If you think of Browser as your actual end users, you can think of Synthetics as your robot test-dummies.
There are 4 monitor types to choose from in Synthetics, from simple Ping, to advanced scripted checks, each has the goal of being able to tell you that there may be a user experience issue in your site before your customers notice.
Allowing you to hit your website from numerous global locations, Synthetics can show you a world view of your customers potential experience in your services. In our example above, this is a e-commerce site with a checkout workflow. We can see the load times per location over the last few hours, we can see the slowest timed checks per location below as well, and on the right we can see the times a monitor has failed.
In this case the script is running through the checkout flow, adding an item to cart and attempting to get through to the payment screen. The failures we have here tell us that our real users could potentially run into issues with the Checkout button not appearing. That’s a crucial piece of information, since revenue depends on customers making purchases. Anything that stands in the way will frustrate your customers, and potentially lose you revenue.
To that end, the key to a good Synthetics set up is to ensure you are tracking your business critical workflows, and have effective alerting set up so you know where a problem lies before your real customers notice.
New Relic Mobile
We already discussed monitoring the real user performance in your frontend browser applications, but what about Mobile Apps? Well that’s where New Relic Mobile comes in, the ability to see the event trail and methods that lead up to an App Crash gives you and your team the crucial information needed to build the best mobile experiences for your users.
From the Mobile overview page we see some hugely helpful ‘at a glance’ information, such as the crash rate over the time period selected, as well as the number of app launches, both faceted by app version.
The Interactions table below shows which parts of your app are most frequently viewed, and you can see the Interaction Load Times as the
Duration- letting you know whether or not your mobile users are having the smoothest experience you could offer.
New Relic Infrastructure
Infrastructure is where to go when you need to dig in to the underlying architecture your applications run on. Whether you are on-prem or in the cloud, Infrastructure lets you monitor your hosts, showing all the information you should need to troubleshoot the most common issues.
On the Infrastructure landing page you’ll see some system metrics like CPU/Memory/Etc… We can clearly see in our screenshot that one of our hosts appears to have gone offline (the purple line that drops half way into the chart). Drilling down into the events tab in infrastructure I see that the purple host that has gone offline had the event:
Agent disconnected listed around the time shown in the charts.
Similarly for troubleshooting APM Applications that are offline, we can dig into the processes tab of Infrastructure to see whether or not a poorly performing host, or any other event caused the Application process to go offline.
New Relic Alerts
Every New Relic Product provides great value in it’s own way depending on what it is you are trying to achieve with New Relic. With that said, the value obtained in New Relic is multiplied when you have effective alerting configured.
Alert policies are a collection of conditions, which target your Apps/Monitors/Hosts/Etc… The screenshot above is an Alert incident created after the APM Application response time increases beyond our ideal threshold. Along the left side you see the list of similar violations that have been grouped into this incident (this post is a great resource on violation grouping).
Along with a preview of the shart outlining the timeline of events for this incident, highlighted in pale blue you can see some additional context. This shows us that yes, response time was high, but so was not just the total transaction call time, but a call to a particular external service was high too. This extra incident context can prove invaluable when it comes to pin pointing the cause of your alert incidents.
Alerts provides you with multiple methods of being notified by your conditions, and provides you the additional context required to help pin point what could have caused the incident to trigger.
New Relic Insights
Insights - this is where all of the data ties together. New Relic Query Language (NRQL), a SQL-like language allows you to ask questions of your data. Almost every New Relic tool sends a great amount of data to Insights by default, though you are welcome to ingest more custom data as you require.
The dashboard in the screenshot is a collection of charts and tables built by NRQL queries, grouped together into a dashboard.
While the data here is fake test data, you can see the general picture of how useful NRQL can be not just for your dev team, but you can also build dashboards suitable for the C-Level, Revenue focussed teams as well.
A common use case in the e-commerce user base is to send a custom Insights attribute that maps to the checkout value (or purchase price), and correlate this to errors that exist in the checkout page. Doing some simple & quick maths in a query, you can have a widget that shows you the potential revenue lost due to errors.
So what next?
Hopefully having read through this, you are familiar with a small part of each product’s UI, and you have a high level understanding of what each tool can be used for.
So, take the Certification Tests. There are 3 to get through & your knowledge from this post should help you with a part of them.
Post your scores as a screenshot here: New Relic Fundamentals Certification: Get Certified, Get Socks For some New Relic Socks
And if you have any additional questions, drop them below or come to one of our many live Coffee Chats: