Percussion and New Relic Integration
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
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.
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
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.
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.