Professional Documents
Culture Documents
APM210+Lab+ +Core+APM+I +essentials+ +Student+Lab+Guide
APM210+Lab+ +Core+APM+I +essentials+ +Student+Lab+Guide
Essentials
Notice
Copyright
This document and all information and content contained herein are protected by U.S.
copyright and other intellectual property laws, and are the confidential information of
AppDynamics, LLC. No part of this document may be reproduced, distributed or
displayed in any form or by any means, or used to make any derivative work (such as a
translation or adaptation), without prior written permission from AppDynamics, LLC.
Instructions
Instructions
Please let your instructor know that you have completed the exercise(s).
Lab Preparation
1. On the Application Dashboard, the Time Range drop-down displays the last 1
hour by default. Click the Time Range drop-down to view other time range options
on the Standard tab.
2. Select 2 hours from the list on the Standard tab. The page updates to display the
specific metrics, including the flow map and graphs, for the last two hours.
Note: Click the Refresh button to update the application metrics that the page
displays for the time range that you selected. Standard time range intervals include the
last 5 minutes with a resolution of 1 minute, to the last 1 year with a resolution of 1 hour.
1. On the Application Dashboard, click the Time Range drop-down and then select
the Custom tab.
Note: You can apply your new custom time range by clicking the Time Range drop-
down and selecting it from the Custom tab. The Application Dashboard updates to
display specific metrics, including the Flow Map, for the custom time range that you
applied.
1. On the Application Dashboard, below the flow map, point to a time of interest on
the Load graph, Response Time graph, or Errors graph.
2. Drag the pointer to select a time period of interest.
3. In the pop-up window, click Set Time Range. The page updates to display the
specific metrics, including the flow map and graphs, for the custom time range that
you selected.
Note: To save this time range to the Custom tab, click the Save button to the left
of the Time Range drop-down, then in the Create Custom Time Range window, type a
name and description and click Save.
1. On the Application Dashboard, click the Time Range drop-down and then select
the Custom tab.
4. In the Edit Custom Time Range pop-up window, edit custom time range settings
including name, description, start and end time, and whether it is shared with
everyone.
5. To apply the changes to the custom time range and close the Edit Custom Time
Range window, click Save.
6. In the Manage Custom Time Range window, click the X to return to the
Application Dashboard.
7. Set the Time Range drop-down to display data for the last 1 hour.
Instructions
1. On the Application Dashboard, click the Application Flow Map drop-down and
select Manage My Flow Maps.
2. In the Manage Flow Maps window, click (+) to add a new flow map.
3. In the Add Flow Map window, type Java Flow Map into the field provided and click
OK.
4. In the Manage Flow Maps window, click the X to return to the Application
Dashboard.
5. Click the Application Flow Map drop-down and select the Java Flow Map. This
flow map is currently the same as the default.
6. Click the Application Flow Map drop-down again and select Edit Current Flow
Map.
7. In the Configure Flow Map window, below Show Tiers meeting these criteria,
select the Show only the specified Tiers check box.
8. In the Visible Tiers list, select each .Net tier and click Add to move them to the
Hidden Tiers list.
Note: The system saves the changes and applies it to the flow map on the Application
Dashboard. Verify that the Java Flow Map displays Java tiers only.
Note: You can use the Grid View button on the Application Dashboard to view a
list representation of the data shown on the Application Flow Map. This view displays
overall performance statistics for BTs in each tier as well as calls made between tiers
and other backend systems such as databases. The grid view does not exclude tiers
from view.
Instructions
1. On the Top Business Transactions page, click the Time Range drop-down.
2. On the Standard tab, select 30 Minutes.
3. In the By Slow Transactions section, make a note of the top 3 BTs:
______________ , ______________ , ______________
4. Review the BTs in the By Health Rule Violations section and determine the
following:
Do any of the top 3 BTs that you noted in the previous step trigger a health rule
violation? ______
5. From the left navigation pane, click Business Transactions to navigate to the
Business Transactions page.
6. Click the % Slow Transactions column heading to sort BTs by slow transactions.
Note: You may need to click the column heading twice to view the slowest
transactions at the top of the list.
7. Click the % Very Slow Transactions column heading to sort the BTs by very slow
transactions.
Note: You may need to click the column heading twice to view the slowest
transactions at the top of the list.
8. Review the BTs by % Slow Transactions and % Very Slow Transactions and
determine the following:
Do any of the BTs that you noted earlier trigger a health rule violation? ______
9. In the list of BTs, double-click the BT with a health rule violation. (If you do not see a
BT with a health rule violation, click the Response Time column heading and
double-click the BT with the highest response time.)
The system navigates to the Business Transactions > Dashboard page, which
displays the Transaction Flow Map for that BT.
10. Use the information in the Transaction Flow Map to identify the tier that is taking
the most time to execute: ___________________.
Note: The numbers above the flow lines indicate the calls made per minute to the
tier and the average time taken for the request to be serviced; that is, the round-trip
time for the request.
11. Determine the following:
Is the delay on this tier caused by the network, the database, or processing? How do
you know?
__________________________________________________
12. From the left navigation pane, click Application Dashboard, then click the
Dashboard tab.
13. Click the Flow Map drop-down and select Default Flow Map from the list.
Please let your instructor know that you have completed the exercise(s).
Lab Preparation
1. In the MovieZtream application, navigate to the Admin > Server Management
page.
2. From the Command drop-down list, select Errors and then click Start Load
Command or Process.
Note: The Errors load triggers a problem with movie rental requests from this point
forward.
3. Verify that you see the confirmation message in the Log window.
Scenario
Because the /customer/rent.htm transaction is business critical, the Dev team
monitors this transaction closely. When errors begin to appear on this transaction in the
Controller, the Dev team asks if it is possible to view calls both before and after the
error. How can you provide this?
You need to run a diagnostic session to capture full call graph snapshots.
Instructions
1. In the Controller UI, from the left navigation pane, click Business Transactions to
navigate to the Business Transactions page.
2. Right-click the /customer/rent.htm BT and select Start Diagnostic Session.
3. Configure the session to collect transaction snapshots for 10 minutes at a rate of 10
snapshots per minute, then click the Start Diagnostic Session button.
4. After approximately two minutes, navigate to the /customer/rent.htm dashboard,
and select the Transaction Snapshots tab.
5. Click the Diagnostic Sessions sub-tab.
6. Below Type, expand the Manual session to view a list of newly collected snapshots
with full call graphs.
Please let your instructor know that you have completed the exercise(s).
If you ran the Exercise 1 Load in Lab 211-1 today you may skip the lab preparation
steps and go directly to the Instructions section. Otherwise, follow the steps below.
1. In the MovieZtream application, navigate to the Admin > Server Management
page.
2. From the Command drop-down list, select Exercise 1 Load and then click Start
Load Command or Process.
Note: The Exercise 1 Load triggers higher response times for the
/movieztream_ui/login.htm BT.
3. Verify that you see the confirmation message in the Log window.
Instructions
1. In the Controller UI, from the left navigation pane, click Troubleshoot, then click
Slow Response Times.
2. Verify that the Slow Transactions tab is selected on the Slow Response Times
Dashboard.
3. Set the Time Range drop-down to display data for the last 2 hours.
4. Type search into the search field so that the Slow Transaction Snapshots list
displays only /movie/search.htm snapshots.
5. Locate and double-click a very slow transaction snapshot for /movie/search.htm
that contains a full call graph.
Note: You can recognize a full call graph snapshot by the blue call graph icon: . If
no snapshots with full call graphs are available, double-click one with a partial call
graph, which is indicated by a grey call graph icon.
6. On the Overview tab, review the Flow Map.
7. Use the performance details on the Flow Map to determine the following:
a. How many monitored tiers does this request traverse? ________
b. How many back-ends are there? ________
c. On what tier does this BT spend the most time during the request? ________
8. Click the Drill Down button above the tier that displays the most time.
Instructions
1. In the Controller UI, from the left navigation pane, click Business Transactions.
2. On the Business Transactions page, double-click /movieztream_ui/login.htm.
3. Verify that the Time Range drop-down displays data for the last 2 hours.
4. Click the Transaction Snapshots tab, then click the Slow and Error Transactions
sub-tab.
5. Scroll through the list of snapshots to locate a snapshot that contains the full call
graph details for all of its constituent tiers.
6. Double-click a full call graph snapshot in the list to display transaction details for that
snapshot, including a Flow Map on the Overview tab.
7. Review the performance details on the Flow Map and use the numbers beside the
tiers to determine the following:
On what tier does the BT spend the most time during this request? _______
8. Click the Drill Down button above that tier to display the call graph.
9. Use the information in the Time, Percent %, and Thread State columns to
determine whether the problem with the /movieztream_ui/login.htm BT relates to a
systems fault or a code issue.
10. Select the method from the list that displays the most time, then click the Details
button.
11. Review the details in the pop-up and make a note of the Class and Method name.
__________________________
Note: These are useful details should you need to escalate the issue to a member of
the app dev, network, or database team to troubleshoot.
12. In the MovieZtream application, navigate to the Admin > Server Management
page.
13. From the Command drop-down list, select Exercise 4 Load and then click Start
Load Command or Process.
Note: The Exercise 4 Load load stops the Exercise 1 Load.
14. Verify that you see the confirmation message in the Log window.
Please let your instructor know that you have completed the exercise(s).
Scenario
Someone on your team reports that there are more errors than usual on the
customer/rent.htm BT. This is the BT that reflects the performance of the Customers
> Rent Movies page of the MovieZtream application. It is your job to find the root
cause of the issue before customers call in to complain. What do you do? You need to
access the error snapshots to troubleshoot the root cause of the issue.
Instructions
1. In the Controller UI, from the left navigation pane, click Troubleshoot > Errors to
navigate to the Errors page.
2. On the Error Transactions tab, below Error Transaction Snapshots, click Filters.
3. Click the Add Criteria button and select Business Transactions.
4. Click the Business Transactions: Not Specified drop-down.
5. In the Available column, select the /customer/rent.htm BT and click the arrow to
move it to the Selected column, then click Apply and Done to filter the list to display
only /customer/rent.htm error transaction snapshots.
7. Click the Slow Calls and Errors tab, then click the Errors sub-tab.
8. Select an exception to view the full stack trace including the class, method, and line
number where the root exception occurred.
Note: You have now come as close to finding the root cause of this error as your
application’s exception handling code allows.
Note: This summary contains little error detail other than the system reports an
HTTP error 500 in this tier.
10. Click the Transaction tab that contains the Request GUID to return to the
Snapshot Flow Map.
11. Click the Drill Down button above the mz_service tier to explore the error details for
this tier.
Note: This summary contains more error detail which gives you a better idea of the
root cause of the issue.
12. On the mz_service tier tab, click the Actions drop-down and select Export to
create a Snapshot Export Summary document that contains the mz_service tier
portion of the snapshot.
Note: This report can be saved and shared as needed.
13. Consider the following:
a. Does the Snapshot Export Summary contain additional information about the
/customer/rent.htm BT that you did not see in the Controller?
b. In the error snapshots for the /customer/rent.htm transaction, what seems to be
the root cause: the error in the mz_UI tier or the mz_service tier?
c. Given this, what would you recommend as the next step to solve the issue?
____________________________________________________________
Note: This stops the Errors load that triggered a problem with the
/customer/rent.htm BT.
f. Verify that you see the confirmation message in the Log window.
Please let your instructor know that you have completed the exercise(s).
Lab Preparation
1. In the MovieZtream application, navigate to the Admin > Server Management
page.
2. From the Command drop-down list, select Java Condition-1 and then click Start
Load Command or Process.
Note: The Java Condition-1 load causes an increase in the average response time
for the /movieztream_ui/login.htm BT. Please keep in mind that it can take a
couple of minutes before you begin to see the results of this load command in the
Controller UI.
3. Verify that you see the confirmation message in the Log window.
Scenario
After a recent software release, the /movieztream_ui/login.htm BT occasionally
reports slow response times. No one on your team has been able to determine the
issue. Your manager requests that you make this your top priority. What do you do?
You need to troubleshoot the root cause of the slow response times using Slow and
Error Transactions.
Instructions
1. In the Controller UI, from the left navigation pane, click Business Transactions to
navigate to the Business Transactions page.
2. Double-click the /movieztream_ui/login.htm BT.
3. On the Dashboard tab, review the Transaction Flow Map for the
/movieztream_ui/login.htm BT.
4. Click the Transaction Snapshots tab, then click the Slow and Error Transactions
sub-tab to view /movieztream_ui/login.htm snapshots that the system registers as
slow or very slow.
5. Double-click a snapshot from the list that contains a full call graph.
6. On the Overview tab, review the Flow Map and determine the following:
a. What percentage of time did the transaction spend at each tier?
__________________________________________________
7. Click Drill Down above the tier where the problem is.
8. Review the call graph to determine the method that displays the most time.
Note: This view displays the path that the request traverses through the tier. Each
trace includes an icon that represents the type of component, a textual view of the
type of component, class name, and method name, and an indication of the relative
time spent by the request in this component.
9. Select the trace that displays the most time and then click the Details button to view
more information about this invocation.
10. In the pop-up, make a note of the Class and Method name.
Note: These are useful details should you need to escalate the issue to a specialist
to troubleshoot.
11. Consider your findings and determine the following:
Please let your instructor know that you have completed the exercise(s).
Scenario
Last month, your team determined that the root cause of issues with
/customer/rent.htm BTs related to the titles of the movies being rented. To capture
movie title information in every /customer/rent.htm transaction snapshot, your team
created a Data Collector. Now they can share movie title information with the Dev team
for troubleshooting purposes. Let's review the Data Collector and see how it works.
Instructions
1. In the Controller UI, from the left navigation pane, click Configuration, then click
Instrumentation.
2. On the Instrumentation page, click the Data Collectors tab.
3. Scroll down to the HTTP Request Data Collectors section and double-click the
Movie Title Data Collector.
4. Review the contents of the Edit HTTP Request Data Collector window.
5. Click the Cancel button on the Edit HTTP Request Data Collector window since
you are not making any changes to this Data Collector.
6. On the Instrumentation > Data Collectors page, make sure that the the Movie
Title Data Collector is selected, then click the Configure Transactions Using this
Data Collector button.
7. On the Movie Title - Apply to Business Transactions window, verify that the
/customer/rent.htm BT is in the Business Transactions using this Data
Collector column.
Note: When the Movie Title Data Collector is applied to the /customer/rent.htm
BT, the system adds movie title information to every /customer/rent.htm transaction
snapshot.
8. Click the Cancel button on the Movie Title - Apply to Business Transactions
window.
9. From the left navigation pane, click Business Transactions, then double-click the
/customer/rent.htm BT.
10. On the /customer/rent.htm dashboard, click the Transaction Snapshots tab, then
click the All Snapshots sub-tab.
11. Verify that the Time Range drop-down displays the last 2 hours, then view the list
of transaction snapshots for this time period.
12. Double-click an error transaction snapshot, then click the Data Collectors tab.
13. Make a note of the movie title in the Value column, then click the X to close the
window.
14. Repeat steps 12 and 13 for two of each of the following types of transaction
snapshots:
a. Normal transactions
b. Slow transactions
d. Error transactions
Note: It makes no difference whether you select snapshots with full, partial, or no
call graphs.
15. Consider your findings and and determine the following:
a. Do you see a pattern to the movie titles that appear for /customer/rent.htm
transaction snapshots?
________________
b. If you find an issue based on the movie title, what might be your next step?
___________________________________________________________
Please let your instructor know that you have completed the exercise(s).
Instructions
1. In the Controller UI, from the left navigation pane, click Tiers & Nodes to navigate
to the Tiers & Nodes page.
2. Switch between the Tree View and Grid View to review the features and information
available in each view.
3. Click the drop-down to the left of the Tree View and Grid View, and explore these
entries in the list in addition to Health: Hardware, Memory (Java), and Memory
(.NET).
Note: You can ignore the Network entry because the Network Agent is not installed
in this environment.
4. Return to the Health selection from the drop-down.
5. From the Tree View, expand the mz_UI tier, then double-click the UI001 node.
6. The UI001 Dashboard page includes a Node Flow Map that displays basic metrics
of the node-level data.
7. To verify that the Node Flow Map is displaying all tiers, click the down arrow to the
right of Node Flow Map, then select Edit Current Flow Map. If Show only the
specified Tiers is selected, deselect it, then click Save.
8. On the UI001 Dashboard, review the flow map, then determine the following:
a. How many requests are coming into the UI001 node each minute?
11. Navigate to the JVM tab to view information about the JVM that is associated with
this node. This data includes a Process ID and all JVM startup arguments. Review
the detail on this page and determine the following:
a. What is the Process ID for this node's JVM? ___________________
12. Navigate to the Agents tab to review diagnostics about agent status and health for
this specific node.
Note: You can use this page to reset and turn the agents on or off from this tab.
Instructions
1. In the Controller UI, from the left navigation pane, click Tiers & Nodes to navigate
to the Tiers & Nodes page.
2. Expand the mz_service tier, double-click the SV001 node, then click the
Dashboard tab.
3. Set the Time Range drop-down to the last 30 minutes.
4. On the SV001 Dashboard, below the Node Flow Map, review the Errors chart. Do
you see any issues here?
7. After reviewing the list of error transaction snapshots, determine the following:
a. Do the errors affect multiple transactions or just one? _______________
8. Click the Exceptions tab to review the information that the page presents, then
determine the following:
a. How many exceptions are HTTP error codes? _____
b. How many exceptions are error page redirects? _____
Note: You can configure error detection on the Configure > Instrumentation >
Error Detection page.
9. In the MovieZtream application, navigate to the Admin > Server Management
page.
10. From the Command drop-down list, select Errors and click Stop Load Command
or Process.
Note: This stops the Errors load that triggered a problem with the Rent Movie BT.
11. Verify that you see the confirmation message in the Log window.
Please let your instructor know that you have completed the exercise(s).
This lab explores how baselines put application performance into context.
Scenario
The IT Director at your company wants your team to deploy the MovieZtream
application on new hardware. You need to ensure that the new hardware can handle
the varying load that the application exerts. During high load, you expect the server to
show signs of slowdown due to excessive CPU load or a shortage of RAM. How can
you verify that this is true as well as check how high your “high load” really is? It is time
to explore the Baseline and Deviations thresholds.
Lab Preparation
Instructions
1. In the Controller UI, from the left navigation pane, select Application Dashboard >
Dashboard to view the Application Flow Map.
2. Over the next few minutes, click the Refresh button to observe a change in the
Load chart at the bottom of the page. Do not proceed until the system displays a
change in the Load chart.
5. Review the graphical representation of the %Busy metric, then consider the
following:
a. Do you see a significant increase in the value of this metric over the past few
minutes? ____
b. Approximately what value does the latest recording for CPU %Busy have?
____________________
6. Scroll down the list of metrics in the menu on the left and select the Overall
Application Performance > Calls per Minute metric to view its graphical
representation.
7. Change the color of the Application Performance > Calls per Minute metric by
clicking the color box to the left of its name.
9. The Metric Browser currently displays metrics using its Linear View. Switch to the
Logarithmic View to see if that makes it possible to detect a spike in the CPU
%Busy value due to high load.
10. Finally, switch back to Linear View and set a Custom Time Range using the drag
the pointer technique, covering just the time period of the high Calls per Minute.
11. Uncheck the box to the right of the Calls per Minute to hide that metric on the
graph, then review the graph for spikes or a period of significant load that impacts
the CPU %Busy metric.
a. Do you think the increase in calls per minute is an extreme event or likely to
happen on a regular basis?
Please let your instructor know that you have completed the exercise(s).
Scenario
The recent spike in traffic to the MovieZtream application triggers a health rule
violation. You need to review the violation and verify whether it indicates a performance
issue or perhaps an issue with the parameters of the health rule itself.
Instructions
1. Navigate to the Application Flow Map page and set the Time Range drop-down to
the last 2 hours.
2. Examine the Events panel to the right of the Application Flow Map to view any
health rule violations over that time period.
3. Click Events to navigate to the Events page to view rule violations in more detail.
5. After you review the details in the Health Rule Violation window, determine the
following:
e. Would you expect the Health Rule to violate during times of normal traffic?
__________________________________________________________
f. Can you assess the impact of the performance change due to high load?
__________________________________________________________
Please let your instructor know that you have completed the exercise(s).
Scenario
The Operations team at MovieZtream created custom dashboards to focus on recent
system performance. You need to review these custom dashboards to gauge system
performance and judge whether or not there are any upcoming issues. Use the custom
dashboard to review the previous day’s performance and determine which BT had the
highest load and why.
Instructions
1. On the menu at the top of the Controller UI, click Dashboards & Reports.
2. From the Dashboards list, click MovieZtream - Operations Dashboard to open
this custom dashboard.
3. Review the detail in the various widgets that display on this dashboard.
4. Click the Time Range drop-down and select other time ranges to see how it affects
the Business Transaction Response Time graph.
5. Click the Time Range drop-down and select 4 hours from the list and consider the
following:
a. Have there been any health rule violations in the last 4 hours? _____
b. Are there any areas of concern on the Business Transaction Response Time
graph?
_____________________________________________
6. Double-click any point on the graph to open the Metric Browser.
7. Review the performance of the BTs in the Metric Browser graph and consider the
following:
a. Do you see a spike in the timeline? If so, make a note of the time. __________
8. Click the X to close the Metric Browser to return to the Dashboard.
9. Compare the timestamp from the spike against any health rule violations you view in
the Events widget and consider the following:
Do any health rule violations correlate to the spike on the graph? _____
10. Double-click a health rule violation from the list to view more details, including the BT
that the violation affects and the cause of the violation.
11. As you review the violation details, consider the following:
a. What course of action would you take to further explore the problem? Why?
____________________________________________________________
Please let your instructor know that you have completed the exercise(s).
Username: admin
Password: labs4Appd*
Username: HOLLY
Password: FOX
Instructions
To log in to your Controller UI and navigate to the Application Dashboard, follow the
steps below.
1. For instructor-led training: direct your web browser to the IP address provided by
your instructor (http://<Your-IP-Address>/controller).
For self-paced/on-demand training: the controller window will open in a new tab after
you launch your on-demand lab environment.
2. Log in using the AppDynamics Controller UI username and password at the
beginning of this appendix.
3. On the Home page, within the Applications card, click the MovieZtream
application to display the Application Dashboard.
Note: The Dashboard tab on the Application Dashboard includes the Application
Flow Map which provides a high-level view of the MovieZtream application. From this
view you can navigate to other tabs on the Application Dashboard, or use the left
navigation pane of the Controller UI to navigate to a different area.
Instructions
To log in to the MovieZtream web application and run command scripts, follow the
steps below.
1. For instructor-led training: direct your web browser to the IP address provided by
your instructor (http://<Your-IP-Address>/movieztream_ui).
For self-paced/on-demand training: the MovieZtream interface window will open in a
new tab after you launch your on-demand lab environment.
2. Log in using the MovieZtream Application username and password at the beginning
of this appendix.
3. Navigate to the Admin > Server Management page.
Note: You can launch a command script for a lab exercise by selecting a command
from the Command drop-down and clicking the Start Load Command or Process
button.