Integrating with AppDynamics


The BMC Helix Intelligent Integrations AppDynamics connector collects events, metrics, and topology data from AppDynamics APM, DB and EUM.

You can view the collected data in various BMC Helix applications and derive the following benefits:

BMC Helix application

Type of data collected or viewed

Benefits

BMC Helix Operations Management

Events

Use a centralized event view to monitor and manage events, perform event operations, and filter events. Identify actionable events from a large volume of event data by processing events.

For more information, see Monitoring events and reducing event noise.

BMC Helix Operations Management

Metrics

Use alarm and variate policies to detect anomalies and eliminate false positives for more accurate results while monitoring the health of your system.

For more information, see Detecting anomalies by using static and dynamic thresholds.

BMC Helix Discovery

Topology

Collect all CIs from AppDynamicsin BMC Helix Discovery. 

Collect services from AppDynamicsin BMC Helix Discovery in a format that can be consumed by BMC Helix AIOps.   

For more information, see Managing your IT infrastructure.

BMC Helix AIOps

Situations (created from events)

Improve the mean time to resolve (MTTR) based on the situation-driven workflow.

Lower the mean time to detect or discover (MTTD) and the time required for investigating tickets.

For more information, see Monitoring situations.

BMC Helix Dashboards

Metrics

Create dashboards to get a consolidated view of data collected from third-party products across your environment. 

Improve the efficiency of your system by monitoring the key performance metrics and respond to issues quickly to minimize the down time.

For more information, see Creating and customizing dashboards.

BMC Helix AIOps

Services (created from topology)

Monitor the overall health of a service.  When the service gets impacted by any factor, view the events generated because of the impact, analyze the causes of the impact, and quickly remediate those events to restore the health of the impacted service.

For more information, see Monitoring services.

As a tenant administrator, perform the following steps to configure a connection with AppDynamics, verify the connection, and view the collected data in various BMC Helix applications.

ConnectorSteps.png

Supported versions

BMC Helix Intelligent Integrations supports the following AppDynamics versions for data collection:

  • AppDynamics version 25.1
  • AppDynamics version 24.7.0

Task 1: To plan for the connection

Review the following prerequisites to help you plan and configure a connection with AppDynamics:

AppDynamics prerequisites

The user account with which you plan to connect to AppDynamics has the following roles assigned:

  • Applications & Dashboards Viewer
  • Dashboards Viewer
  • DB Monitoring User
  • Server Monitoring user
  • Universal Agent User
  • Workflow Executor

BMC Helix Intelligent Integrationsprerequisites

  • Depending on the location of the third-party product (SaaS, on-premises), choose one or more BMC Helix Intelligent Integrations deployment modes and review the corresponding port requirements. For information about various deployment modes and port requirements, see Deployment-scenarios.
  • Based on the deployment mode, use the BMC Helix Intelligent Integrations SaaS deployment or the BMC Helix Intelligent Integrations on-premises gateway or both. For more information about the gateway, see Deploying-the-BMC-Helix-Intelligent-Integrations-on-premises-gateway.
  • The on-premises gateway must be able to reach the third-party product on the required port (default is 443).

In the preceding list, third-party product refers to AppDynamics.

