Creating AppDynamics integrations

An AppDynamics integration can provide Cloud Pak for AIOps metric and topology data for the applications or infrastructure that you monitor.

You need to have both an endpoint and basic authentication ready. The AI Algorithm that analyzes AppDynamics data is Metric anomaly detection. AppDynamics SaaS controller 22.5 is the version that is supported for the AppDynamics integration.

For more information about working with AppDynamics integrations, see the following sections:

For more information about HTTP headers for the various credential types, see HTTP headers for credential types.

Creating AppDynamics integrations

To create an AppDynamics integration, complete the following steps:

  1. Log in to IBM Cloud Pak for AIOps console.

  2. Expand the navigation menu (four horizontal bars), then click Define > Integrations.

  3. On the Integrations page, click Add integration.

  4. From the list of available integrations, find and click the AppDynamics tile.

    Note: If you do not immediately see the integration that you want to create, you can filter the tiles by type of integration. Click the type of integration that you want in the Category section.

  5. On the side-panel, review the instructions and select from the following options:

    • Select the data types that you need to collect: Select the relevant checkbox for Metrics or Topology.

    • Specify whether you'd like to install the integration: Select between the Cluster running Cloud Pak for AIOps or Self-hosted with network visability to AppDynamics radio buttons.

    • Select Cloud Pak for AIOps integration: You can leave this at the default Use the integration that is recommended by Cloud Pak for AIOps, which will be whichever you selected out of Metrics or Topology in the Select the data types that you need to collect field, or you can deselect this and then select between just Metrics or Topology.

      The below steps are for selecting Metrics but if you do select Topology then you will be brought to a New observer job page. An AppDynamics integration provides topology data through an observer that supports the discovery of business applications, nodes and tiers. When an AppDynamics observer job is run, it will gather and read data from the AppDynamics Controller via REST API. For more information, see Configuring an AppDynamics observer job.

      AppDynamics integration
      Figure. Configuring an AppDynamics integration

  6. Then click Next.

    You see an overview, further direction such as what you need to have ready and also what algorithms analyze AppDynamics data.

    AppDynamics integration
    Figure. Get started

  7. Click Get Started.

  8. On the Add integration page, define the general integration details:

    • Name: The display name of your integration. You cannot use spaces or special characters in the display name. Use only alphanumeric characters.

    • Description: An optional description for the integration.

    • Endpoint: Enter an endpoint for the integration, which in this case is the AppDynamics data source base URL of your account.

    • Client ID: Client ID is generated from the AppDynamics controller, in the format 'ApiClientName@AccountName', for example 'aiops@ibm', where 'aiops' is the API Client name, and 'ibm' is the AppDynamics account name.

      AppDynamics integration
      Figure. Add AppDynamics integration

    • Client Secret: Generated from AppDynamics UI -> Settings -> Administration -> API Clients. Enter the Client secret for the application. Also, ensure that the Client Secret created has the following roles:​ Account Owner​, Administrator,​ or Applications and Dashboards Viewer, which is the minimum role. If not, the API calls might not return valid application IDs.

    • Deployment options: Select between 'Local' and 'Remote' radio buttons. If you pick 'Remote', then after you add the integration, you are provided with a bootstrap command to finish the orchestration. Run the bootstrap script on the remote server where you want to deploy the integration remotely.

      Important: Podman must be installed to execute the remote deployment script with a recommended minimum version of 4.4.1. Read and write access are required for the folder where the remote deployment script will be executed and the script also must have execution permissions in order to be run. No more than one remote deployment script should be executed per host.

  9. To verify the SSL/TLS configuration:

    1. Set the Verify the SSL/TLS certificate for the REST service toggle to on.
    2. Either enter a CA certificate used to verify the SSL/TLS integration to the REST service or click Fetch SSL certificate to fetch the certificate automatically.
  10. Click Test Connection. If successful, a Test succeeded message is displayed.

    AppDynamics integration
    Figure. Test connection

  11. Click Next.

  12. On the Configure Proxy (Optional) page complete the following fields:

    • Connect to AppDynamics via a proxy server: Set the toggle button to on.

    • URL of HTTP proxy server: Enter a URL for the HTTP proxy server. Note: The URL for the metrics-only integration should have the protocol in the URL.

    • Port number of proxy server: Enter a port. The default is 8080.

      AppDynamics integration

    Note: Only unauthenticated HTTP proxy is supported.

  13. Click Next.

  14. Enter the following Collect metric data*: Define how you want to collect metric data.

  • Enable data collection: Set the toggle button to on.

  • Fill out Code field: Enter Application name and corresponding Metric paths as JSON, using the following format:

    {"Application Name":"[metric path1, metric path2, metric path3]"
    }
    

    Example

    {
    "helloworld":"[Overall Application Performance|Calls per Minute,Overall Application Performance|Average Response Time (ms),Overall Application Performance|mytier|Average Response Time (ms)]",
    "products-ecommerce":"[Overall Application Performance|*,Business Transaction Performance|Business Transactions|DwightVM|*|*]",
    "Database Monitoring":"[Databases|admin2|KPI|*,Databases|mysql-admin| Server Statistic|*]"
    }
    

    To get the metric path, go to the AppDynamics Console, select the application > Metrics Browsers > choose the metrics that you want to monitor > right-click and select 'Copy Full Path'.

  1. You can chose between collecting historical or live data. If you want to collect live data you need to click the Only click Live data once the integration is established checkbox. If you do not you need to fill out the following fields for historical data collection:

    • Enter Start date: Enter the start date mm:dd:yyyy.
    • Enter Start time: Enter the start date and time in the format hh:mm (hours and minutes).
    • Set LocalTime: Pick the time zone required from the dropdown list.

    AppDynamics integration
    Figure. Collect metric data

    Click the Add end date button if you want to add an end date. There is also a Remove End date button.The following fields appear:

    • End date: Enter the end date mm:dd:yyyy.
    • End time: Enter the end date and time in the format hh:mm (hours and minutes).
    • Scheduler run time (minutes): The frequency at which the live scheduler should run. The default is 5 mins.

    Note: For historical metric data collection, the recommended time period is two weeks. You can collect up to 31 days of historical data so your start date should not exceed 31 days from the present. If an end date is not specified, Cloud Pak for AIOps will collect historical data from the specified start date and continue with live data collection. You will not be able to collect historical data after live data collection has started. The default retention period for AppDynamics is four hours. Before setting up your application, increase the retention period on the AppDynamics target system or you will not be able to collect historical data older than four hours.

    If you click the Live data radio button the field to complete is:

    • Scheduler run time (minutes): The frequency at which the live scheduler should run. The default is 5 mins.
  2. Click Done.

