Configure the AppDynamics LAM

The AppDynamics LAM is an endpoint for HTTP notifications from AppDynamics alerts. The LAM parses the alerts from AppDynamics into Moogsoft AIOps events.

You can install a basic AppDynamics integration in the UI. See AppDynamics for integration steps.

Configure the AppDynamics LAM if you want to configure custom properties, set up high availability or configure advanced options that are not available in the UI integration.

Before you begin

Before you configure the AppDynamics LAM, ensure you have met the following requirements:

  • You have an active AppDynamics account.

  • You have the necessary permissions to configure Alert and Respond templates, actions, and policies in AppDynamics.

  • AppDynamics can make requests to external endpoints over port 443.

If you are configuring a distributed deployment refer to High Availability Overview first. You will need the details of the server configuration you are going to use for HA.

Configure the LAM

Edit the configuration file to control the behavior of the AppDynamics LAM. You can find the file at $MOOGSOFT_HOME/config/appdynamics_lam.conf

The AppDynamics LAM is a REST-based LAM as it provides an HTTP endpoint for data ingestion. Note that only the generic REST LAM properties in appdynamics_lam.conf apply to integrating with AppDynamics; see the LAM and Integration Reference for a full description of all properties.

Some properties in the file are commented out by default. Uncomment properties to enable them.

  1. Configure the connection properties for the REST connection:

    • address: Address on the Moogsoft AIOps server that listens for REST messages. Defaults to all interfaces.

    • port: Port on the Moogsoft AIOps server that listens for REST messages. Defaults to 48006.

  2. Configure authentication:

    • authentication_cache: Whether to cache the username and password for the current connection when the authentication type is Basic.

  3. Configure the SSL properties if you want to encrypt communications between the LAM and the REST connection:

    • use_ssl: Whether to use SSL certification.

    • path_to_ssl_files: Path to the directory that contains the SSL certificates.

    • ssl_key_filename: SSL server key file.

    • ssl_cert_filename: SSL root CA file.

    • use_client_certificates: Whether to use SSL client certification.

    • client_ca_filename: SSL client CA file.

    • auth_token or encrypted_auth_token: Authentication token in the request body.

  4. Configure the LAM behavior:

    • num_threads: Number of worker threads to use.

    • rest_response_mode: When to send a REST response. See the LAM and Integration Reference for the options.

    • rpc_response_timeout: Number of seconds to wait for a REST response.

  5. Optionally configure the LAM identification and capture logging details:

    • name: Maps to $Laminstancename, so that the agent field indicates events Moogsoft AIOps ingests from this LAM.

    • capture_log: Name and location of the LAM's capture log file, which it writes to for debugging purposes.

  6. Optionally configure severity conversion. See Severity Reference for further information and "Conversion Rules" in Data Parsing for details on conversions in general.

  7. Optionally configure the process logging details:

    • configuration_file: Name and location of the LAM's process log configuration file. See Configure Logging for more information.

Example

The following example demonstrates an AppDynamics LAM configuration.

monitor:
{
    name                            : "App Dynamic Lam Monitor",
    class                           : "CRestMonitor",
    address                         : "0.0.0.0",
    port                            : 48006,
    use_ssl                         : false,
    #path_to_ssl_files              : "config",
    #ssl_key_filename               : "server.key",
    #ssl_cert_filename              : "server.pem",
    #use_client_certificates        : false,
    #client_ca_filename             : "ca.crt",
    #auth_token                     : "my_secret",
    #encrypted_auth_token           : "dfJtTQMGiFHfiq7sCmxguBt6Jv+eytkoiKCquSB/7iWxpgGsG2aez3z2j7SuBtKj",
    authentication_type             : "none",
    authentication_cache            : true,
    accept_all_json                 : true,
    lists_contain_multiple_events   : true,
    num_threads                     : 5,
    rest_response_mode              : "on_receipt",
    rpc_response_timeout            : 20
},
agent:
{
    name                            : "AppDynamics",
    capture_log                     : "$MOOGSOFT_HOME/log/data-capture/appdynamics_lam.log"

},
log_config:
{
     configuration_file             : "$MOOGSOFT_HOME/config/logging/appdynamics_lam_log.json"
},

Configure for High Availability

Configure the AppDynamics LAM for high availability if required. See High Availability Overview for details.

Configure LAMbot processing

The AppDynamics LAMbot processes and filters events before sending them to the Message Bus. You can customize or bypass this processing if required. You can also load JavaScript files into the LAMbot and execute them.

An example AppDynamics LAM filter configuration is shown below.

filter:
{
    presend: "AppDynamicsLam.js",
    modules: [ "CommonUtils.js" ]
}

Check the account, policy and action properties in the AppDynamics LAMbot configuration file located at $MOOGSOFT_HOME/bots/lambots/AppDynamicsLam.js:

var includeAccountInfo=true;
var includePolicyInfo=true;
var includeActionInfo=true;

By default these properties are set to true so Moogsoft AIOps creates events that include the account, policy and action information received from AppDynamics. You can set the properties to false to omit this data from events.

See LAMbot Configuration for more information.

Start and stop the LAM

Restart the AppDynamics LAM to activate any changes you make to the configuration file or LAMbot.

The LAM service name is appdynamicslamd.

See Control Moogsoft AIOps Processes for the commands to start, stop and restart the LAM.

You can use a GET request to check the status of the AppDynamics LAM. See "Check the LAM Status" in Configure the REST LAM for further information and examples.

Configure AppDynamics

After you have the AppDynamics LAM running and listening for incoming requests, you can configure AppDynamics. See "Configure AppDynamics" in AppDynamics.

If you have a large AppDynamics implementation you can use the AppDynamics Configuration Exporter utility to copy the same configuration across multiple applications and controllers. Contact AppDynamics Support for more information.