Task 2: To configure the connection with AppDynamics

  1. Depending on the deployment mode, perform one of the following steps to access BMC Helix Intelligent Integrations:
    • BMC Helix Intelligent Integrations SaaS – Log on to BMC Helix Portal, and click Launch on BMC Helix Intelligent Integrations.
    • BMC Helix Intelligent Integrations on-premises gateway – Use the following URL to access BMC Helix Intelligent Integrations: https://<hostName>:<portNumber>/swpui
  2. On the CONNECTORS  tab, click add_icon.png in the SOURCES panel.
  3. Click the  AppDynamics APM, DB & EUM tile.

  4. Specify the following details for the source connection:
    1. Specify a unique instance name.

      Best practice
      We recommend that you specify the instance name in the following format: 

      <sourceType>_<sourceControllerServerName>{_<InstanceQualifier>}

      The instance qualifier helps you to distinguish the multiple instances configured from the same source server. For example, you can name your instances as AppDynamics_Host_PROD, AppDynamics_Host_TEST, and so on.

    2. Specify the AppDynamics host name and port number (default value is 443).
    3. Ensure that the HTTPS check box is selected to indicate that you plan to use an https connection to the AppDynamics  host.

      Warning

      We recommend that you do not select the Allow Unsigned Certificate option in a production environment. You might want to select this option to allow unsigned certificates in a test environment. See the AppDynamics documentation to learn how to install SSL certificates.

    4. Specify the number of maximum concurrent REST API requests that should be executed during a collection schedule (default value is 5).
    5. Specify the AppDynamics account name.
    6. Use one of the following authentication methods :
      • Specify user name and password. Ensure that the specified user has the roles assigned specified in the AppDynamics prerequisites  section.
      • Select the Use oAuth2 option to specify client name and secret key. Ensure that the client name is registered as an API client in AppDynamics . For more information about generating the secret key, see AppDynamics documentation, Generate the Token through OAuth API.

    7. Click Proxy and specify whether you want to configure a proxy server. If yes, specify the host name and port number (default value is 8888).
  5. Click VALIDATE AND CREATE.
    The specified connection details are validated and the corresponding source connection is created in the Source Connection list.
  6. Select the source connection that you created from the list if it is not selected already.

    Important

    The destination host connection is created and configured automatically for each tenant when the source connection is created.

     

  7. Ensure that the options for the datatypes for which you want to collect data are selected.
  8. Click a data type and specify the configuration parameters in the Collectors section as described in the following table:

    Parameter Name

    Data Type

    AppDynamics Events (REST Pull)

    AppDynamics Health Rule Violations (REST Pull)

    AppDynamics Managed Metrics (REST Pull)

    AppDynamics Topology (REST Pull)

    Select one of the following options to specify the data collection frequency:

    • Duration: When you select this option, data collection happens constantly. Specify the schedule in minutes, hours, or day. 
      Default: 5 minutes
      Example:
      Collection Schedule
      is set to 5 mins.
      Current time is 00:30.

      If you run the collector just after 00:30, data is collected every 5 mins, first at 00:30 and next at 00:35, and so on.  
    • Cron schedule: When you select this option, data collection happens periodically. Specify the schedule by using a cron expression.
      A cron expression is a string consisting of five subexpressions (fields) that describe individual details of the schedule.  
      These fields, separated by blank spaces, can contain any of the allowed values with various combinations of the allowed characters for that field.
      Default: */5 * * * * (evaluates to 5 minutes)

      Format:
      Minutes Hours (24-hour format) Day of Month Month Day of Week

      Example:
      If you specify 10 15 3 7 * , data is collected at 15:10 hours every third day in the month of July.

    For more information about how this parameter affects data collection, see Data collection schedule.

    ✅️

    ✅️

    ✅️

    ✅️

     

    Specify the historical time period (in minutes) from the current time for which the data should be collected.

    Default: 5 minutes

    Example:

    Collection Schedule is set to 5 mins.
     Data Collection Window is set to 5 mins.
     Current time is 00:30.

    If you run the collector just after 00:30, data is collected first at 00:30 for the interval 00:25 - 00:30, and next at 00:35 for the interval 00:30 - 00:35, and so on.

    For more information about how this parameter affects data collection, see Data collection window.

    ✅️

    ✅️

    ✅️

     

    ❌️

    Applications

    Select All or a subset of application tags from the list.

    This list is updated automatically from AppDynamics .

    ✅️

    ✅️

    ✅️

    ✅️

    Paths

    Select All or a subset of paths from the list.

    This list is updated automatically from AppDynamics .

    ❌️

    ❌️

    ✅️

    ❌️

    Severity

    Select All or a subset of severities from the list.

    ✅️

    ❌️

    ❌️

    ❌️

    Severities

    Select All or a subset of severities from the list.

    ❌️

    ✅️

    ❌️

    ❌️

    Event Type

    Select one or more event types from the list.

    ✅️

    ❌️

    ❌️

    ❌️

    HRV Types

    Select All or a subset of health rule violations from the list.

    This list is updated automatically from AppDynamics.

    ❌️

    ✅️

    ❌️

    ❌️

    Affected Collection Types

    Select All or a subset of affected collection types from the list.

    This list is updated automatically from AppDynamics .

    ❌️

    ✅️

    ❌️

    ❌️

    Servers

    Select All or a subset of servers from the list.

    ❌️

    ✅️

    ❌️

    ❌️

    HRV Duplicate Window

    Specify the historical period from the current time for which data for the duplicate health rule violations should not be collected.

    If you set it to 0, data for the duplicate health rule violations is also collected.

    ❌️

    ✅️

    ❌️

    ❌️

  9. Click CREATE COLLECTORS to create the required collector streams for the selected data types.
  10. Click a data type and specify the configuration parameters in the Distributors section as described in the following table:
     

    Parameter name

    Description

    Max Batching Size

    Specify the maximum number of data items to send in a single POST request to the destination API.
    The batch size 
    depends on the destination’s ability to buffer the incoming data.

    Default: 250

    Max Batching Delay

    Specify the maximum time (in seconds) to wait before building and processing a batch.

    Default: 3 seconds 

    Base Retry Delay

    Specify the initial time (in seconds) for which to wait before retrying to build and process a batch.
    The waiting time increases in the following sequence: n1, n2, n3, and so on, where n indicates the number of seconds.

    Default: 2 seconds

    Example: Base Retry Delay is set to 2 seconds. Retry is performed after 2, 4, 8, 16, ... seconds.

    Max Intra-Retry Delay

    Specify the maximum limit for the base retry delay.

    Default: 60 seconds

    Example: Max Intra-Retry Delay is set to 60 seconds.
    Base Retry Delay is set to 2 seconds. Retries are performed 2, 4, 8, 16, 32,... seconds later.

    Max Retry Duration

    Specify the total time for retrying a delivery. For REST destinations, a delivery is a batch of data items in one POST request. 

    Default: 5 minutes

    Example: Max Retry Duration is set to 8 hours.
    Base Retry Delay is set to 2 seconds. Requests are sent for 2+4+8+16+32+64+132... until 8 hours in total duration is reached. After that, no subsequent attempts are made to retry the delivery. The assumption here is that if there is an outage or other issue with the destination tool, recovery should take less than the value of the Max Retry Duration parameter to be completed.

    Attributes To Be Dropped When Updating Events

    Specify the event attributes that you do not want to be updated in BMC Helix Operations Management when events are updated.

    For example, if you do not want an event's severity, source address, source category, and subcategory to be updated in BMC Helix Operations Management, you need to specify those attributes in a comma-separated format: severity,source_address,source_category,source_subcategory.

    Important: You can obtain the event attribute names in BMC Helix Operations Management, by exporting any event data in JSON, BAROC, XML, or CSV format. The exported file contains all attributes of the event data, and from there you can identify the attributes to be dropped. 

  11. Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data types.
  12. Click one of the following buttons:

    • SAVE STREAM: Click this button if you want to edit the integration details before creating the instance. After you save the stream, the instance that you created is listed in the SOURCES panel. Move the slider to the right to start the data stream.
    • SAVE AND START STREAM: Click this button if you want to save the integration details and start receiving data immediately.

    Important
    For a data stream, the Run Latency (max/avg), Items (Avg per Run), and Last Run Status columns on the Streams page might show the status as No Runs during the data collection process. After completion of the process, these columns are updated with an appropriate status.

    For more information about data streams, see Starting-or-stopping-data-streams

