New Relic RPM is an excellent tool for improving and monitoring your Drupal installation. Visit http://newrelic.com for information and the ability to sign up for a free trial of their Pro service. Visit https://newrelic.com/docs/php/new-relic-for-php for instructions on how to install the PHP extension and the reporting daemon.
Check out Dries' post about New Relic RPM here: http://buytaert.net/playing-with-new-relic-on-acquia-hosting.
This module is neither supported, nor endorsed by New Relic. Its purpose is to enhance New Relic RPM's integration with Drupal and bring visibility of your website's performance into Drupal. It also allows you to perform some tasks pertaining to New Relic's monitoring of your site from within your Drupal website.
Features at a Glance
- Allow cron to be marked as a background task (background task data does not directly affect your site's reporting and alerts)
- Allow any URL to be marked as a background task
- Allow any URL to be ignored by RPM (say if you are testing at a certain URL and don't want any actions there mucking up your stats)
- Allow the exclusive tracking of only specific URLs
- Pulling in basic reporting into Drupal
- Provide a menu of quick links to launch over to the RPM site and view certain graphs/dashboards for the current site
- Automatically mark module install/uninstall actions as deployments on the RPM site with the modules installed/uninstalled
- Provide a form for manual deployment creation
- New in 7.x: Allow to catch exceptions and watchdog errors and send them to New Relic as errors. That allows to aggregate, alert and get very useful backtraces for those errors.
The New Relic RPM module installs by simply enabling it on the Drupal modules page. However, immediately after the installation is complete the module will check for PHP functions made available by the New Relic RPM php extension. If these functions are not available, the module will automatically de-install itself.
You MUST install the New Relic RPM php extension before enabling this module. Instructions on how to do so are available here.
The page at admin/settings/new-relic-rpm (admin/config/development/new-relic-rpm in 7.x) provides basic settings for the module's integration.
- Cron: You have 3 options regarding cron. The first is to instruct RPM to ignore cron tasks completely and not report on them; the second is to mark them as background tasks; the third is to track them the same as any other URL in your application.
- Drush: You have 3 options regarding drush. The first is to instruct RPM to ignore drush executions completely and not report on them; the second is to mark them as background tasks; the third is to track them the same as any other URL in your application.
- Module Install/Uninstall: RPM allows you to create 'deployments' which are essentially markers where you tell RPM you have made changes to your site. RPM will then allow you to compare a variety of metrics before and after the deployment. Enabling this setting will automatically create a deployment each time you enable or disable a module. A deployment changelog entry is made noting which modules you enabled and/or disabled.
- Ignore URLs: Enter a list of URLs you wish RPM to ignore and not report on. Use standard Drupal URL listing syntax.
- Background URLs: Enter a list of URLs you wish RPM to consider as background tasks. Use standard Drupal URL listing syntax.
- Exclusive URLs: Entering a list of URLs here will cause RPM to ignore all other URLs and only track these URLs. If URLs are entered here the two URL lists above are ignored (your selection for cron functionality is unaffected by this setting).
- API Key: Enter your RPM API key here. This is necessary for reporting and deployment tracking functionality.
- Forward watchdog messages: Allows to configure which watchdog severities are reported to New Relic as errors. The new relic error logging does not provide severities, so everything will be reported as an error.
- Override exception handler: If enabled, the module replaces the default exception handler, that allows to report the correct backtrace of uncatched exceptions.
The page at admin/reports/new-relic-rpm brings some basic RPM statistics about your site into Drupal.
NOTE: Threshold violations are not properly detected on this page yet.
The page at admin/content/new-relic-rpm is used for manually creating deployments. This page will most likely be moved to the 'build' section of the website.
TODO: In addition to module install/uninstall tracking, tracking of feature upgrades via the Features module as well as the running of update.php needs to be rolled into deployment creation.
TODO: The creation of an organized deployment versioning within the Drupal website is desired.