Download PDF
Download page Application Model API.
Application Model API
This page describes how application APIs let you retrieve information about the monitored environment as modeled in AppDynamics. This information includes, for example, the names and IDs of the business applications, business transactions, tiers, and nodes in the modeled environment.
Retrieve All Business Applications
The application API method returns the business application names and internal numeric identifier. Many of the operations in the Controller APIs occur in the context of a business application. Use this method to discover the application names or IDs to use before invoking other methods.
Format
GET /controller/rest/applications
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are XML (default) or | No |
time-range-type | Time | A time parameter to filter data based on time range options (time-range-type , startTime , endTime ). If a time-range-type option is specified, the query returns alive applications on that GMT day, otherwise, the query returns all applications.
This feature is available for SaaS only and the API returns all applications for on-premises. For more information see Metric and Snapshot API. | No |
An alive application is an application with at least one node that submits at least one metric to the Controller in the provided time range.
Example
curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications <applications> <application> <id>5</id> <name>ECommerce_E2E</name> </application> <application> <id>8</id> <name>ECommerce_E2E-Fulfillment</name> </application> <application> <id>11</id> <name>jimix12110919</name> <description></description> <accountGuid>429c7884-3f36-4b5a-9412-fdf827e6c86e</accountGuid> </application> </applications>
Retrieve All Business Transactions in a Business Application
Format
GET /controller/rest/applications/application_name/business-transactions
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | The application name or application ID. | Yes |
| Query |
| No |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
time-range-type | Time | Time parameter to filter data based on time range options (time-range-type , startTime , endTime ). If a time-range-type option is specified, the query returns alive business transactions on that GMT day, otherwise, the query returns all business transactions.
This feature is available for SaaS only and the API returns all business transactions for on-premises. See Metric and Snapshot API. | No |
An alive business transaction is a transaction that submits at least one metric to the Controller in the provided time range.
Example
curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/business-transactions <business-transactions> <business-transaction> <id>92</id> <name>/user/.POST</name> <entryPointType>WEB_SERVICE</entryPointType> <internalName>/user/.POST</internalName> <tierId>9</tierId> <tierName>ECommerce-Services</tierName> <background>false</background> </business-transaction> ... <business-transaction> <id>184</id> <name>OrderServiceImplService.createOrder</name> <entryPointType>WEB_SERVICE</entryPointType> <internalName>OrderServiceImplService.createOrder</internalName> <tierId>12</tierId> <tierName>Inventory-Services</tierName> <background>false</background> </business-transaction> </business-transactions>
Retrieve All Tiers in a Business Application
Format
GET /controller/rest/applications/application_name/tiers
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | The application name or application ID. | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
time-range-type | Time | Time parameter to filter data based on time range options (time-range-type , startTime , endTime ). If a time-range-type option is specified, the query returns alive tiers on that GMT day, otherwise, the query returns all tiers.
This feature is available for SaaS only and the API returns all tiers for on-premises. See Metric and Snapshot API. | No |
An alive tier is a tier with at least one node in this tier that submits at least one metric to the Controller in the provided time range.
Example
curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/tiers <tiers> <tier> <id>8</id> <name>Address-Services</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>1</numberOfNodes> </tier> <tier> <id>16</id> <name>Customer-Survey-Services</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>1</numberOfNodes> </tier> <tier> <id>9</id> <name>ECommerce-Services</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>2</numberOfNodes> </tier> <tier> <id>12</id> <name>Inventory-Services</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>1</numberOfNodes> </tier> <tier> <id>17</id> <name>Order-Processing-Services</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>1</numberOfNodes> </tier> <tier> <id>18</id> <name>Web-Tier-Services</name> <type>Web Server</type> <agentType>NATIVE_WEB_SERVER</agentType> <numberOfNodes>1</numberOfNodes> </tier> </tiers>
Retrieve All Registered Backends in a Business Application With Their Properties
Format
GET /controller/rest/applications/application_name/backends
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | Provide either the application name or application id. | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
Example
curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/backends <backends><backend> <id>10</id> <name>INVENTORY-MySQL DB-DB</name> <exitPointType>JDBC</exitPointType> <properties> <name-value> <id>0</id> <name>HOST</name> <value>DB</value> </name-value> <name-value> <id>0</id> <name>MAJOR_VERSION</name> <value>5.5.44-0ubuntu0.14.04.1</value> </name-value> <name-value> <id>0</id> <name>PORT</name> <value>3306</value> </name-value> <name-value> <id>0</id> <name>SCHEMA</name> <value>INVENTORY</value> </name-value> <name-value> <id>0</id> <name>URL</name> <value>jdbc:mysql://db:3306/inventory?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true</value> </name-value> <name-value> <id>0</id> <name>VENDOR</name> <value>MySQL DB</value> </name-value> </properties> <applicationComponentNodeId>0</applicationComponentNodeId> <tierId>0</tierId> </backend> ... <backend> <id>14</id> <name>Active MQ-OrderQueue</name> <exitPointType>JMS</exitPointType> <properties> <name-value> <id>0</id> <name>DESTINATION_NAME</name> <value>OrderQueue</value> </name-value> <name-value> <id>0</id> <name>DESTINATION_TYPE</name> <value>QUEUE</value> </name-value> <name-value> <id>0</id> <name>VENDOR</name> <value>Active MQ</value> </name-value> </properties> <applicationComponentNodeId>0</applicationComponentNodeId> <tierId>0</tierId> </backend> </backends>
Retrieve Node Information for All Nodes in a Business Application
Format
GET /controller/rest/applications/application_name/nodes
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | Provide either the application name or application id. | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
time-range-type | Time | Time parameter to filter data based on time range options (time-range-type , startTime , endTime ). If a time-range-type option is specified, the query returns alive nodes on that GMT day, otherwise, the query returns all nodes.
This feature is available for SaaS only and the API returns all nodes for on-premises. See Metric and Snapshot API. | No |
An alive node is a node that submits at least one metric to the Controller in the provided time range.
Example
curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/nodes <nodes><node> <id>7</id> <name>Node_8000</name> <type>Tomcat 5.x</type> <tierId>12</tierId> <tierName>ECommerce Server</tierName> <machineId>3</machineId> <machineName>TIER1TOMCAT</machineName> <machineOSType>Linux</machineOSType> <machineAgentPresent>true</machineAgentPresent> <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion> <appAgentPresent>true</appAgentPresent> <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion> <agentType>APP_AGENT</agentType> </node> ... <node> <id>10</id> <name>Node_8002</name> <type>Tomcat 5.x</type> <tierId>14</tierId> <tierName>Inventory Server</tierName> <machineId>6</machineId> <machineName>TIER3TOMCAT</machineName> <machineOSType>Linux</machineOSType> <machineAgentPresent>true</machineAgentPresent> <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion> <appAgentPresent>true</appAgentPresent> <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion> <agentType>APP_AGENT</agentType> </node> </nodes>
Retrieve Node Information by Node Name
Format
GET /controller/rest/applications/application_name/nodes/node_name
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | The application name or application ID. | Yes |
| URI | The node name or ID | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
Example
curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/nodes/10 <nodes><node> <id>10</id> <name>Node_8002</name> <type>Tomcat 5.x</type> <tierId>14</tierId> <tierName>Inventory Server</tierName> <machineId>6</machineId> <machineName>TIER3TOMCAT</machineName> <machineOSType>Linux</machineOSType> <machineAgentPresent>true</machineAgentPresent> <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion> <appAgentPresent>true</appAgentPresent> <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion> <ipAddresses> <ipAddress>10.0.32.138</ipAddress> </ipAddresses> <agentType>APP_AGENT</agentType> </node> </nodes>
Retrieve Node Information for All Nodes in a Tier
Format
GET /controller/rest/applications/application_name/tiers/tier_name/nodes
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | The application name or application ID. | Yes |
| URI | The tier name or ID. | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
time-range-type | Time | Time parameter to filter data based on time range options (time-range-type, startTime , endTime ). If a time-range-type option is specified, the query returns alive nodes on that GMT day, otherwise, the query returns all nodes.
This feature is available for SaaS only and the API returns all nodes for on-premises. See Metric and Snapshot API. | No |
Example
curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/25/tiers/70/nodes <nodes><node> <id>81</id> <name>PHP_Node</name> <type>Other</type> <tierId>70</tierId> <tierName>PHP_Tier</tierName> <machineId>65</machineId> <machineName>232fe50b8f9c</machineName> <machineOSType>Linux</machineOSType> <machineAgentPresent>false</machineAgentPresent> <appAgentPresent>true</appAgentPresent> <appAgentVersion>Proxy v4.2.0.0 GA SHA-1:.c86ec090f4ff77195df065fe56dade4dfc3913aa #9909 8869-master-build</appAgentVersion> <ipAddresses> <ipAddress>fe80:0:0:0:42:acff:fe11:2%eth0</ipAddress> <ipAddress>172.17.0.2</ipAddress> </ipAddresses> <agentType>PHP_APP_AGENT</agentType> </node> </nodes>
Retrieve Tier Information by Tier Name
Format
GET /controller/rest/applications/application_name/tiers/tier_name
Input parameters
Parameter Name | Parameter Type | Value | Mandatory |
---|---|---|---|
| URI | The application name or application ID. | Yes |
| URI | Tier name or ID. | Yes |
| Query | HTTP Request parameter included as part of the URL to change the output format. Valid values are | No |
Example
curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/tiers/14 <tiers><tier> <id>14</id> <name>Inventory Server</name> <type>Application Server</type> <agentType>APP_AGENT</agentType> <numberOfNodes>1</numberOfNodes> </tier> </tiers>