Task 3: To verify the connection

In BMC Helix Intelligent Integrations , on the SOURCES panel, confirm that the data streams for the integration you created are running. Data streaming is indicated by moving colored arrows.

AppDynamics_MetricsStream.png

  • A moving dark blue arrow (EventsStream_Icon.png) indicates that the event stream is running. Event data will be pushed according to the configured Collection Schedule interval.
  • A moving red arrow (MetricsStream_Icon.png) indicates that the metric stream is running. Metric data will be pushed according to the configured Collection Schedule interval.
  • A moving light blue arrow (TopologyStream_Icon.png) indicates that the topology stream is running. Topology data will be pushed according to the configured Collection Schedule interval.

To view data in BMC Helix applications

View data collected from Prometheus in multiple BMC Helix applications.

To view events in BMC Helix Operations Management

  1. In BMC Helix Operations Management, select Monitoring > Events.
  2. Filter the events by the AppDynamicEvent (for AppDynamics events) or AppDynamicHRVEvent (for AppDynamics Health Rule Violations) classes.
    AppDynamic.png

Incoming events from AppDynamics  are processed in BMC Helix Operations Management through a set of deduplication rules to determine whether the incoming event is a duplicate event or a new event. For more information, see Event-deduplication-suppression-and-closure-for-reducing-event-noise.

For more information about events, see Monitoring and managing events

To view metrics in BMC Helix Operations Management

  1. In BMC Helix Operations Management, select Monitoring > Devices.
  2. Click the links for the required device.
  3. On the Monitors tab, click the required monitor.
    The Performance Overview tab shows the metrics graph.

For information about metrics, see Viewing collected data.

To view the topology data in BMC Helix Discovery

In BMC Helix Discovery, select Explore > Data, and click <count> Import Records in the Miscellaneous section. The Import Record List page shows the CI records received from AppDynamics.

For information about records, see Managing your IT infrastructure.

To view services and situations in BMC Helix AIOps

Before you view services and situations in BMC Helix AIOps, create a Business Service model in BMC Helix Discovery. For information about creating models, see Managing models.  

In BMC Helix AIOps, on the Overview page, view the services and situations for the event and topology data received from AppDynamics

For information about services, see Monitoring services. For information about Situations, see Monitoring situations.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*