Forge Home

appdynamics_agent

Basic install and configure of the AppDynamics agent (https://www.appdynamics.com/)

5,996 downloads

5,996 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.1.0 (latest)
released Apr 25th 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.8 < 6.0.0
  • , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'kinneygroup-appdynamics_agent', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add kinneygroup-appdynamics_agent
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install kinneygroup-appdynamics_agent --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

kinneygroup/appdynamics_agent — version 0.1.0 Apr 25th 2018

appdynamics_agent

This module will install and manage App Dynamics Agents.

Table of Contents

  1. Description
  2. Setup - The basics of getting started with appdynamics_agent
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module
  7. Todo - Agents to be added

Description

AppDynamics (https://www.appdynamics.com/) is a solution that provides insight into application performance through application flow maps and transaction monitoring.

On first pass, this module only installs the machine agent. Additional agents will be added over time.

Setup

What appdynamics_agent affects

This module configures AppDynamics agents to communicate with the controller. Because there are numerous agents and configurations, this module will be growing and changing over time.

This module requires some setup before implementation:

  • Hiera will need to be configured to identify the nodes configured.
  • Requires a valid Controller license.
  • Requires the controller installed and functioning.

Setup Requirements

  • A AppDynamics Controller installed and configured.
  • A valid AppDynamics license
  • stdlib 3.x or higher

Installation

puppet module install kinneygroup-appdynamics_agent

The machine agent RPM downloaded from AppDynamics. Place the machine_agent in the Files directory in the module. The machine_agent_file_32/64 variable must match the file name.

Beginning with appdynamics_agent

The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.

Usage

###Basic Install

To use the Standalone Machine agent, add or update the values to the associated variables, either in a hiera structure or in the module:

$machine_agent_file_32 = 'file_name_here',
$machine_agent_file_64 = 'file_name_here',
$controller_host       = 'hostname_or_ip',
$controller_port       = 'controller_port',
$unique_host_id        = '', 
$account_access_key    = '',
$account_name          = '',
$sim_enabled           = false,
$ssl_enabled           = false,
$enable_orchestration  = false,
$controller_info       = '/etc/appdynamics/machine-agent/controller-info.xml',
$machine_agent         = '/etc/sysconfig/appdynamics-machine-agent',
$machine_service_name = 'appdynamics-machine-agent',

Then add include appdynamics_agent::machine to the profile for the host.

Note: You can also create hiera entries using the above variables to override the values.

Reference

There are a number of AppDynamics Agents. Each one will be a subclass of this module.

Classes:

  • appdynamics_agent::machine

Parameters

Machine Agent

machine_path

This value is used to create the hierarchy infrastructure view in the UI for this machine. Each hierarchy level should be separated with a vertical bar ("|"). For example, if this machine belongs to "DataRack1" and it is located in "Virginia Data Center", then the machine path could be set to "Virginia Data Center|DataRack1|Machine1" and the UI will display it in that hierarchy ("Virginia Data Center|DataRack1"). The last element of the path indicates the server name (e.g., "Machine1") and appears as the name on the servers list in the UI.

machine_agent_file_32

This is the name of the downloaded 32-bit version of the agent that is manually stored with the module.

machine_agent_file_64

This is the name of the downloaded 64-bit version of the agent that is manually stored with the module.

controller_host

Use either the fully qualified hostname or the IP address of the App Dynamics Controller. This is the same port that you use to access the AppDynamics browser-based User interface.

controller_port

This is the http(s) port of the AppDynamics Controller.

unique_host_id

The Machine Agent uses the Java API to get the host name of the agent. Use this option to override and set the identity.

account_access_key

This key is generated at installation time and can be found by viewing the license information in the controller settings.

account_name

If the AppDynamics Controller is running in multi-tenant mode or you are using the AppDynamics SaaS Controller, you must specify the account name for this agent to authenticate with the controller. If you are running in single-tenant mode (the default) there is no need to configure this value.

sim_enabled

If this agent is licensed for Server Monitoring, set this flag to 'true' to enable Server Monitoring expanded metrics. Default: false

ssl_enabled

This specifies if the AppDynamics agent should use SSL (HTTPS) to connect to the Controller. Default: false

enable_orchestration

Set this flag to 'true' to enable features required for AppDynamics Orchestration. Default: false

controller_info

Default: '/etc/appdynamics/machine-agent/controller-info.xml'

machine_agent

Default: '/etc/sysconfig/appdynamics-machine-agent'

machine_service_name

Default: 'appdynamics-machine-agent'

Limitations

This only works for limited agents with more to be developed and added over time. Currently, the AppDynamics agent module has bee tested on the following operating systems:

  • RPM-based Linux 64-bit Machine agent

Development

Contributions to the module are welcome and appreciated. The following guidelines are required for any code to be merged.

  • All code must have corresponding rspec tests where possible.
  • Any additional variables or classes that are added must be documented in the readme.
  • All TravisCI tests must pass.

Todo

The remaining agents to add to this module include:

  • Java Agent
  • .NET Agent
  • PHP Agent
  • Machine Agent (additional Operating Systems)
  • Apache Web Server Agent
  • Database Agent
  • Analytics Agent
  • C/C++ SDK
  • Python Agent
  • Node.js Agent
  • Go SDK
  • Network Agent