Sheeri / newrelic_plugins_puppet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#newrelic_plugins

Note: This Module is currently in Beta

This module is currently in Beta and will be moved to the Puppet Forge site after the beta. To use the module, clone or download this repo and add it to your Puppet modules path under the name newrelic_plugins. Follow the usage instructions below.

Please provide any feedback to jstenhouse@newrelic.com or create a pull request here. Thanks!

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

##Module Description

The following New Relic plugins are supported through this module:

  • AWS Cloudwatch
  • MySQL
  • F5
  • Example

##Setup

###Requirements

The AWS Cloudwatch, F5 and Example plugins require:

  • Ruby >= 1.8.7
  • Rubygems >= 1.8

The MySQL plugin requires:

  • Java Runtime Environment (JRE) >= 1.6

###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',
  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',
  java_options   => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
  servers        => [
    {
      name       => 'Production 1',
      host       => 'localhost',
      metrics    => 'status,newrelic',
      user       => 'USER',
      passwd     => 'PASSWORD'
    }
  ]
}

###AWS Cloudwatch Plugin

####Parameters

license_key - (required) New Relic License Key

install_path - (required) Install Directory

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',
  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

####Class

class { 'newrelic_plugins::example_plugin':
 license_key    => 'NEW_RELIC_LICENSE_KEY',
 install_path   => '/path/to/plugin'
}

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

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',
 agents         => [
   {
     name           => 'My F5',
     host           => 'my-f5',
     port           => 161,
     snmp_community => 'community'
   }
 ]
}

For additional info, see https://github.com/newrelic-platform/newrelic_f5_plugin

###MySQL Plugin

####Parameters

license_key - (required) New Relic License Key

install_path - (required) Install Directory

servers - (required) Array of MySQL server information. If using the default username and password, the user, passwd attributes can be left off.

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.

####Class

class { 'newrelic_plugins::mysql':
  license_key    => 'NEW_RELIC_LICENSE_KEY',
  install_path   => '/path/to/plugin',
  java_options   => '-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345',
  servers        => [
    {
      name       => 'Production Master',
      host       => 'master-host',
      metrics    => 'status,newrelic,master',
      user       => 'USER_NAME_HERE',
      passwd     => 'USER_CLEAR_TEXT_PASSWORD_HERE'
    },
    {
      name       => 'Production Slave',
      host       => 'slave-host',
      metrics    => 'status,newrelic,slave',
      user       => 'USER_NAME_HERE',
      passwd     => 'USER_CLEAR_TEXT_PASSWORD_HERE'
    }
  ]
}

For additional info, see https://github.com/newrelic-platform/newrelic_mysql_java_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.

About


Languages

Language:Puppet 91.6%Language:Ruby 8.4%