Git Product home page Git Product logo

newrelic_plugins_puppet's Introduction

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

newrelic_plugins_puppet's People

Contributors

danieldreier avatar sheeri avatar referup-amontero avatar intjonathan avatar

Watchers

Reiner Keller avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.