This is the second part of our implementation guide.
In the previous implementation stage you set up your New Relic organization and did some thinking about your instrumentation plans and your users' New Relic responsibilities. Now it's time to do the actual instrumentation.
Organizations that end up being successful with their observability goals are those that get telemetry data reporting from all the relevant components in their stack. In this stage of the setup, we'll walk you through steps that will hopefully instrument a large percentage of your stack and give you a strong observability foundation that you can then build on.
In this stage, you will:
- Set up infrastructure monitoring.
- Set up application monitoring, which can include one or more of these:
- Our agents, which monitor some of the most language-specific app frameworks.
- Our other solutions for application monitoring, including integrations for OpenTelemetry, StatsD, or other services and APIs.
- If your app has a web-facing interface: set up
- If you have a mobile app: set up mobile monitoring.
Deploying New Relic at scale
If you're currently deploying your hosts and application(s) at scale, it will make sense to also automate your New Relic tooling by including it in your automation and provisioning pipelines.
This guide will walk you through some standard install procedures but many of these can be automated in various ways. If you plan on deploying New Relic at scale, consider assigning team members to work on that project.
Some resources for deploying at scale:
Infrastructure monitoring
New Relic infrastructure monitoring provides you with a complete view of the health and configuration changes for your entire host ecosystem, across all environments.
Our infrastructure monitoring comprises a variety of tools, ranging from our infrastructure agent that installs on your hosts and instruments common operating systems, to our Docker and Kubernetes integrations, to our cloud platform integrations that report telemetry data from the cloud services you use, to our integrations for many popular infrastructure-related services.
Watch a 6 minute video showing what infrastructure monitoring can do for you:
If you've already instrumented some of your infrastructure, you should see it in the infrastructure UI. If you haven't yet done this, or need to add more data, this section will give you some recommended paths.
Guided install (infrastructure and APM)
The guided install is a good choice for small organizations, or for anyone who wants to test out New Relic before a more comprehensive install.
The guided install auto-discovers your environment and installs applicable solutions, including our infrastructure agent, some infrastructure-related integrations, our Kubernetes integration, APM agents, and some log instrumentation. It works in most common environments, including common operating systems, in Docker containers, and apps in Kubernetes.
The guided install can be a good option for testing out and prototyping before a larger deployment. If you'd prefer to install things manually or have more control over the installation process, see the manual install section below.
To watch someone use the guided install to add data and dashboards in just a few minutes, watch this 5-minute video:
Ready to use the guided install? Go to the guided install page in New Relic.
Manual install for infrastructure agent and on-host integrations
As an alternative or a supplement to the guided install, in the collapser below are procedures for installing the infrastructure agent and integrations for infrastructure services:
Cloud platforms: AWS, Azure, GCP
When you install the infrastructure agent on hosts in supported cloud platforms (AWS, Azure, GCP), you'll get some basic metadata reported about those platforms by default. Additionally, you should enable our cloud integrations to get more detailed data from your cloud platform services:
Interested in deploying at scale? Some resources:
- Our observability-as-code guide includes information on using Terraform and other options
- Our NerdGraph API docs for cloud integrations
Extend and customize infrastructure monitoring
We have many infrastructure-monitoring tools, and those tools have various customization and configuration options. You can also extend the infrastructure agent's capabilities with our simple Flex integration, which lets you build integrations for nearly any service. You also have the option of using our data ingest APIs directly.
Tips on using the infrastructure UI
- Watch a 5-minute video showing how to use the infrastructure UI
- Infrastructure monitoring best practices
Application monitoring
The APM summary page gives you an overview of some of your most important application metrics.
Next you'll instrument your application or applications, if you haven't already done so (for example, with the guided install). Instrumenting your application gives you insight into its performance and availability, and helps you diagnose application performance problems.
We have several solutions for application performance monitoring (APM). Select the most applicable choice below:
- Our agents: this is the most popular choice for app monitoring. If you haven't already installed an APM agent (for example, via the guided install), go to the Add your data UI page and select a language. When you're done, look for your app data in the APM summary UI and in the distributed tracing UI.
- Our OpenTelemetry integration: set up OpenTelemetry and see your data in our OpenTelemetry UI.
- We have integrations for common telemetry standards and services, like StatsD and Prometheus.
- For mobile apps and browser applications: we'll talk more about those in a bit.
APM best practices and considerations
Our agents are one of our most popular tools, so next we'll give some APM tips and considerations.
App naming
You'll want to spend some time thinking about what to name your APM-monitored apps in New Relic. If you change the app name later, it treats it as a new app and you won't have continuous data reporting for that app. To keep things consistent, we recommend standardizing your app naming: for example, append all names of apps in a staging environment with [staging]
.
For more tips on application naming, see App naming.
APM deployment markers
It's a good practice to set up deployment markers, which help you see how performance issues are related to your deployments. For how to set this up, see Deployment markers.
Custom instrumentation for APM
Out of the box, our APM agents give you many curated views and dashboards. But customizing what data gets reported will help you get the most out of New Relic. For example, if you have user/customer IDs that are important for you to track, you can configure your APM agents to report those. To get started with that, see:
- Custom instrumentation, for customizing how the agent instruments your app
- Custom events and attributes, for adding new events and metadata
Developer collaboration
Want your developers to be even more aligned? New Relic CodeStream is a developer collaboration platform that lets your team review code in a natural and contextual way. CodeStream makes your discussions easier by allowing them to happen in context in your IDE. It also preserves the institutional knowledge that is often lost in Slack channels and emails. Learn more about CodeStream.
Other best practices
For more tips for APM, see APM best practices.
Real user monitoring
To help you monitor your end user's experience, we offer browser-side and mobile app observability.
Browser monitoring
Our browser monitoring gives you insight about the experiences your end users are having with your digital properties. Our browser agent is optimized for a wide variety of application architectures. It can monitor dynamic applications and track route changes, initial page loads, and synchronous and asynchronous activity during browser interactions. You can also see your real user data in your distributed traces, alongside your application data.
It's easy to set up browser monitoring, especially if you have an APM agent installed already. To get started, see the Add your data UI page and click Browser monitoring.
When you've completed the setup, look for your data in the browser summary UI page and in the distributed tracing UI. Use our core web vitals charts to undertand how your services perform according to Google's Core Web Vitals.
Watch a short video on setting up browser monitoring:
When setting up your browser monitoring, it's important to ensure your browser URL segments are captured correctly. Sometimes URLs will be rolled up and aggregated at too high a level to be useful, and sometimes they'll be too granular and you want more aggregation. For more on that, see Group data and other tips in the best practice guide.
Mobile monitoring
Our mobile monitoring features help you gain deeper visibility into your Android, iOS, and React Native mobile apps and their performance. You'll also see your mobile user data in your distributed traces, alongside your application data.
To get started, see the Add your data UI page and select a mobile framework. When you're done, you'll see your data in the mobile monitoring UI.
Here's a short 3-minute video showing how to monitor a React Native mobile app:
For more on setting up mobile monitoring, see our guide to mobile monitoring best practices.
Logs
Our APM agents and infrastructure agent are designed to report logs out-of-the-box for some common logging frameworks and setups. We call that log data logs in context because you see those logs not only in our main logs UI but also alongside your app and host data in the APM and infrastructure UI.
After installing these agents, it's possible you may not see logs show up. One common reason is that your logs aren't stored in a directory we expect. If you've installed the infrastructure and/or APM agents and don't see logs, see Not seeing logs.
Log forwarding
In addition to logs from our agents, you can also set up log forwarding to report logs from many popular services, like Fluentd, Cloudflare, and Logstash.
Logs UI
Here's a 2-minute video showing our logs UI in action:
Log configuration
We automatically parse your logs and detect important attributes (key:value pairs) so that you can more easily search, query, and alert on your logs. But because logs vary so much and are so unstructured, we typically can't parse everything relevant to you, so you'll likely want to set up additional parsing and configuration rules. For more on that, see Configure log parsing.
Logs can sometimes generate a high amount of data ingest. For more on how to adjust or reduce your log data ingest, see Manage data.
Some best practices after install
Installing our agents and other integrations is just the first step of an ongoing observability optimization process. Some best practices to keep in mind:
- For the instrumentation you've set up, you'll want to later spend time configuring those tools to work best for you. For example, if you installed an APM agent, this would mean later reviewing the docs for that agent to understand the configuration options.
- Go to the usage UI to get a high-level view of your data ingest.
- If you've installed one or more of our agents, you should update them on a set cadence. For best results, we recommend monthly or quarterly.
Did this doc help with your installation?
Validate data reporting
Reviewing service maps is one way to ensure you've instrumented everything you need to monitor.
At this stage, if you haven't already, you should review the data you're reporting. Ideally, you'll have good visibility of all the entities relevant to your operations.
Here are some tips for understanding the data you're reporting and ensuring you're set up well:
- Go to the explorer view, where you can see all your monitored entities in one place.
- Check out the distributed tracing UI and see how complete your traces are.
- Go to the usage UI to see an overview of your ingested data (note that this requires billing permissions)
- If you've already set up workloads in New Relic, ensure those workloads contain the data you expect to see. (We'll talk more about workloads later.)
- If you'd like to go more in-depth into optimizing your instrumentation, check out our Account maturity app: it helps you review your instrumentation and see features you're not using.
If you see significant gaps in instrumentation, you can fill those gaps by setting up more integrations, either now or after you complete this guide.
Next stage
Ready to continue on your implementation journey? Go to the next stage: Understand and organize your data.