#New Relic Plugins
####Table of Contents
- Overview
- Module Description - What the does the module do?
- Setup - The basics of getting started with New Relic Plugins
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- License
- Contact - Contributing to the module or feedback
##Overview
This module installs, configures and manages as a service, New Relic Plugins on Debian/RHEL.
To use the module, add it to your Puppet modules path under the name newrelic_plugins
.
##Module Description
The following New Relic plugins are supported through this module:
- AWS Cloudwatch
- MySQL
- F5
- Memcached (Java)
- Memcached (Ruby)
- Rackspace Load Balancers
- Example
- Wikipedia Example Java
- Wikipedia Example Ruby
##Setup
###Requirements
The AWS Cloudwatch, F5, Example and Wikipedia Example Ruby plugins require:
- Ruby >= 1.8.7
- Rubygems >= 1.8
The MySQL and Wikipedia Example Java plugins require:
- Java Runtime Environment (JRE) >= 1.6
There are several Java and Ruby Puppet Modules available on Puppet Forge.
###What New Relic Plugins affect
- Creates installation path
- Curls and extracts distribution file(s) (e.g. tarball)
- Creates configuration files
- Installs bundler gem (ruby plugins)
- Creates and manages service init script
##Usage
An example of using the AWS Cloudwatch and MySQL plugins with two classes. See the below sections for plugin specifics.
class { 'newrelic_plugins::aws_cloudwatch':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
aws_access_key => 'AWS_ACCESS_KEY',
aws_secret_key => 'AWS_SECRET_KEY',
agents => [ 'ec2', 'ebs', 'elb' ]
}
class { 'newrelic_plugins::mysql':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
java_options => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
servers => [
{
name => 'Production 1',
host => 'localhost',
metrics => 'status,newrelic',
mysql_user => 'USER',
mysql_passwd => 'CLEAR_TEXT_PASSWORD'
}
]
}
###AWS Cloudwatch Plugin
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_aws_cloudwatch_plugin
.
user
- (required) User to run as
aws_access_key
- (required) AWS Cloudwatch Access Key
aws_secret_key
- (required) AWS Cloudwatch Secret Key
agents
- (required) Array of AWS Cloudwatch agents. Valid values are ec
, ec2
, ebs
, elb
, rds
, sqs
, and sns
version
- (optional) Plugin version. Defaults to latest release version.
regions
- (optional) Array of AWS Cloudwatch regions. e.g. us-east-1
. Defaults to all available regions
####Class
class { 'newrelic_plugins::aws_cloudwatch':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
aws_access_key => 'AWS_ACCESS_KEY',
aws_secret_key => 'AWS_SECRET_KEY',
agents => [ 'ec2', 'ebs', 'elb' ]
}
For additional info, see https://github.com/newrelic-platform/newrelic_aws_cloudwatch_plugin
###Example Plugin
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_example_plugin
.
user
- (required) User to run as
####Class
class { 'newrelic_plugins::example_plugin':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic'
}
For additional info, see https://github.com/newrelic-platform/newrelic_example_plugin
###F5 Plugin
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_f5_plugin
.
user
- (required) User to run as
agents
- (required) Array of F5 agents that require a name, host, port and snmp_community
version
- (optional) Plugin version. Defaults to latest release version
####Class
class { 'newrelic_plugins::f5':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
agents => [
{
name => 'My F5',
host => 'my-f5',
port => 161,
snmp_community => 'community'
}
]
}
For additional info, see https://github.com/newrelic-platform/newrelic_f5_plugin
###Memcached (Java)
####Parameters
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_memcached_java_plugin
.
user
- (required) User to run as
servers
- (required) Array of Memcached server information
version
- (optional) Plugin version. Defaults to latest release version
java_options
- (optional) String of java options that will be passed to the init script java command. E.g. -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345
for proxy support. Defaults to -Xmx128m
(max 128mb heap size) but may be overridden.
####Class
class { 'newrelic_plugins::memcached_java':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
java_options => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
servers => [
{
name => 'Production Master',
host => 'host.example.com',
port => 11211
},
{
name => 'Memcached Host - 2',
host => 'host2.example.com'
}
]
}
For additional info, see https://github.com/newrelic-platform/newrelic_memcached_java_plugin
###Memcached (Ruby)
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_memcached_ruby_plugin
.
user
- (required) User to run as
agents
- (required) Array of Memcached hosts that require a name and host and take an optional port.
version
- (optional) Plugin version. Defaults to latest release version
####Class
class { 'newrelic_plugins::memcached_ruby':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
agents => [
{
name => 'Memcached Host - 1',
endpoint => 'memcached.example.com',
port => 11211
}
]
}
For additional info, see https://github.com/newrelic-platform/newrelic_memcached_plugin
###MySQL Plugin
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_mysql_plugin
.
user
- (required) User to run as
servers
- (required) Array of MySQL server information
metrics
- (optional) Default set of metrics. Can be overriden in servers
mysql_user
- (optional) Default user name. Can be overriden in servers
mysql_passwd
- (optional) Default clear text password. Can be overriden in servers
version
- (optional) Plugin version. Defaults to latest release version
java_options
- (optional) String of java options that will be passed to the init script java command. E.g. -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345
for proxy support. Defaults to -Xmx128m
(max 128mb heap size) but may be overridden.
####Class
class { 'newrelic_plugins::mysql':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
metrics => 'status,newrelic',
mysql_user => 'USER_NAME_HERE',
mysql_passwd => 'USER_CLEAR_TEXT_PASSWORD_HERE',
java_options => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
servers => [
{
name => 'Production Master',
host => 'master-host'
},
{
name => 'Production Slave',
host => 'slave-host'
}
]
}
class { 'newrelic_plugins::mysql':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
java_options => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
servers => [
{
name => 'Production Master',
host => 'master-host',
metrics => 'status,newrelic,master',
mysql_user => 'USER_NAME_HERE',
mysql_passwd => 'USER_CLEAR_TEXT_PASSWORD_HERE'
},
{
name => 'Production Slave',
host => 'slave-host',
metrics => 'status,newrelic,slave',
mysql_user => 'USER_NAME_HERE',
mysql_passwd => 'USER_CLEAR_TEXT_PASSWORD_HERE'
}
]
}
For additional info, see https://github.com/newrelic-platform/newrelic_mysql_java_plugin
###Rackspace Load Balancers Plugin
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_rackspace_load_balancers_plugin
.
user
- (required) User to run as
username
- (required) Username for Rackspace Load Balancers
api_key
- (required) API Key for Rackspace Load Balancers
region
- (required) Region for Rackspace Load Balancers. Valid regions are: ord
, dfw
, and lon
.
version
- (optional) Plugin version. Defaults to latest release version
####Class
class { 'newrelic_plugins::rackspace_load_balancers':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic',
username => 'RACKSPACE_USERNAME',
api_key => 'RACKSPACE_API_KEY',
region => 'dfw'
}
For additional info, see https://github.com/newrelic-platform/newrelic_rackspace_load_balancers_plugin
###Wikipedia Example Java
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_wikipedia_example_java_plugin
.
user
- (required) User to run as
version
- (optional) Plugin version. Defaults to latest release version.
####Class
class { 'newrelic_plugins::wikipedia_example_java':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic'
}
For additional info, see https://github.com/newrelic-platform/newrelic_java_wikipedia_plugin
###Wikipedia Example Ruby
####Parameters
license_key
- (required) New Relic License Key
install_path
- (required) Install Directory. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_wikipedia_example_ruby_plugin
.
user
- (required) User to run as
version
- (optional) Plugin version. Defaults to latest release version.
####Class
class { 'newrelic_plugins::wikipedia_example_ruby':
license_key => 'NEW_RELIC_LICENSE_KEY',
install_path => '/path/to/plugin',
user => 'newrelic'
}
For additional info, see https://github.com/newrelic-platform/newrelic_ruby_wikipedia_plugin
##Limitations
This module supports:
- Debian
- Ubuntu
- CentOS
- Red Hat
- Fedora
- Amazon
- FreeBSD
This cookbook is under the included MIT License.
Contribute to this Cookbook at https://github.com/newrelic-platform/newrelic_plugins_puppet. Any other feedback or support related questions can be sent to support @ newrelic.com.