Integrating New Relic with your Percussion server can help to provide Percussion administrators with excellent performance tuning data for the installations that they manage.

Percussion and New Relic Integration

Wed Mar 30, 2016

New Relic Web Site

New Relic provides a popular set of monitoring and performance management tools for web applications.  Integrating New Relic with your Percussion server can help to provide Percussion administrators with excellent performance tuning data for the installations that they manage. The APM services in particular, allow for full instrumentation and monitoring of the main Percussion server, Memory, CPU, content repository database performance, server response time, and instance up time.  Enabling New Relic on a Percussion installation is done by downloading the New Relic Java Agent from your New Relic Account.

Installing the New Relic Java Agent

Screenshot of New Relic APM Java Agent Installation Page

The Java Agent can be installed, downloaded, and unzipped into your Percussion installation tree.  The New Relic instructions ask you to unzip New Relic into your Application Server.  This is the Percussion installation directory.  For example, given a Percussion CM1 server installed to /opt/Percussion or a Rhythmyx server installed to opt/Rhythmyx

the unzip command would be:

For CM1 Linux systems: unzip newrelic-java-3.26.1.zip -d /opt/percussion

For Rhythmyx Linux systems:  unzip newrelic-java-3.26.1.zip -d /opt/Rhythmyx

You can skip the New Relic installation step as Percussion requires manual installation.   After unzipping New Relic, use a text editor to edit the /opt/percussion/newrelic/newrelic.yml file.   You need to provide New Relic with your License Key (provided on their Java Agent Setup Page) and the name of the server that you are instrumenting for display in the New Relic Dashboard. 

For example:

cd /opt/percussion/newrelic

nano newrelic.yml

Screenshot of editing the New Relic YAML configuration file file

New Relic requires the license_key and the app_name be specified, so make sure that you don't skip this step. 

Configuring Percussion for New Relic

To configure Percussion for the New Relic Java Agent, the lax file for the server must have the New Relic agent added to it's Java options.  This is done by editing the following file:

Windows CM1: PercussionServer.lax

Linux CM1: PercussionServer.bin.lax

Windows Rhythmyx: RhythmyxServer.lax

Linux Rhythmyx: RhythmyxServer.bin.lax

Note that depending on your installation settings, your Java options may look different than the options below.  The important part to add is the  -javaagent:/pathto/percussion/newrelic/newrelic.jar entry.  Java options should be kept on one line.

#   Java arguments
lax.nl.java.option.additional=-Dprogram.name=RhythmyxServer.exe -Xms256m -Xmx2048m -Djava.endorsed.dirs="AppServer/lib/endorsed"
-Djava.library.path=./bin -server -XX:MaxPermSize=256m -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
-Djboss.server.log.dir=logs/AppServer -javaagent:/opt/percussion/newrelic/newrelic.jar

Restart Percussion to Apply the Change

In order to start getting metrics in New Relic APM Dashboards, Percussion must be restarted.

CM1 Linux: cd /opt/percussion/bin;rhythmyxdaemon stop ..;rhythmyxdaemon start ..;

CM1 Windows: Stop the Percussion Service, Verify in C:\Percussion\logs\AppServer\server.log or Windows Task Manager that the server has fully shutdown, Start the Windows Service.

Rhythmyx Linux:  cd /opt/Rhythmyx/bin;rhythmyxdaemon stop ..;rhythmyxdaemon start ..;

Rhythmyx Windows:  Stop the Percussion Service, Verify in C:\Rhythmyx\AppServer\server\rx\server.log or Windows Task Manager that the server has fully shutdown, Start the Windows Service.

After Restart it takes around 5 minutes for metrics to start to be displayed in New Relic.

Revel in Dashboard Metrics

As a sysadmin, it can often be hard to track down performance bottlenecks, report on SLA's, and see the overall state of the systems that you manage.  Tools like New Relic provide excellent visual insights and data on current performance, opportunities for tuning, and tracking down configuration errors or application bugs.

Screenshot of New Relic APM Dashboard with Metric Logging from a Percussion installation

Screenshot of New Relic's Database Metrics

Wrapping Things Up

New Relic is one of a number of tools that Percussion integrates with for enterprise caliber System Administration & Performance Monitoring. Percussion's open integration model, and standards based approach to system components, supports a wide number of 3rd party vendors.  For customer's looking to deploy New Relic in their environments, we hope that this post was useful.  If there is a different tool or service that you are currently using, or are interested in using to manage your Percussion deployment, we'd love to hear from you in the comments.

Nate Chadwick
Nate Chadwick
Vice President of Products & Services | Percussion Software

N/A