Skip to content
Installs the Dynatrace Application Monitoring solution using Puppet.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
environment
files
lib
manifests
templates
test/integration
.gitignore
.kitchen.vagrant.yml
.kitchen.yml
Gemfile
LICENSE
Puppetfile
README.md
metadata.json

README.md

dynatrace Module

This Puppet module installs and configures the Dynatrace Application Monitoring solution.

Requirements

Please see Puppetfile and metadata.json for a list of module dependencies.

Classes

dynatraceappmon::role::agents_package

Installs the Dynatrace Agents package.

This class downloads and installs the most recent version of the Dynatrace Agents package for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace-agent.jar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/agents_package.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::agents_package':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-agent-7.2.0.1697-unix.jar'
}

Note: this class merely makes the Dynatrace Agents available, but it does not configure your application to actually load any. See the dynatraceappmon::role::java_agent class for an example that does.

dynatraceappmon::role::apache_wsagent

Installs the Dynatrace WebServer Agent for the Apache HTTP Server.

Please refer to manifests/role/apache_wsagent.pp and manifests/role/wsagent_package.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::wsagent_package':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-wsagent-7.2.0.1697-linux-x86-64.tar'
}

class { 'dynatraceappmon::role::apache_wsagent':
  apache_config_file_path => '/etc/apache2/apache2.conf',
  require                 => Class['dynatraceappmon::role::wsagent_package']
}

Note: you will have to restart the web server after placing the agent.

dynatraceappmon::role::collector

Installs the Dynatrace Collector.

This class downloads and installs the most recent version of the Dynatrace Collector for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace-collector.jar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/collector.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::collector':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-collector-7.2.0.1697-linux-x86.jar'
}

Note: make sure that attributes related to the Collector's memory configuration are set in accordance to the Memory Configuration documentation.

dynatraceappmon::role::java_agent

Installs the Dynatrace Java Agent.

Please refer to manifests/role/java_agent.pp and manifests/role/agents_package.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::agents_package':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-agent-7.2.0.1697-unix.jar'
}

class { 'dynatraceappmon::role::java_agent':
  env_var_name      => 'CATALINA_OPTS',
  env_var_file_name => '/opt/apache-tomcat/bin/catalina.sh',
  agent_name        => 'apache-tomcat-agent',
  require           => Class['dynatraceappmon::role::agents_package']
}

Note: this recipe makes the Java Agent available to a Java Virtual Machine by injecting an appropriate -agentpath option into an environment variable, e.g. JAVA_OPTS, inside a file (typically an executable script). It is assumed that this script either executes the Java process directly or is sourced by another script before the Java process gets executed. You will have to restart the application after placing the agent.

dynatraceappmon::role::memory_analysis_server

Installs the Dynatrace Memory Analysis Server.

This class downloads and installs the most recent version of the Dynatrace Memory Analysis Server for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace-analysisserver.jar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/memory_analysis_server.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::memory_analysis_server':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-analysisserver-7.2.0.1697-linux-x86.jar'
}

Note: make sure that attributes related to the Analysis Server's memory configuration are set in accordance to the documentation Set up a Memory Analysis Server.

dynatraceappmon::role::php_one_agent

Installs the PHP OneAgent.

This class downloads and installs the most recent version of the PHP OneAgent for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace-one-agent-php.tar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/php_one_agent.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::php_one_agent':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-one-agent-php-7.2.0.1697-linux-x86.tgz'
}

Note: make sure that attributes related to the One Agent configuration are set in accordance to the documentation PHP Agent configuration and OneAgent configuration.

dynatraceappmon::role::server

Installs the Dynatrace Server.

This class downloads and installs the most recent version of the Dynatrace Memory Analysis Server for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace.jar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/server.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::server':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-full-7.2.0.1697-linux-x86-64.jar'
}

dynatraceappmon::role::server_license

Installs the Dynatrace Server License.

Place the Dynatrace Server License as dynatrace-license.key in the module's files directory. Alternatively, you can make the license available as an HTTP, HTTPS or FTP resource and point the class to the right location via the $license_file_url parameter. Please refer to manifests/role/server_license.pp for a list of supported attributes, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::server':
  license_file_url => 'http://my-license-server/dynatrace/dynatrace-license.key'
}

dynatraceappmon::role::wsagent_package

Installs the Dynatrace WebServer Agent package.

This class downloads and installs the most recent version of the Dynatrace WebServer Agent installer for the Linux platform from http://downloads.dynatracesaas.com. The default behavior can be overridden via the class' $installer_file_url parameter. Alternatively, you can place the installer artifact as dynatrace-wsagent.tar in the module's files directory from where it will be picked up during the installation. Please refer to manifests/role/wsagent_package.pp for a list of supported parameters, whose default values can be overridden in manifests/params.pp. In order to install, you may execute the class as follows:

class { 'dynatraceappmon::role::wsagent_package':
  installer_file_url => 'https://files.dynatrace.com/downloads/OnPrem/dynaTrace/7.2/7.2.0.1697/dynatrace-wsagent-7.2.0.1697-linux-x86-64.tar'
}

Note: this recipe merely makes the Dynatrace WebServer Agent available, but it does not configure your web server to actually load it. See the dynatraceappmon::role::apache_wsagent class for an example that does.

Testing

We use Test Kitchen to automatically test our automated deployments with Serverspec and RSpec:

  1. Install Test Kitchen and its dependencies from within the project's directory:
gem install bundler
bundle install
  1. Run all tests
kitchen test

By default, we run our tests inside Docker containers as this considerably speeds up testing time (see .kitchen.yml, requires Ruby 2.2+). Alternatively, you may as well run these tests in virtual machines based on VirtualBox and Vagrant (see .kitchen.vagrant.yml).

Additional Resources

Questions?

Feel free to post your questions on the Dynatrace Community's Continuous Delivery Forum.

License

Licensed under the MIT License. See the LICENSE file for details. analytics

You can’t perform that action at this time.