appdynamics_agent

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

Kinney Group

kinneygroup

4,283 downloads

4,283 latest version

5.0 quality score

Version information

  • 0.1.0 (latest)
released Jul 3rd 2019
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
  • CentOS
    ,
    RedHat
    ,
    Fedora

Start using this module

Documentation

kinneygroup/appdynamics_agent — version 0.1.0 Jul 3rd 2019

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