Download PDF
Download page Integrate AppDynamics with ServiceNow CMDB and Event Management.
Integrate AppDynamics with ServiceNow CMDB and Event Management
This page describes how to integrate the AppDynamics for ServiceNow® application with ServiceNow®.
Download
The download package can be found at AppDynamics Downloads.
Version 22.1.1
AppDynamics has released a new version of Sync Utility to address the Log4j2 vulnerability (CVE-2021-45046). This version integrates with the Quebec, Rome, San Diego, Tokyo, and Utah Release of ServiceNow®. See Security Advisory: Apache Log4j Vulnerability.
- To review version-specific configuration details, see New Version 22.1.1.
- To upgrade an existing Sync Utility, follow the instructions in the upgrade section.
Please review this version compatibility matrix to guide your installation and upgrade decision:
Integration Version | AppDynamics | ServiceNow® |
---|---|---|
22.1.1 | >= 21.1.0 | Quebec, Rome, San Diego, Tokyo, and Utah |
21.12 | >= 21.1.0 | Quebec, Rome, San Diego, and Tokyo |
20.7 We do not recommend this version due to security concerns. | >= 4.5.0.1 | Quebec, Rome, San Diego, and Tokyo |
Use Case
Splunk AppDynamics SaaS traces every transaction and builds real-time application topology. The ServiceNow® integration provides these capabilities:
AppDynamics application topology feeds data into the AppDynamics for ServiceNow® application as custom tables in the CMDB.
In this version, monitored servers can be reconciled with the ServiceNow® appropriate CMDB Server CIs.
AppDynamics can send alerts to the ServiceNow® Event Management application and use the AppDynamics-created entities. The AppDynamics for ServiceNow® application imports the AppDynamics alerts as entities. These entities can be used only when they are added to the ServiceNow® table. The AppDynamics for ServiceNow® application then creates a ServiceNow® table that maps with the entities.
This table lists these entities along with the ServiceNow® table that is created to represent them:
AppDynamics Entity Installed | ServiceNow® Table Created |
---|---|
Application | x_apd_appdynamics_application |
Business Transaction | x_apd_appdynamics_business_transaction |
Controller Tenant | x_apd_appdynamics_controller |
Database | x_apd_appdynamics_database |
Node | x_apd_appdynamics_node |
Remote Service | x_apd_appdynamics_remote_service |
Tier | x_apd_appdynamics_tier |
Before You Begin the Integration
This integration requires that you download, install, and complete the following tasks, in this order, before starting the integration.
- Create an AppDynamics Discovery Source in your ServiceNow® instance.
- Download and install the AppDynamics for ServiceNow® application from the ServiceNow® Store.
This application creates the custom AppDynamics tables in the Configuration Management Database (CMDB). - Download, install, and configure the Data Sync Utility.
This utility makes API calls to AppDynamics and ServiceNow® to push our topology into the CMDB tables. - Once the data Sync Utility has been configured, go back to the utility and choose to download and install the Alerting template.
The template contains the proper settings for AppDynamics to send alerts to the event service in ServiceNow®. - Install Java 8 on the machine that runs this program.
- Start Java with 512 MB of initial memory (
-Xms512m
).
Create AppDynamics Discovery Source in ServiceNow®
You must create an AppDynamics Discovery Source before installing the integration from the ServiceNow® Store:
Log in to the ServiceNow® instance.
In the left menu, select System Definition > Choice Lists.
Click New.
Specify the following details only. Do not change the values of other fields.
Table Configuration Item [cmdb_ci]
Element discovery_source
Label AppDynamics
Value AppDynamics
Download AppDynamics for ServiceNow® Application
Download the AppDynamics for ServiceNow® application from the ServiceNow® store and install it on your ServiceNow® instance.
To use Node-to-Server CI Reconciliation in ServiceNow®, you must have:
- AppDynamics Machine Agents with Server Visibility enabled installed and running on each host supporting AppDynamics Nodes to be imported.
- AppDynamics Controller Tenant and Machine Agent >= 4.5.0.1 with Server Visibility enabled.
- If you have issues, see Troubleshooting.
Download AppDynamics-ServiceNow® Data Sync Utility
Download the Data Sync Utility zip file from the AppDynamics Downloads portal.
You can download this utility either as a standalone Java application or as a JAR file. The standalone Java application can run on a Windows or Linux host and the JAR file can run as a Java program on any host machine.

