Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

newrelic_plugins (2) Versions 1.1.0

Installs New Relic Plugins.

Policyfile
Berkshelf
Knife
cookbook 'newrelic_plugins', '~> 1.1.0', :supermarket
cookbook 'newrelic_plugins', '~> 1.1.0'
knife supermarket install newrelic_plugins
knife supermarket download newrelic_plugins
README
Dependencies
Changelog
Quality 17%

New Relic Plugin's Cookbook

Overview

This cookbook installs, configures and manages as a service New Relic Plugins on Debian/RHEL.

To use the cookbook, add it to your Chef cookbooks path under the name newrelic_plugins.

Recipes for the following plugins are provided:

Requirements

Chef 0.10.10+ and Ohai 6.10+ for platform_family support.

The AWS Cloudwatch, Example, F5, Memcached (Ruby), Rackspace Load Balancers, and Wikipedia Example (Ruby) plugins require:

  • Ruby >= 1.8.7
  • Rubygems >= 1.8

The MySQL, Memcached (Java) and Wikipedia Example (Java) plugins require:

  • Java Runtime Environment (JRE) >= 1.6

There are several Java and Ruby Chef Cookbooks available on the Chef Community site.

Platforms

  • Debian
  • Ubuntu
  • CentOS
  • Red Hat
  • Fedora
  • Amazon
  • FreeBSD

Usage

An example of using the AWS Cloudwatch and MySQL plugins with a defined role. See the below sections for plugin specifics.

name "newrelic_plugins"
description "System that run New Relic plugins"
run_list(
  "recipe[newrelic_plugins::aws_cloudwatch]",
  "recipe[newrelic_plugins::mysql]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "aws_cloudwatch" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic",
      "aws_access_key" => "AWS_ACCESS_KEY",
      "aws_secret_key" => "AWS_SECRET_KEY",
      "agents" => [
        "ec2",
        "ebs",
        "elb"
      ]
    },
    "mysql" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic",
      "servers" => [
        {
          "name"          => "Production 1",
          "host"          => "localhost",
          "metrics"       => "status,newrelic",
          "mysql_user"    => "USER",
          "mysql_passwd"  => "CLEAR_TEXT_PASSWORD"
        }
      ]
    }
  }
)

AWS Cloudwatch Plugin

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:aws_cloudwatch][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_aws_cloudwatch_plugin.

node[:newrelic][:aws_cloudwatch][:user] - (required) User to run as

node[:newrelic][:aws_cloudwatch][:aws_access_key] - (required) AWS Cloudwatch Access Key

node[:newrelic][:aws_cloudwatch][:aws_secret_key] - (required) AWS Cloudwatch Secret Key

node[:newrelic][:aws_cloudwatch][:agents] - (required) Array of AWS Cloudwatch agents. Valid values are ec, ec2, ebs, elb, rds, sqs, and sns

node[:newrelic][:aws_cloudwatch][:regions] - (optional) Array of AWS Cloudwatch regions. e.g. us-east-1. Defaults to all available regions.

Usage:

name "newrelic_aws_cloudwatch_plugin"
description "System that monitors AWS Cloudwatch"
run_list(
  "recipe[newrelic_plugins::aws_cloudwatch]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "aws_cloudwatch" => {
      "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

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:example][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_example_plugin.

node[:newrelic][:example][:user] - (required) User to run as

Usage:

name "newrelic_example_plugin"
description "System that runs the Example Plugin"
run_list(
  "recipe[newrelic_plugins::example]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "example" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic"
    }
  }
)

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

F5 Plugin

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:f5][:install_path] - (required) Install directory. Defaults to /opt/newrelic. The plugin will be installed within this directory at newrelic_f5_plugin.

node[:newrelic][:f5][:user] - (required) User to run as

node[:newrelic][:f5][:agents] - (required) Array of F5 agents to monitor.

Usage:

name "newrelic_f5_plugin"
description "System that monitors F5"
run_list(
  "recipe[newrelic_plugins::f5]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "f5" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic",
      "agents" => [
        {
          "name"           => "f5",
          "hostname"       => "localhost",
          "port"           => 651
          "snmp_community" => "community"
        }
      ]
    }
  }
)

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

Memcached (Java)

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:memcached_java][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_memcached_java_plugin.

node[:newrelic][:memcached_java][:user] - (required) User to run as.

node[:newrelic][:memcached_java][:servers] - (required) Array of Memcached Servers. If using the default port, the port attribute can be left off.

node[:newrelic][:memcached_java][: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 for max 128mb heap size, but can be overridden.

Usage:

name "newrelic_memcached_java_plugin"
description "System that monitors Memcached Servers"
run_list(
  "recipe[newrelic_plugins::memcached_java]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "memcached_java" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic",
      "java_options" => "-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=12345",
      "servers" => [
        {
          "name" => "Host - 1",
          "host" => "host.example.com",
          "port" => 11211
        },
        {
          "name" => "Host - 2",
          "host" => "host2.example.com"        
        }
      ]
    }
  }
)

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

