This module installs, configures and provides a systemd based service for the AppDynamics Database Agent. It has been developed and tested with dbagent version 4.4.1.229 on CentOS 7 with Puppet 4.10. It should also work on Puppet 5 and on other RedHat Enterprise 7 clones.
Configuration is all done via the systemd service and environment file it loads from /etc/sysconfig/appd_db_agent
.
No changes are made to controller-info.xml
.
The module downloads and installs the database agent under /opt/appdynamics
.
It creates a systemd unit file for the agent and starts the service.
The agent depends on java being installed and this module will install by
including puppetlabs/java
.
AppDynamics doesn't provide an anonymous download link for the agent.
You will have to provide the dbagent zip yourself. You have several choices for hosting it yourself.
You could make it available over http via an artifact repository such as Artifactory or Nexus.
Or you could make it available using your puppetserver's fileserver by placing the zip in your site module
and specifying a puppet:///
url as the source
parameter.
If using an onsite AppDynamics controller, you will have to install the required license on your controller before the agent will work.
The module has a single public class. There are several optional parameters, but 5 that are required. You will need to know
puppet:///
URL.4.4.1.2
.You should also consider how much heap space to allocate to the JVM running the agent. This module defaults the parameter java_heap_size
to just 256MB.
AppDynamic's recommend 1GB + 512MB for each monitored database.
A minimal example where the agent zip is stored in a site
module and a locally installed controller is used.
class { 'appd_db_agent':
source => 'puppet:///modules/site/appdynamics/dbagent-4.4.1.229.zip',
version => '4.4.1.229',
controller_host_name => 'appdynamics.example.com',
controller_port => 8090,
agent_account_access_key => 'secret',
}
A more complete example using Artifactory as the source for the zip. Communications with the hosted SAAS is encrypted and via a squid proxy.
class { 'appd_db_agent':
source => 'https://artifactory.example.com/artifactory/infra/org/appdynamics/dbagent/dbagent-4.4.1.229.zip',
checksum => artifactory_sha1('https://artifactory.example.com/artifactory/api/storage/infra/org/appdynamics/dbagent/dbagent-4.4.1.229.zip'),
checksum_type => 'sha1',
version => '4.4.1.229',
controller_host_name => 'exampleorg.saas.appdynamics.com',
controller_port => 443,
controller_ssl_enabled => true,
agent_account_access_key => 'secret',
proxy_host => 'squid.example.com',
proxy_port => 3128,
java_heap_size => '4g',
}
This module is maintained by Vox Pupuli. It was written by Alex Fisher and is licensed under the Apache-2.0 License.