For more information about adding an AppDynamics data retention period, see Adding an AppDynamics data retention period.

For more information about performance considerations for metric data collection, see Performance considerations for metric data collection.

You created an AppDynamics integration in your instance. After you create your integration, you must enable the data collection to connect your integration with the AI of IBM Cloud Pak for AIOps. For more information about enabling your integration, see Enabling AppDynamics integrations.

Note: An error that might show if no data is set for particular metrics or applications can resemble the following message.

2022-06-22 04:59:07,578 INFO [Default Executor-thread-3] com.ibm.watson.aiops.connectors.service.AppdynamicsWebClientService : Bad Request​
[err] javax.ws.rs.BadRequestException: BadRequest​
[err] java.lang.NullPointerException​

In order to avoid this error, ensure the application name and metrics path configured are valid. Also, ensure that the Client Secret created previously has the following roles:​ Account Owner​ and Administrator​. If not, the API calls might not return valid application IDs.

To create more integrations (such as a ChatOps integration), see Configuring Integrations.

For more information about working with the insights provided by your integrations, see ChatOps insight management.

Enabling and disabling AppDynamics integrations

If you didn't enable your data collection during creation, you can enable your integration afterward. You can also disable a previously enabled integration the same way. To enable or disable a created integration, complete the following steps:

  1. Log in to IBM Cloud Pak for AIOps console.

  2. Expand the navigation menu (four horizontal bars), then click Define > Integrations.

  3. On the Manage integrations tab of the Integrations page, click the AppDynamics integration type.

  4. Click the integration that you want to enable or disable.

  5. Go to the Collect metric data section. Set Enable data collection to On or Off to enable or disable data collection. Disabling data collection for an integration does not delete the integration.

You enabled or disabled your integration. For more information about deleting an integration, see Deleting AppDynamics integrations.

Editing AppDynamics integrations

After you create your integration, your can edit the integration. For example, if you specified Historical mode but now want your integration to pull in live data for continuous monitoring, you can edit it. To edit an integration, complete the following steps:

  1. Log in to IBM Cloud Pak for AIOps console.

  2. Expand the navigation menu (four horizontal bars), then click Define > Integrations.

  3. Click the AppDynamics integration type on the Manage integrations tab of the Integrations page.

  4. On the AppDynamics integrations page, click the name of the integration that you want to edit. Alternatively, you can click the options menu (three vertical dots) for the integration and click Edit. The integration configuration opens.

  5. Edit your integration as required. Click Save when you are done editing.

    AppDynamics integration
    Figure. Edit AppDynamics integration

Your integration is now edited. If your application was not previously enabled or disabled, you can enable or disable the integration directly from the interface. For more information about enabling and disabling your integration, see Enabling and disabling AppDynamics integrations. For more information about deleting an integration, see Deleting AppDynamics integrations.

AppDynamics integration
Figure. AppDynamics integration created

Deleting AppDynamics integrations

If you no longer need your AppDynamics integration and want to not only disable it, but delete it entirely, you can delete the integration from the console.

To delete an integration, complete the following steps:

  1. Log in to IBM Cloud Pak for AIOps console.

  2. Expand the navigation menu (four horizontal bars), then click Define > Integrations.

  3. Click the AppDynamics integration type on the Manage integrations tab of the Integrations page.

  4. On the AppDynamics integrations page, click the options menu (three vertical dots) for the integration that you want to delete and click Delete.

  5. Enter the name of the integration to confirm that you want to delete your integration. Then, click Delete.

Your integration is deleted.

Adding an AppDynamics data retention period

The default data retention period for AppDynamics is 4 hours. Metric anomaly detection uses up to two weeks of data to build models and without historical data to collect, it is several days to a week before anomalies start to be detected and raised without having historical data to quickly train up the algorithms.

Consider whether it is possible to increase the AppDynamics data retention period in advance so that the analytics can train up more quickly. To increase the data retention period in AppDynamics, consult the relevant AppDynamics retention documentation.