Memcached (Ruby)

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:memcached_ruby][:install_path] - (required) Install directory. Defaults to /opt/newrelic. The plugin will be installed within this directory at newrelic_memcached_ruby_plugin.

node[:newrelic][:memcached_ruby][:user] - (required) User to run as.

node[:newrelic][:memcached_ruby][:agents] - (required) Array of Memcached hosts to monitor.

Usage:

name "newrelic_memcached_ruby_plugin"
description "System that monitors Memcached"
run_list(
  "recipe[newrelic_plugins::memcached_ruby]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "memcached_ruby" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic",
      "agents" => [
        {
          "name"      => "Host - 1",
          "endpoint"  => "localhost",
          "port"      => 11211
        }
      ]
    }
  }
)

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

MySQL Plugin

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:msyql][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_mysql_plugin.

node[:newrelic][:mysql][:user] - (required) User to run as. Defaults to root.

node[:newrelic][:mysql][:servers] - (required) Array of MySQL Servers. If using the default username and password, the user and passwd attributes can be left off.

node[:newrelic][:mysql][: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 for max 128mb heap size, but can be overridden.

Usage:

name "newrelic_mysql_plugin"
description "System that monitors MySQL Servers"
run_list(
  "recipe[newrelic_plugins::mysql]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "mysql" => {
      "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

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:rackspace_load_balancers][:install_path] - (required) Install directory. Defaults to /opt/newrelic. The plugin will be installed within this directory at newrelic_rackspace_load_balancers_plugin.

node[:newrelic][:rackspace_load_balancers][:user] - (required) User to run as.

node[:newrelic][:rackspace_load_balancers][:username] - (required) Username for Rackspace Load Balancers

node[:newrelic][:rackspace_load_balancers][:api_key] - (required) API Key for Rackspace Load Balancers

node[:newrelic][:rackspace_load_balancers][:region] - (required) Region for Rackspace Load Balancers. Valid values: ord, dfw, or lon

Usage:

name "newrelic_rackspace_load_balancers_plugin"
description "System that monitors Rackspace Load Balancers"
run_list(
  "recipe[newrelic_plugins::rackspace_load_balancers]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "rackspace_load_balancers" => {
      "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 Plugin

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:wikipedia_example_java][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_wikipedia_example_java_plugin.

node[:newrelic][:wikipedia_example_java][:user] - (required) User to run as.

Usage:

name "newrelic_wikipedia_example_java_plugin"
description "System that monitors Wikipedia"
run_list(
  "recipe[newrelic_plugins::wikipedia_example_java]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "wikipedia_example_java" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic"
    }
  }
)

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

Wikipedia Example Ruby Plugin

Attributes:

node[:newrelic][:license_key] - (required) New Relic License Key

node[:newrelic][:wikipedia_example_ruby][:install_path] - (required) Install directory. Defaults to /opt/newrelic. Any downloaded files will be placed here. The plugin will be installed within this directory at newrelic_wikipedia_example_ruby_plugin.

node[:newrelic][:wikipedia_example_ruby][:user] - (required) User to run as.

Usage:

name "newrelic_wikipedia_example_ruby_plugin"
description "System that monitors Wikipedia"
run_list(
  "recipe[newrelic_plugins::wikipedia_example_ruby]"
)
default_attributes(
  "newrelic" => {
    "license_key" => "NEW_RELIC_LICENSE_KEY",
    "wikipedia_example_ruby" => {
      "install_path" => "/path/to/plugin",
      "user" => "newrelic"
    }
  }
)

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

License

This cookbook is under the included MIT License.

Contact

Contribute to this Cookbook at https://github.com/newrelic-platform/newrelic_plugins_chef. Any other feedback or support related questions can be sent to support @ newrelic.com.

CHANGELOG 1.1.0 - 2014-09-25 ------------------ * No longer use sudo for service management but runs as the provided user * Fix init daemon bug for restarts * Updated MySQL, Memcached (Java), and Wikipedia (Java) plugins to version 2.0.0+ 1.0.0 - 2014-01-29 ------------------ * Initial release

Collaborator Number Metric
            

1.1.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

1.1.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

1.1.0 failed this metric

FC064: Ensure issues_url is set in metadata: newrelic_plugins/metadata.rb:1
FC065: Ensure source_url is set in metadata: newrelic_plugins/metadata.rb:1
FC066: Ensure chef_version is set in metadata: newrelic_plugins/metadata.rb:1
FC072: Metadata should not contain "attribute" keyword: newrelic_plugins/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

1.1.0 passed this metric

Testing File Metric
            

1.1.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

1.1.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number