Puppet Class: datadog_agent::integrations::jmx
- Inherits:
- datadog_agent::params
- Defined in:
- manifests/integrations/jmx.pp
Overview
Class: datadog_agent::integrations::jmx
This class will install the necessary configuration for the jmx integration
See the sample jmx.d/conf.yaml for all available configuration options docs.datadoghq.com/integrations/java/?tab=host#overview
Parameters:
$init_config:
Hash of inital configuration, consisting of the following keys:
custom_jar_paths:
Array of paths to jars. Optional.
$instances:
Array of instance hashes, consisting of the following keys:
name:
Used in conjunction with jmx_url. Optional.
tags:
Hash of tags { 'env' => 'prod' }. Optional.
host:
The host jmx is running on.
port:
The JMX port.
jmx_url:
If the agent needs to connect to a non-default JMX URL, specify it here
instead of a host and a port. If you use this you need to specify a 'name'
for the instance. Optional.
user:
The username for connecting to the running JVM. Optional.
password:
The password for connecting to the running JVM. Optional.
process_name_regex:
Instead of specifying a host and port or jmx_url, the agent can
connect using the attach api. This requires the JDK to be installed
and the path to tools.jar to be set. Optional.
tools_jar_path:
To be set when process_name_regex is set. Optional.
java_bin_path:
The path to the Java binary. Should be set if the agent cannot find your java executable. Optional.
java_options:
Java JVM options. Optional.
trust_store_path:
The path to the trust store. Should be set if ssl is enabled. Optional.
trust_store_password:
The trust store password. Should be set if ssl is enabled. Optional.
conf:
Array of include/exclude hash pairs. Optional.
Read http://docs.datadoghq.com/integrations/java/ to learn how to customize it.
Sample Usage:
class { 'datadog_agent::integrations::jmx':
init_config => {
custom_jar_paths => ['/path/to/custom.jar']
},
instances => [{
host => 'localhost',
port => 7199,
user => 'username',
password => 'password',
jmx_url => 'service:jmx:rmi:///jndi/rmi://myhost.host:9999/custompath'
}],
}
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'manifests/integrations/jmx.pp', line 67
class datadog_agent::integrations::jmx (
Hash $init_config = {},
Array $instances = [],
) inherits datadog_agent::params {
require datadog_agent
$dst_dir = "${datadog_agent::params::conf_dir}/jmx.d"
file { $dst_dir:
ensure => directory,
owner => $datadog_agent::dd_user,
group => $datadog_agent::params::dd_group,
mode => $datadog_agent::params::permissions_directory,
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name],
}
$dst = "${dst_dir}/conf.yaml"
file { $dst:
ensure => file,
owner => $datadog_agent::dd_user,
group => $datadog_agent::params::dd_group,
mode => $datadog_agent::params::permissions_protected_file,
content => template('datadog_agent/agent-conf.d/jmx.yaml.erb'),
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name],
}
}
|