This module installs and configures the New Relic Infrastructure agent.
- Adds the New Relic Infrastructure package repository source
- Installs and configures the New Relic Infrastructure agent
Declare the main ::agent class.
All interactions with newrelic-infra will be done through the main agent class.
class { 'newrelic_infra::agent':
ensure => 'latest',
license_key => 'YOUR_LICENSE_KEY',
}newrelic_infra::agent: Installs and configures the Infrastructure agent.
Specifies the Infrastructure agent ensure status.
Valid values include:
'latest'- (default) Installs the latest agent version'absent'- Uninstalls the agent- string - String containing a specific version to pin
Specifies the New Relic license key to use.
Optional. Override the auto-generated hostname for reporting.
Optional. Enables verbose logging for the agent when set the value with 1, the default value is 0.
Optional. To log to another location, provide a full path and file name. When not set, the agent logs to the system log files. Typical default locations:
- Amazon Linux, CentOS, RHEL:
/var/log/messages - Debian, Ubuntu:
/var/log/syslog - Windows Server:
C:\Program Files\New Relic\newrelic-infra\newrelic-infra.log
Optional. Set the proxy server the agent should use. Examples:
https://myproxy.foo.com:8080http://10.10.254.254
Optional. A hash of custom attributes to annotate the data from this agent instance.
Optional. A hash of agent configuration directives that are not exposed explicitly. Example:
{'payload_compression' => 0, 'selinux_enable_semodule' => false}
Optional. Allows for the selection of a provider other than 'windows' for the Windows MSI install. Or allows the windows provider to be used if another provider such as Chocolatey has been specified as the default provider in the puppet installation.
Optional. A string value for the temporary folder to download and install the MSI windows installation file. Example:
windows_temp_folder => 'C:/users/Administrator/Downloads'
Optional. A flag for omitting the New Relic package repo. Meant for environments where the newrelic-infra
package has been mirrored to another repo that's already present on the system (set to absent to achieve this)
In order to install integrations you can use the integrations class. The list
of available integrations can be found here.
The newrelic_infra::integrations, has a parameter named integrations which
should be a hash of:
{
'<integration_package>' => { ensure => <state> },
...
}
The integrations package name is located in the Install and activate
section of the individual integrations docs. They use the following convention,
name of the service with the nri- prefix (nri-apache, nri-redis, ...).
class { 'newrelic_infra::integrations':
integrations => {
'nri-mysql' => { ensure => present },
'nri-redis' => { ensure => latest },
'nri-rabbitmq' => { ensure => absent }
}
}The source code for each integration is available on newrelic's github organization.
NOTE This only applies if you have the newrelic-infra-integrations
package installed
If you had installed the newrelic-infra-integrations package,
could be because you were using the previous versions of this module, or you
installed it some other way; and you want to do some cleanup by
removing it or any of the following integrations (the ones that came bundle
with it):
- nri-redis
- nri-cassandra
- nri-apache
- nri-nginx
- nri-mysql
You have to add newrelic-infra-integrations as the first item of the
integrations hash argument with an ensure => absent.
class { 'newrelic_infra::integrations':
integrations => {
'newrelic-infra-integrations' => { ensure => absent },
'nri-mysql' => { ensure => absent },
'nri-redis' => { ensure => latest },
}
}Otherwise you might get the following error:
Error: Execution of '/bin/rpm -e nri-mysql-1.1.5-1.x86_64' returned 1: error: Failed dependencies:
nri-mysql is needed by (installed) newrelic-infra-integrations-0:1.7.0-1.x86_64
That is because the newrelic-infra-integrations, has a dependency on those
packages, so you need to remove it first, before removing any of the other.
- Amazon Linux all versions
- CentOS version 5 or higher
- Debian version 7 ("Wheezy") or higher
- Red Hat Enterprise Linux (RHEL) version 5 or higher
- Ubuntu versions 12.04., 14.04., 16.04., and 18.04 (LTS versions)
- Windows 2008, 2012, 2016 and 2019
To release a new version to PuppetForge follow this steps:
- Update the CHANGELOG.md
- Increase the version in metadata.json
- Create a new Github release: the release process will be executed in TravisCI
Copyright (c) 2019 New Relic, Inc. All rights reserved.