Server Options
Download and unzip the appdynamics-cmdb-service-$version.zip
Data Sync Utility file.
- Unzip the
appdynamics-cmdb-service-$version.zip
file. - Start the Server.
init.d service (System V)
sudo ln -s /path/to/appdynamics-cmdb-service/appdynamics-cmdb-service.jar /etc/init.d/appdynamics-cmdb-service sudo /etc/init.d/appdynamics-cmdb-service start
PYThe java options can be configured in the
$HOME/appdynamics-cmdb-service.conf
file.
The application logs are created in the$HOME/logs
directory.
The system out logs are created in the/var/log/appdynamics-cmdb-service.log
file.Windows (winsw):
Open a terminal and navigate to the
appdynamics-cmdb-service
folder where you extracted the zip file:cd C:\Path-to\appdynamics-cmdb-service
PYRun the following command:
javaw -jar appdynamics-cmdb-service.jar
PYThe Java options can be configured in the
%$HOME%/bin/appdynamics-cmdb-service-win.xml
file.The logs are created in the
$HOME/logs
directory.Other platforms:
java -Xms512m -jar /path/to/appdynamics-cmdb-service.jar
PYThe application logs are created in the
$HOME/logs
directory.
Upgrades
Backup the data directory
data/
where the java Sync Utility is installed.- Overwrite the existing installation with the new file.
Setup
- init.d service—the configuration file is located at
$HOME/appdynamics-cmdb-service.conf
. Add the params to theJAVA_OPTS
property. - Windows service—the configuration file is located at
$HOME/bin/appdynamics-cmdb-service-win.xml.
Add the params to the<arguments>
property. - jar—add the params directly to the command preceding
-jar ...
Options
Use a different port:
-Dserver.port=8080
PYEnable authentication:
-Dplatform.security.enabled=true # This will create a local login with the following credentials. -Dplatform.username=user -Dplatform.password="deFAultPwd4P1atfrm" -Dplatform.security.encryption-key=mykey -Dplatform.security.encryption-salt=mysalt
PYThe
encryption-key
andencryption-salt
are optional.
Configure the Data Sync Utility
User Roles and Permissions
The Sync Utility needs to communicate with both an AppDynamics Controller Tenant and a ServiceNow® instance. We recommend using a service account for this access:
AppDynamics Controller Tenant:
The service account user requires these roles with rights to all applications to be synchronized.- Applications and Dashboards Viewer
- Server Monitoring User—Optional if you want to enable node-to-server CI reconciliation
ServiceNow®: These roles should be assigned to the ServiceNow® user account that will be posting data to ServiceNow®:
This user can be set to web service access only on the user form.
If Event Management is activated in your ServiceNow® instance, add these roles:
x_apd_appdynamics.appdynamics_role
evt_mgmt_user
evt_mgmt_integration
mid_server
—Optional if you want to do server CI reconciliation.app_service_admin
—Required for Sync Utility v20.7.
If Event Management is not activated, add these roles:
x_apd_appdynamics.appdynamics_role
itil
mid_server
—Optional if you want to do server CI reconciliation.app_service_admin
—Required for Sync Utility v20.7.
Domain Separated ServiceNow® Instances
If your ServiceNow® instance is domain-separated, a unique user account is required for each domain you want to update in the CMDB. For each domain:
- Create a user account as described in User Roles and Permissions with the required roles.
- Assign this user to the appropriate domain for the applications that it needs to access.
- Create a new ServiceNow® instance with the appropriate user for each domain.
- Set up synchronization for the applications appropriate for each domain user.
Synchronize with the CMDB
The integration supports the synchronization of one or more ServiceNow® instances with one or more AppDynamics Controller Tenants.
- Log in to the Sync Utility.
- Open
http://<host>:8080
on a browser. The default username is
user
and the default password isdeFAultPwd4P1atfrm
.This can be overridden by the java startup property-Dplatform.password=welcome
. See Server Options.
- Open
- Select the Service Model Integration left menu bar.
Click AppDynamics Controllers and add one or more Controller Tenants.
If your Controller Tenant is a dedicated SaaS (single-tenant), the Account Name will be
customer1.
- Click ServiceNow® Instances and add your ServiceNow® instance(s).
- Click Synchronize from the top menu.
- Choose applications from the Applications list to export to ServiceNow®.
Select which AppDynamics Relationships to Synchronize to include:
Tier to Tier
Tier to Remote (Remote Services)
Tier to Application
Node-to-Server CI
Reconciles the node host with an existing Server CI and builds a Runs relationship with the
x_apd_appdynamics_node
running on it. See Node-to-Server CI Reconciliation.
- Click Run Diagnostics to begin verification without creating any data.
- If successful, click Synchronize to run a one-time synchronization.
- If not successful, address the issues in the diagnostic messages provided.
Most integration users may like the synchronization to run at regular intervals to keep the service models. The integrated scheduler function allows for the creation and running of synchronization automatically.
UI Tab | Description |
---|---|
Schedules | Allows schedule creation using a cron expression. The Synchronize options on this page are the same as the other configuration panes. |
History | Provides a graphical view of prior runs. You can expand each run to get details of the run, including error messages. |
Settings | Provides additional settings for connection timeouts, SSL, proxy configuration, and additional static values that can be added to fields in various CMDB tables. |
After the synchronization is complete, log in to the ServiceNow® instance and select the AppDynamics menu item to view the tables and data associated with the integration.
Node-to-Server CI Reconciliation
In >= 3.1, the Node-to-Server CI checkbox in the Sync Utility builds a relationship between an AppDynamics Node (x_apd_appdynamics_node
) and the underlying host Server CI (cmdb_ci_linux_server, cmdb_ci_windows_server
) in the ServiceNow® CMDB.
To use this feature, a Machine Agent with Server Visibility enabled must be installed and running on each host that supports an imported AppDynamics Node. See Machine Agent with Server Visibility.
The integration uses the default ServiceNow® hardware identification rules for reconciliation:
Name: AppDynamics uses the operating system-reported hostname as the value for this field, which is subject to the following Discovery Property settings in ServiceNow®, whether Discovery is installed or not:
Themid_server
role must be assigned to the ServiceNow® user for the integration to read these properties.
glide.discovery.hostname.case
glide.discovery.hostname.include_domain
glide.discovery.fqdn.regex
Refer to the ServiceNow® product documentation for more information about these properties.
- IP Address + MAC address (Network Adapter Table): AppDynamics uses any adapter with a valid IPv4 or IPv6 address and a MAC address.
These attributes are provided by Machine Agents with Server Visibility enabled for Controller Tenant and Machine Agent >= 4.5.0.1.
- To avoid duplicate Server CIs being created by this integration, any discovery sources employed must adhere to the same hardware identification rules:
- Name in the Server CI should match the system reported hostname subject to the Discovery properties described above.
For each Server Network Adapter, the
ip_address
andmac_address
must be populated in the Network Adapter table and related to the Server CI.ServiceNow® CMDB Identification and Reconciliation will not consider IP Address and MAC Address values populated on the Server CI form directly.
This integration identifies Linux and Windows servers and reconciles them to their respective CI classes on update or create (
cmdb_ci_linux_server & cmdb_ci_windows_server
).If a server is not Windows or Linux, no CMDB relationships will be created.
Fields Populated in ServiceNow® by Node-to-Server CI Reconciliation
For the appropriate Server Class (cmdb_ci_*_server
) and related to the parent AppDynamics Node:
ServiceNow® Server CI Field | AppDynamics Server Visibility Attribute Used |
Name ( | The reported Hostname—the Sync Utility reads and uses the discovery properties listed above to determine the hostname. |
Hostname ( | The reported Hostname. |
Each Network Adapter reported populates the Network Adapter CI (cmdb_ci_network_adapter
) and related parent Server CI:
ServiceNow® Network Adapter CI Field | AppDynamics Server Visibility Attribute Used |
IP Address ( | IP Address with /x removed. Using either IPv4 or IPv6 Address as reported. If neither is populated, the adapter is not synced. |
MAC Address ( | The reported MAC address. |
Add Static Values to Required Fields
If there are required fields in your CMDB that AppDynamics does not populate, you can use the CMDB Additional Fields to add multiple static values per table.
- Navigate to the AppDynamics-ServiceNow® Sync Utility.
- Select Settings.
- Select CMDB Additional Fields.
- For the desired CI table, click Add Field.
- Enter the ServiceNow® Field Name (not the label).
- Enter the static value to populate all records of this type. For example, if you are required to populate the
hardware_status
field on allcmdb_ci_server
and child class records, enter “hardware_status
” and then “Installed
”. - Click Save.
Considerations for Dynamic Application Environments
If the application environments you are monitoring with AppDynamics change frequently, you may end up with artifacts in the ServiceNow® CMDB that no longer reflect the current state of your application topology.
In order to address this, ServiceNow® provides documentation on how to configure “data refresh rules” in the CMDB so that irrelevant AppDynamics CIs can be removed. For the New York release, see Create data refresh rules.
Create Business Service CI
AppDynamics Application to ServiceNow® Application Service Relationships
Health rule violation alerts related to a ServiceNow® Application Service are shown in the Event Management Dashboard. There are two ways to build this relationship based on the current state of the ServiceNow® CMDB:
If Business Services do not exist:
- If there are no Business Service CIs in the CMDB, ensure that the Create Business Service checkbox is checked when initially synchronizing an application. Follow the instructions in the Sync Utility documentation that explain how to convert that CI to an Application Service (
cmdb_ci_service_discovered
) CI that can be shown on the ServiceNow® Event Management Dashboard.
You must select six levels of CIs to include in the model.

This step requires the app_service_admin
role. See the ServiceNow® Convert a business service to an application service.
If Business Services exist:
If the Business Service entities are Application Service class CIs, a relationship can be manually created between the AppDynamics Application and the ServiceNow® Application Service. To create the relationship:
- Open the AppDynamics Application CI (
x_apd_appdynamics_application
). - Click Add CI relationship.
- In the filter, set the “Class” - “is” - “Application Service”.
- Click Run Filter.
- Select the Application Service CI.
- Select the Runs On::Runs relationship.
- Click Create new relationships with selected configuration item(s).
AppDynamics Tier to ServiceNow® Application Service Relationships
In some cases, an AppDynamics Tier may be the correct entity to relate to a ServiceNow® Application Service. To build this relationship in the ServiceNow® CMDB:
- Open the AppDynamics Tier CI (
x_apd_appdynamics_tier
). - Click Add CI relationship.
- In the filter, set the “Class” - “is” - “Application Service”.
- Click Run Filter.
- Select the Application Service CI.
- Select the Runs On::Runs relationship.
- Click Create new relationships with selected configuration item(s).
Additional Application Relationships
The AppDynamics Application description and Tier description fields are populated in the AppDynamics Application CI (x_apd_appdynamics_application
) and AppDynamics Tier CI (x_apd_appdynamics_tier
) respectively:
Table | Application CI Field | AppDynamics Field Used |
---|---|---|
x_apd_appdynamics_application | Description (short_description ) | Application description |
Table | Tier CI Field | AppDynamics Field Used |
---|---|---|
x_apd_appdynamics_tier | Description (short_description ) | Tier description |
Troubleshooting
Logs
The logs are generated in the logs/
directory where the application is installed.
Debug Logs:
To enable debug logging, edit the file conf/log4j2.xml
and change the level of the logger com.appdynamics
to DEBUG.
Read Timeouts
If you encounter any Read Timeout errors while doing the sync:
- Increase the Socket Timeout value in the Settings tab up to
60,000
initially and higher if needed. - Reduce the Sync Batch Size of entities to ServiceNow® Instance.
- Navigate to the
Installation
directory. Find the
conf/application.properties
file and adjust the size value.Restart the AppDynamics ServiceNow® Sync Utility service or daemon (Required).
Events Integration
This section assumes that you are familiar with the configuration of HealthRules, Policies, and Actions in AppDynamics. See Alert and Respond.
The Events integration uses the HTTP templates feature in the Controller Tenant to push events to the ServiceNow® Events API. The details of the ServiceNow® Events API can be found here. See HTTP Request Actions and Templates.
Prerequisites
- Download and install the AppDynamics for ServiceNow® application on your ServiceNow® instance.
- Run the AppDynamics-ServiceNow® Data Sync Utility and verify that the entities are imported into your ServiceNow® instance. See Data Sync Utility.
- Activate the ServiceNow® Event Management plugin.
Events Installation and Configuration
In this section, you will create an Action, configure Health Rule Violations, and create binding Policies.
Create an Action on the AppDynamics Controller Tenant
- Log in to the web UI for the AppDynamics-ServiceNow® Data Sync Utility.
- Select Service Model Integration > Event Integration.
- Select the Controller Tenant you would like to configure. If one is not configured, see Data Sync Utility Configuration.
- Click Download Template.
Use the downloaded file to configure the HTTP Request template in AppDynamics. You will then create an Action and apply that action to a policy that specifies a health rule and action. To create the new Action:
- Navigate to the Alert & Respond top menu in your AppDynamics Controller Tenant.
- Click Alert & Respond > HTTP Request Templates in the left navigation.
- Select the resource on which the action is to be created.
- Click New and fill out the following fields:
- Name: Any name to uniquely identify the template
- Request URL
- Method:
POST
- Raw URL:
https://<your-instance>.service-now.com/em_event.do?JSONv2&sysparm_action=insertMultiple.
Replace<your-instance>
with the id of the actual instance.
- Method:
- Authentication
- Type:
BASIC
Enter the
user name
andpassword
of your ServiceNow® instance.Ensure you have already configured the ServiceNow® User and Roles as described in User Roles and Permissions.
- Type:
- Payload
- MIME Type:
application/json
- Copy the contents from the downloaded file,
event-request-template.txt
, and then paste it in the Payload text area - Update the
controllerName
in the first line of the file. It must be the same value that you set while adding theAppDynamics Controller Name
in the Sync Utility.
- MIME Type:
- Save the HTTP Template.
Configure Health Rules on the AppDynamics Controller Tenant
- Select the Alert & Respond tab.
- Select Health Rules.
Use the Select dropdown to choose an application on which you want to alert.
Review the list of Health Rules configured out-of-the-box for that application. Add more Health Rules if needed.
Create a Policy on the AppDynamics Controller Tenant to Bind Health Rules to Actions
- Select Alert & Respond > Policies.
- Select Create a Policy Manually if there are no policies configured already.
Select the type of scenarios on which you want to receive alerts.
Checking all the boxes might lead to an alert storm on your ServiceNow® instance.
Click Save.
Select the Health Rule Scope defining which tiers and nodes the Health Rule should cover and click Save.
- Select the Object Scope and choose the Tiers and Nodes to be covered in this policy and click Save.
- Select Actions.
- Click Add + sign to create a new Action.
- Select the ServiceNow® Action you created and click Save.
Version 22.1.1
This version release contains updates to fix the Log4j vulnerability in the Sync Utility. The Log4j version is updated to use 2.17.1.
To upgrade an existing Sync Utility, follow the instructions in the upgrade section.
Requirements
Versions
- AppDynamics >= 21.10.
- ServiceNow® instances to be synchronized must be running Quebec, Rome, San Diego, or Tokyo.
New Roles
- No additional roles are needed for the service account in AppDynamics.
- The service account in ServiceNow® will also need the
app_service_admin
role.
Upgrade an Existing Sync Utility
Already Synchronized Applications
If you are using a version >= 20.7, the synchronization will remain as-is in 21.12.1.
If you are using a version <= 3.1, existing AppDynamics monitored applications and related entities that have been synchronized to a ServiceNow® CMDB from previous versions of the Sync Utility will remain in the CMDB. When the same application is re-synchronized using 21.12.1, a calculated service CI is created for those applications (or tiers) as configured. See Creating Calculated Application Service CIs.
Existing Manual Entry Points
If you created manual entry points for Application Service CIs using AppDynamics monitored application CIs x_apd_appdynamics_application
will remain as-is. After synchronizing using Sync Utility v21.12.1, a new calculated application service CI will be added to the relationships.
Recommendation
AppDynamics recommends that you remove any previously created entry points and create a manual entry point to the new Calculated Application Service cmdb_ci_service_calculated
CI. To do this:
- To remove the existing manual entry point:
- Open the Application Service CI you are monitoring with Event Management
- Click - next to the Manually Added CI link and click Remove.
- Add a manual entry point for the calculated application service:
- Open the application service CI you are monitoring in ServiceNow®.
- Click Add Entry Point.
- Select Manually Created.
- For CI Type, select Calculated Application Service.
- For CI Name, select the name for the application you synched.
Create Calculated Application Service CIs
Orlando introduces a new CI class called Calculated Application Service cmdb_ci_service_calculated
. This new class is dynamic and provides additional capability to automatically update a service map when relationships in the CMDB change for CIs that are part of the application service.
Some AppDynamics customers monitor applications as Tiers. With the new version 21.12.1, you can map AppDynamics Applications or AppDynamics Tiers to cmdb_ci_service_calculated
CIs in ServiceNow®.
Select Tiers to Monitor as Application Services in ServiceNow®
By default, all applications monitored by an AppDynamics Controller Tenant relate to a newly calculated application service when synchronized for the first time with 21.12.1 with a Used By::Depends On relationship.
To sync monitored tiers to a calculated Application Service CI in ServiceNow®:
Navigate to Application Mappings.
Add a Controller Tenant if none exists, or select the Controller Tenant from the dropdown. A list of all the AppDynamics monitored applications in the selected Controller Tenant UI.
To map each tier of a monitored application to a Calculated Application Service CI, move that application to the right bucket as an Application Group.
Synchronize the Application Services in ServiceNow®
ServiceNow® requires that each Calculated Application Service CI (cmdb_ci_service_calculated
) has a unique name. When synchronized for the first time using version >= 20.7, a new Calculated Application Service CI is created with this naming convention:
By default, each monitored application will have a Calculated Application Service CI named:
AppD - AppNameGoesHere (
controllerName
)If an application is designated as an Application Group, each monitored tier will have a Calculated Application Service CI named:
AppD - AppnameGoesHere:TierNameGoesHere (
controllerName
)
AppDynamics Application and ServiceNow® Calculated Application CI Dashboard
Use the View Mapped Applications dashboard to view the mappings between AppDynamics Applications (and Tiers) and ServiceNow® Calculated Application CI.
To delete a mapping from ServiceNow®, click the red 'X' to delete the mapping from this panel. This will delete both the Calculated Application CI and the relationship displayed. The AppDynamics entities in the CMDB will remain.
Support
For questions or feature requests, please contact AppDynamics Help.