New Relic

New Relic is a performance monitoring tool.

Installation

Usage

Warning

In order to share links you need to both be logged in as the same user.

New Relic Slack Alerts

You can set up New Relic to send out alerts to a slack channel. There are 2 main steps to follow.

Setting up Slack to speak to New Relic

  1. While on the New Relic homepage, click on "Alerts new" on the top right.
  2. On the middle of this page at the top, select "Notification Channels"
  3. Click on "New notification Channel" and change the channel type to "Slack"
  4. We now need a webhook link from slack. Go to the apps and intergrations page on slack.
  5. Click Manage on the top right
  6. In here you should already see New Relic click on it. If for some reason this is not the case, you will have to add New Relic to slack.
  7. You should now see a list of configurations. This is where we will find the one we are about to make in future. Click on "Add Configuration".
  8. Choose the slack channel that alerts and updates will be posted to. The channel is usually related to the client.
  9. You will now see various expandable menus and also the intergrations settings. Scroll down to "Webhook URL" and copy the URL that is there.
  10. You now need to go back to into New Relic where we left off and paste in the URL we copied into "URL".
  11. Give it a name under "channel name" You shouldn't have to type out the channel where it says "Team Channel" as we already did this in Slack. But if for some reason you are not getting slack updates, it may be worth a try. Now select Create Channel
  12. You should now see your new channel in a list.

Setting the Alert policy in New Relic

  1. In the tabs under the New Relic logo, you should see "Alert policies". Click onto it
  2. Click onto "New alert policy" on the top right
  3. You will now have made a new policy. You can change the name of it by hovering over the name on the top left.
  4. Now we need to create a condition so click on "Add a condition".
  5. You will now see a few menus. You need to change these settings so that they make sense with the site. If you are part of the admin team, it is best to ask the dev who is assigned to the site.
  6. Before you hit "Save condition", you need to switch to the "notification channel" tab at the top.
  7. Click on "Add notification channels". A popup will appear which will show some folders.
  8. Open up the slack folder. Tick the slack channel intergration that was made earlier.
  9. Update the policy, switch the table to "Alert conditions" and hit "save condition"

That should be it. You're all set.

Monitoring

This is one of the main headings on the left. This covers all the data collected from the server. Under this you'll find the following items.

Overview

This gives you a quick overview of the health of the site.

Overview Page

Time period

You can control the time period in which you wish to review the data by selecting the 'Web transaction time' dropdown above the main graph or selecting (highlighting) a time period on the main graph. Once you've done this all the other monitoring data you'll view will adhere to this time period.

Response time

On the main graph you can see the total response time for each transaction. This is broken down into the different actors involved in the request e.g. PHP, MySQL etc.

Transactions

This gives you a list of the worst performing transactions for the current time period. You can click on these to get more info.

Error Rate

The error rate over time.

Apdex score

This is a metric designed to give you an idea of how well the site is performing. On this screen you can see the score over time.

Throughput

This gives you the number of requests per minute (rpm) over time.

Transactions

This page provides a breakdown of transactions.

Transactions

Transaction Sorting

You can sort the transactions by:

  • Most time consuming
  • Slowest average response time
  • Apdex most dissatisfying
  • Highest throughput

Transactions

On the left you'll see a list of transactions. You can click on these to get more details.

More details

After clicking on a transaction you'll see a breakdown of the transaction and where the most time was spent.

Transaction Details

Transaction Traces

If a transaction has taken longer than 4 * the apdex time then a transaction trace is stored by New Relic. This gives you a detailed trace of the transaction and how much time was spent at each step (see Trace details and Database queries tabs).

Transaction Trace

Databases

This section is much the same as transactions but focuses solely on database queries. The same as before you can sort the queries, click on them for details and view query traces for queries that take a long time to run.

Database Query Trace

This includes the query, optimisation options and the stack trace for the code that ran the query.

Database Query Trace

External Services

This lists all the external services used by the site and how much time they consume. Again this can be sorted and clicked on for more details.

External Services

Events

Error Analytics

Note

The Errors section has been retired

This page displays all the errors that New Relic is aware of and how many times they've occurred withing your selected time frame.

Note

New Relic seems to miss some errors so don't 100% rely on this.

Error Analytics

You can click on the error to get more info including a stack trace.

Error Details

Installing and Upgrading using the .rpm's

In order to upgrade New Relic you'll need to grab the latest .rpm files from:

Release Notes

Then SCP these up to the server and upgrade using:

1
rpm -Uhv newrelic-php5-common-<version>.noarch.rpm newrelic-daemon-<version>.x86_64.rpm newrelic-php5-<version>.x86_64.rpm

Billing

You can find usage data at Account (top right corner) > Account Settings > ACCOUNT > Usage.

CU

1
Instance Size = Number of CPU Cores + Total GB of RAM

The instance size is capped at 16 per instance (server). This means that any resources over 16 aren't charged for.

1
CUs = Instance Size x Number of Hours Used

This means that for each hour in which you send at least one request to New Relic your CUs will increase by the instance size.

Hosted

This is a flat charge per server being monitored. This charge is agreed with New Relic.