Forge Home

newrelic_plugins

Puppet module for New Relic Plugins

62,253 downloads

61,135 latest version

2.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.1.0 (latest)
  • 1.0.0
released Sep 25th 2014

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'newrelic-newrelic_plugins', '1.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add newrelic-newrelic_plugins
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install newrelic-newrelic_plugins --version 1.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

newrelic/newrelic_plugins — version 1.1.0 Sep 25th 2014

#New Relic Plugins

####Table of Contents

  1. Overview
  2. Module Description - What the does the module do?
  3. Setup - The basics of getting started with New Relic Plugins
  4. Usage - Configuration options and additional functionality
  5. Limitations - OS compatibility, etc.
  6. License
  7. 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:

##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

License

This cookbook is under the included MIT License.

Contact

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.