Cisco AppDynamics Professional Implementer(CAPI) Questions and Answers
Which URL retrieves all AppDynamics business applications from an AppDynamics Controller using the AppDynamics Rest API?
Options:
http(s)://
http(s)://
httpis)://
http(s)://
Answer:
CExplanation:
The AppDynamics Rest API allows you to retrieve information and perform operations on the AppDynamics platform using HTTP requests. To retrieve all AppDynamics business applications from an AppDynamics Controller using the AppDynamics Rest API, you need to use the following URL format:
http(s)://
This URL returns the business application names and internal numeric identifiers for all the applications that are monitored by the Controller. You can use the application name or ID as a parameter for other API methods that require the application context. You can also specify the output format as XML (default) or JSON by adding the output query parameter. For example:
http(s)://
This URL returns the same information as the previous one, but in JSON format. You can also filter the applications by their status (alive or not) by adding the time-range-type query parameter. For example:
http(s)://
This URL returns only the applications that are alive in the last 60 minutes. An alive application is an application with at least one node that submits at least one metric to the Controller in the provided time range12. References: Application Model API, Metric and Snapshot API
Which REST query could be used to verify the availability of an AppDynarmics Controller?
Options:
http://
http://
http://
Answer:
CExplanation:
The REST query that could be used to verify the availability of an AppDynamics Controller is1:
- http://
: /controller/rest/ping
This query returns a simple text response of “pong” if the Controller is up and running, or an error message if the Controller is down or unreachable1. This query does not require any authentication or parameters, and can be used as a quick and easy way to check the Controller status1. References: Ping the Controller
Which data is unavailable in a hybrid deployment of AppDynamics where the AppDynamics Controller and Events Service are installed on-premises and the EUM Server is hosted inAppDynamics' SaaS cloud?
Options:
Analytics metrics for End-User Monitoring data sets
End-User Monitoring resource loading times
End-User Monitoring session information
End-User Monitoring browser snapshots
Answer:
AExplanation:
In a hybrid deployment of AppDynamics, where the AppDynamics Controller and Events Service are installed on-premises and the EUM Server is hosted in AppDynamics’ SaaS cloud, the data that is unavailable is the analytics metrics for End-User Monitoring data sets. This is because the analytics metrics require the Events Service to store and process the unstructured data generated by the EUM agents. However, in a hybrid deployment, the EUM Server and the Events Service are not connected, and the EUM Server does not send the EUM data to the Events Service. Therefore, the analytics metrics for EUM data sets, such as browser records, mobile snapshots, network requests, and custom events, are not available in the Controller UI or the Analytics UI1. The other data, such as resource loading times, session information, and browser snapshots, are available in the EUM Server UI, as they are stored and displayed by the EUM Server itself2. References: Hybrid Deployment and EUM Data Sets in the AppDynamics documentation.
Which two AppDynamics user permissions should an administrator configure in order to protect private data such as credit card numbers? (Choose two.)
Options:
Memory Monitoring
Error Detection
SQL Bind Variables
Monitoring Level
Diagnostic Data Collectors
Policies
Answer:
C, EExplanation:
AppDynamics can collect sensitive data such as credit card numbers from various sources, such as SQL queries, error messages, HTTP headers, cookies, and so on. To protect this data from unauthorized access or exposure, an administrator should configure the user permissions for the following features:
- SQL Bind Variables: This feature enables the agents to capture the values of the parameters that are passed to SQL queries. These values can contain sensitive data such as credit card numbers, passwords, or personal information. To prevent this data from being stored or displayed in the Controller UI, the administrator should disable the Capture SQL Bind Values permission for the users who do not need to see this data. Alternatively, the administrator can enable the Mask SQL Bind Values permission, which replaces the values with asterisks (*) in the UI. The administrator can also configure the agent properties to exclude or mask certain bind variables based on patterns or keywords1.
- Diagnostic Data Collectors: This feature enables the agents to collect additional data from the application code, such as method arguments, return values, HTTP headers, cookies, and so on. These data can also contain sensitive information that should not be exposed to unauthorized users. To control the access to this data, the administrator should disable the View Diagnostic Data Collectors permission for the users who do not need to see this data. The administrator can also configure the agent properties to exclude or mask certain data collectors based on patterns or keywords2.
Other features that can collect sensitive data and require user permissions are Error Detection, Memory Monitoring, and Policies. However, these features are less likely to capture credit card numbers than SQL Bind Variables and Diagnostic Data Collectors. Therefore, the best answer is option C and E. References: Sensitive Data Collection and Security, SQL Bind Variables, and Diagnostic Data Collectors in the AppDynamics documentation.
The Database Agent collects hardware metrics from a Windows database server using_________ . (Choose the correct option to complete the sentence.)
Options:
Standalone Machine Agent
PowerShell
WHI
SSH
Answer:
BExplanation:
The Database Agent collects hardware metrics from a Windows database server using PowerShell1. PowerShell is a scripting language and a command-line shell that allows the Database Agent to execute commands and access Windows Performance Counters on the target host12. The Database Agent uses PowerShell to collect metrics such as CPU, memory, disk, and network utilization from the Windows database server1. To enable hardware monitoring for a Windows database server, the Database Agent requires the following permissions1:
- The user that runs the Database Agent must have permission to execute PowerShell scripts on the local machine.
- The user that runs the Database Agent or the Collector Service user (if using Windows Authentication) must have permission to establish a WMI connection to the target host and collect Windows Performance Counters. References: Required Monitored Host Permissions, PowerShell Overview
Which directory should an administrator back up if the goal is to back up the EUM Server?
Options:
Answer:
AExplanation:
The
What are two reasons that would require an administrator to install the Events Service cluster manually? (Choose two.)
Options:
Installation on SUSE Linux
Security concerns with passwordless SSH
Security requirements to install using a non-root user account
Installation on Windows
Answer:
B, CExplanation:
According to the Cisco AppDynamics Professional Implementer (CAPI) documents, the two reasons that would require an administrator to install the Events Service cluster manually are:
- Security concerns with passwordless SSH (B): This is a valid reason because the automated installation of the Events Service cluster requires passwordless SSH access to the target hosts. Passwordless SSH allows the Enterprise Console to execute commands on the remote hosts without prompting for a password. However, some organizations may have security policies that prohibit passwordless SSH access, as it may pose a risk of unauthorized access or malicious attacks. In such cases, the administrator can install the Events Service cluster manually, by following the steps described in the Manual Installation of the Events Service Cluster document1.
- Security requirements to install using a non-root user account ©: This is a valid reason because the automated installation of the Events Service cluster requires root privileges on the target hosts. Root privileges allow the Enterprise Console to create directories, change permissions, and install packages on the remote hosts. However, some organizations may have security policies that restrict root access, as it may pose a risk of accidental or intentional damage to the system. In such cases, the administrator can install the Events Service cluster manually, by following the steps described in the Manual Installation of the Events Service Cluster document1. The administrator can use a non-root user account that has sudo privileges to perform the manual installation.
The incorrect options are:
- Installation on SUSE Linux (A): This is not a valid reason for manual installation, because the automated installation of the Events Service cluster supports SUSE Linux as one of the compatible operating systems. The Enterprise Console can install the Events Service cluster on SUSE Linux hosts using the automated installation process, as long as the hosts meet the prerequisites described in the Events Service Requirements document2.
- Installation on Windows (D): This is not a valid reason for manual installation, because the Events Service cluster does not support Windows as an operating system. The Events Service cluster can only run on Linux hosts, as it is based on Apache Cassandra, which is a Linux-based distributed database. The Events Service cluster cannot be installed on Windows hosts, either manually or automatically2.
References:
- 1: Manual Installation of the Events Service Cluster - AppDynamics
- 2: Events Service Requirements - AppDynamics
What are three valid reasons to use the AppDynamics REST API to retrieve metrics? (Choose three.)
Options:
to archive 1-minute granularity data
to create a custom report to be run monthly to show average node availability
to calculate a new metric based on two existing metrics
to evaluate health rules
to retrieve health rule violations
to create an alert using a baseline to send to an internal ticketing system
Answer:
A, C, EExplanation:
The AppDynamics REST API to retrieve metrics allows you to get values generated for metrics by specifying the path of the metric and the time frame for the data1. Some of the valid reasons to use this API are12:
- To archive 1-minute granularity data. The AppDynamics Controller stores metric data at different levels of granularity depending on the retention period. For example, it stores 1-minute granularity data for 8 days, 10-minute granularity data for 32 days, and 1-hour granularity data for 365 days. If you want to archive the 1-minute granularity data for longer than 8 days, you can use the API to retrieve and store the data in an external database or file system.
- To calculate a new metric based on two existing metrics. The AppDynamics Controller provides some built-in metrics such as average response time, calls per minute, errors per minute, etc. However, you may want to calculate a new metric that is not available in the Controller, such as the ratio of errors to calls, or the percentage of slow transactions. You can use the API to retrieve the values of the existing metrics and perform the calculation using your own logic or formula.
- To retrieve health rule violations. Health rules are the rules that define the performance and availability thresholds for your application components. When a health rule is violated, the AppDynamics Controller generates an event and optionally triggers a policy action. You can use the API to retrieve the list of health rule violations for a given application, time range, and severity level. This can help you monitor and troubleshoot the health of your application and take corrective actions if needed. References: Retrieve Metric Data, Health Rule API
What are two advantages of using an Events Service cluster? (Choose two.)
Options:
Clusters allow data replication across multiple nodes.
Clusters are easier to maintain than single-node instances.
Clusters are horizontally scalable by adding nodes.
Clusters reduce the load on the AppDynamics Controller.
Clusters expose multiple channels for simultaneous queries.
Answer:
A, CExplanation:
An Events Service cluster is a group of two or more Events Service nodes that work together to store and process unstructured data generated by AppDynamics components such as Application Analytics, Database Visibility, and End User Monitoring1. Using an Events Service cluster has two main advantages over a single-node instance12:
- Clusters allow data replication across multiple nodes. This means that the data is duplicated and distributed among the nodes in the cluster, providing data redundancy and protection against data loss in case of a node failure. Data replication also improves data availability and query performance, as the cluster can handle concurrent requests from multiple clients.
- Clusters are horizontally scalable by adding nodes. This means that the cluster can grow in size and capacity by adding more nodes to the cluster, without affecting the existing nodes or data. Horizontal scaling allows the cluster to handle increasing data volumes and performance demands, as well as balance the workload among the nodes. References: Events Service Deployment, What are the Benefits of Server Clustering?
A company set up an on-premises AppDynamics Controller and an on-premises Events Service cluster. What describes setting up this Events Service cluster?
Options:
The Events Service API ports cannot be reconfigured from the default 9080/2081.
The Controller must be able to initiate communication with the Events Service cluster.
The Events Service cluster must be able to initiate communication with the Controller.
There is no need for a load balancer or virtual IP address in front of the Events Service cluster.
Answer:
BExplanation:
The Events Service is the on-premises data storage facility for unstructured data generated by Application Analytics, Database Visibility, and End User Monitoring deployments. The Events Service can be deployed as a single node or a cluster of three or more nodes, depending on the data volume and availability requirements. The Controller and other Events Service clients connect to the Events Service to store and retrieve analytics data. Therefore, it is essential that the Controller is able to initiate communication with the Events Service cluster, using the Events Service API ports (default 9080/2081). The Events Service cluster does not need to initiate communication with the Controller, as it only responds to the requests from the clients. The Events Service API ports can be reconfigured from the default values, if needed, by modifying the conf/events-service-api-store.properties file on each node. However, the clients must also be updated with the new port values. It is also recommended to use a load balancer or a virtual IP address in front of the Events Service cluster, to provide a single endpoint for the clients and to enable load balancing and failover among the nodes. References: Events Service Deployment, Install the Events Service on Linux, and Install the Events Service on Windows in the AppDynamics documentation.
The user under which the JVM runs must have write privileges to the_________ directories in the Java Agent home. (Choose the correct option to complete the sentence.)
Options:
conf and logs
lib and logs
bin and logs
conf and lib
Answer:
AExplanation:
The user under which the JVM runs must have write privileges to the conf and logs directories in the Java Agent home. This is because the conf directory contains the agent configuration files, such as controller-info.xml and agent-config.xml, which may need to be modified or updated by the user. The logs directory contains the agent log files, such as agent.log and agent-errors.log, which are generated by the agent and may need to be accessed or rotated by the user. The user can install the agent as the same user that owns the JVM or as an administrator on the host machine. The user can restrict the remaining contents of the agent directory, such as the lib and bin directories, to read-only access12. References: Install the Java Agent, Java Agent fails to start
What becomes more important as an AppDynamics Controller grows beyond supporting 500 agents?
Options:
CPU utilization
RAM allocated to the Controller
Network throughput
Disk VO
Thread count on the GlassFish server
Answer:
CExplanation:
As an AppDynamics Controller grows beyond supporting 500 agents, network throughput becomes more important. This is because the Controller needs to handle a large volume of data from the agents, as well as serve requests from the UI and API clients. Network throughput is the measure of how much data can be transferred over a network in a given time. A low network throughput can cause delays, errors, or timeouts in the communication between the Controller and the agents or clients. Therefore, it is recommended to monitor the network throughput of the Controller and ensure that it meets the minimum requirements for the expected load123. References: Controller System Requirements, Performance and Controller Sizing Guidelines, How to Run AppDynamics in Microsoft Azure
Which two statements are true regarding the AppDynamics REST API for retrieving metrics? (Choose two.)
Options:
Metrics can be retrieved for a fixed time range.
Median is one of the returned values,
End-time value must be provided if using the time-range-type of AFTER_TIME.
Minimum and maximum values are meaningful for all metric types.
Wildcards can be used in the REST API metric path.
Answer:
A, EExplanation:
The AppDynamics REST API for retrieving metrics allows you to get values generated for metrics by specifying the path of the metric and the time frame for the data1. The following statements are true regarding this API12:
- Metrics can be retrieved for a fixed time range. You can use the time-range-type parameter to specify a fixed time range such as BEFORE_NOW, AFTER_TIME, or BETWEEN_TIMES. You can also use the duration-in-mins parameter to specify the length of the time range in minutes.
- Wildcards can be used in the REST API metric path. You can use the asterisk () character as a wildcard to match any metric name or part of a metric name. For example, you can use the metric path Business Transaction Performance|Business Transactions||*|Average Response Time (ms) to retrieve the average response time for all business transactions in all tiers. References: Retrieve Metric Data, Retrieve Metric Hierarchy
Which three AppDynamics Controller properties govern how long metric data is retained in the database? (Choose three.)
Options:
metrics.ten.min.retention.period
metrics.ten.sec.retention.period
metrics.retention.period
metrics.min.retention. period
metrics. day retention period
metrics week retention period
Answer:
A, C, DExplanation:
The AppDynamics Controller properties that govern how long metric data is retained in the database are1:
- metrics.ten.min.retention.period: This property specifies the number of days to retain metric data at 10-minute granularity. The default value is 32 days.
- metrics.retention.period: This property specifies the number of days to retain metric data at 1-hour granularity. The default value is 365 days.
- metrics.min.retention.period: This property specifies the number of hours to retain metric data at 1-minute granularity. The default value is 4 hours.
The other options are incorrect because1:
- metrics.ten.sec.retention.period: This property does not exist in the AppDynamics Controller. The finest granularity for metric data is 1 minute.
- metrics.day.retention.period: This property does not exist in the AppDynamics Controller. The coarsest granularity for metric data is 1 hour.
- metrics.week.retention.period: This property does not exist in the AppDynamics Controller. The metric data retention is based on days, not weeks. References: Database Size and Data Retention
Which artifacts are needed, at minimum, to add a custom extension to a Machine Agent?
Options:
Directory
Jar or Script file
Monitor.xml file
Directory
Manitor.xml file
Custom-gxtension.xml file
Directory
Zip Extension
Monitor.xml file
Directory
Script file
Config.json file
Answer:
AExplanation:
To add a custom extension to a Machine Agent, you need at least three artifacts: a directory, a jar or script file, and a monitor.xml file12. The directory is where you place your extension files under the