Transaction Monitoring Version 8.1.3 for AIX, Linux, and Windows Reference IBM
Note Before using this information and the product it supports, read the information in Notices. This edition applies to V8.1.3 of Transaction Monitoring and to all subsequent releases and modifications until otherwise indicated in new editions. Copyright IBM Corporation 2013, 2016. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents About this publication........ v Chapter 1. Getting started....... 1 Scenario: Monitoring the IBM Java application stack 5 Monitoring the IBM Java application stack... 5 Adding web applications to the Application Performance Dashboard......... 5 Associating the IBM Java application stack with the web application........... 6 Viewing results of IBM Java application stack monitoring.............. 7 Diagnosing problems in your environment... 12 Scenario: Monitoring the IBM integration stack.. 12 Monitoring the IBM integration stack..... 12 Adding middleware applications to the Application Performance Dashboard..... 13 Viewing results of IBM integration stack monitoring............. 14 Diagnosing problems in your environment... 20 Chapter 2. Dashboards........ 23 Dashboards - End User Transactions...... 23 End User Transactions Summary dashboard.. 23 End User Transactions Details dashboard... 25 User Summary dashboard........ 27 User Details dashboard......... 29 Device Details dashboard......... 30 Session Details dashboard........ 31 Dashboards - Middleware......... 32 Middleware Transactions Summary dashboard. 32 Middleware Transactions Details dashboard.. 33 Error Analysis dashboard......... 35 Instance Analysis dashboard........ 36 Dashboards - Transaction Instance Topology... 36 Transaction Instance Topology dashboard... 37 Chapter 3. Optimizing Transaction Tracking.............. 41 Chapter 4. Configuring the Response Time Monitoring agent........ 43 Using the IBM HTTP Server Response Time module 43 Managing the IBM HTTP Server Response Time module manually........... 47 Using the IBM HTTP Server Response Time module as a non-root user........ 50 Using load balancers.......... 51 Limiting the CPU used to monitor IBM HTTP Server............... 51 Using the Network Packet Analyzer...... 53 Adding applications.......... 53 Customizing data collected by Response Time Monitoring agent........... 54 Configuring applications to collect browser timing............... 64 Configuring CPU overhead limit...... 66 Customizing End User Transaction location values 66 Which user and session details are displayed?... 68 Chapter 5. Event thresholds for Transaction Monitoring........ 69 Creating thresholds to generate events for transaction monitoring........... 71 Chapter 6. Time periods....... 75 Appendix A. Attributes........ 77 Interaction Aggregate Data......... 77 Transactions Aggregate Data......... 78 WRT Transaction Status.......... 79 Appendix B. Dashboard metrics reference.............. 81 Accessibility features........ 87 Notices.............. 89 Trademarks.............. 91 Terms and conditions for product documentation.. 91 IBM Online Privacy Statement........ 92 Index............... 95 Copyright IBM Corp. 2013, 2016 iii
iv Transaction Monitoring: Reference
About this publication This guide provides information about using the user interface. It describes how you access the workspaces for Transaction Monitoring components within the APM Console, and what information the dashboards and widgets display and what they can be used for. Intended audience This guide is for operators who use IBM Monitoring to monitor end user transactions; and IBM Application Performance Management to monitor transaction instances and middleware transactions in addition to end user transactions. Use this guide together with IBM Performance Management IBM Knowledge Center (http://www-01.ibm.com/support/knowledgecenter/sshlnr/welcome) for a complete understanding of the following dashboard groups: v End User Transactions v Transactions, including middleware and topologies Copyright IBM Corp. 2013, 2016 v
vi Transaction Monitoring: Reference
Chapter 1. Getting started Transaction Monitoring comprises Response Time Monitoring and Transaction Tracking. Response Time Monitoring captures HTTP and HTTPS transaction data such as response times and status codes. Use Response Time Monitoring to monitor the performance and availability of web and Java applications from the browser through to the database, and to monitor mobile devices. Response Time Monitoring is available in both IBM Monitoring and IBM Performance Management. Use Transaction Tracking with middleware monitoring agents such as IBM MQ and IBM Integration Bus to monitor middleware transactions. Transaction Tracking is available only in IBM Performance Management. After you install the Response Time Monitoring agents on any web servers you want to monitor, data that is collected by these agents is displayed in the Application Performance Dashboard with little or no further configuration required. If Response Time Monitoring is the first agent you install, you are automatically prompted to add the applications that you want to monitor when you open Application Performance Dashboard. If Response Time Monitoring is not the first agent that is installed, you might need to add the applications manually. Tip: Data from the Response Time Monitoring agent is used for the End User Transactions dashboards. Data from the Response Time Monitoring agent is also used in the Application > Status Overview in the following widgets: v Requests and Response Time v Aggregate Transaction Topology. This feature is available only in IBM Application Performance Management. Copyright IBM Corp. 2013, 2016 1
Transaction Tracking capable agents, such as Response Time Monitoring, WebSphere Applications agent, HTTP Server agent, or IBM MQ must be installed and configured for data to be displayed in the Aggregate Transaction Topology. Response Time Monitoring agents must be installed and configured for data to be displayed in the other highlighted widgets. Are my applications monitored? In the All My Applications overview, if the Transactions and Users icons are displayed, applications are being monitored and data from Response Time Monitoring is being displayed in Application Performance Dashboard. If the Transactions and Users icons are missing, no Response Time Monitoring data is available. Click Add and select the applications that you want to monitor from the list of applications that were discovered automatically. For more information, see Adding applications on page 53. 2 Transaction Monitoring: Reference
If no applications are displayed in the list of managed applications, check that the port number and HTTP and HTTPS settings are correct for your applications. For more information, see Customizing data collected by Response Time Monitoring agent on page 54. For Response Time Monitoring agents V7.40.0.6 and later, use Agent Configuration to see what versions of the agent are installed in your system and where they are installed. For more information, see Monitoring HTTP transactions on page 56. If no instances are listed for the group and the Transaction Instances widget on the End User Transactions Details page is blank, no transactions instance data is available. What's next? After you determine that your applications are being monitored, you can look at the dashboards to see whether there are any problems in your environment: Chapter 1. Getting started 3
v Use the End User Transactions dashboards to understand the performance and availability of transaction requests, applications, and servers in your environment v Use the Transaction Instance Topology dashboard to visualize where time is spent during a transaction instance v Use the Authenticated Users and Device Details dashboards to monitor mobile devices. How do I monitor interactions within web pages? To monitor interactions within your web pages, the JavaScript monitoring component must be added to your application. The component is either added automatically with the IBM HTTP Server Response Time module or manually. For more information, see Chapter 4, Configuring the Response Time Monitoring agent, on page 43. This information is used in the Client Total Time in the Transaction Requests and Response Time widget, in the Response Time for Client Time transactions in the Transactions - Top 10 widget, and is displayed in the Render Time Breakdown. The Render Time Breakdown widget in the End User Transactions Details page is blank if data collection from the browser is not enabled: How do I get help? Click the Help icon in a widget, page, or the menu bar to access help. Further help is available in IBM Knowledge Center and Service Management Connect. 4 Transaction Monitoring: Reference
Scenario: Monitoring the IBM Java application stack You can monitor and troubleshoot the IBM Java application stack to see transaction monitoring information from the browser through to the database, including resource monitoring from individual components. The IBM Java application stack includes the IBM HTTP Server, the WebSphere Application Server, and the IBM DB2 or Oracle database. Monitoring the IBM Java application stack To monitor the IBM Java application stack, install the agents that are listed for each component in the order given. Optionally, if you also want to monitor the system, install OS agents on all components. For the web server, complete the following steps: 1. Install the HTTP Server agent. Fast path: This installation also installs IBM HTTP Server Response Time module and automatically configures JavaScript injection. 2. Configure the HTTP Server agent installation. For more information, see Upgrading from V8.1.0 and configuring IBM HTTP Server Response Time module on page 46. 3. Install the Response Time Monitoring agent. For the application server, install the WebSphere Applications agent. For the database, install the Oracle Database agent or DB2 agent, depending on your database. Adding web applications to the Application Performance Dashboard Add the web applications that you want to monitor to the Application Performance Dashboard. Procedure To add web applications, complete the following steps: 1. In the Application Performance Dashboard, click Add Application. Chapter 1. Getting started 5
2. Click Read to open a list of discovered applications. 3. Select the web application that you want to monitor. 4. Click Save. Associating the IBM Java application stack with the web application Edit the web application to associate the WebSphere Application Server and database components that you want to monitor with it. Procedure To display the components in the Java application stack, complete the following steps in the Application Performance Dashboard: 1. Select the web server and click Edit Application. 2. In the Edit Application window, click Add components. 3. In the Select Component window, select WebSphere Application Server. 4. In the Component Editor, select the required component instances and click Add. Any detected WebSphere Application Server instances are automatically added to this list. 5. Click Back and repeat steps 3-4 for your database. Continue adding WebSphere Application Server and database instances until the Java application stack is complete. 6 Transaction Monitoring: Reference
6. Click Close, then Save to return to the Application Performance Dashboard. Results Tip: If the Aggregate Transaction Topology does not initially show the topology that you expect, wait for it to refresh and check again in a few minutes. If the topology is still not what you expect, your application might not be communicating with the expected components. Check your environment. Viewing results of IBM Java application stack monitoring You can view the results of IBM Java application stack monitoring in the topologies. About this task In the topologies, you will see transaction monitoring information from the browser to the database, including resource monitoring from individual components. The following nodes are displayed in the Aggregate Transaction Topology and Transaction Instance Topology: v Browser, displayed only when JavaScript Injection is enabled v HTTP server v WebSphere Application Server v Database Procedure You can link from nodes in the topology to more details about that node: 1. Hover your mouse over a node to display a window with additional information. 2. In that window, to drill down to a more detailed dashboard for the node, right-click the node and select the link. Chapter 1. Getting started 7
Aggregate Transaction Topology The Aggregate Transaction Topology is displayed in the Application summary dashboard. Aggregate Transaction topologies display the following information: v Node for browser-based clients, drill down to the end-user experience Remember: This node is displayed only when automatic JavaScript injection is measuring data from the browser. v Nodes for HTTP-based applications, drill down to the web server resource page 8 Transaction Monitoring: Reference
v Nodes for WebSphere Application Server based applications, drill down to an application resource page v Nodes for specific database servers, drill down to a database resource page Chapter 1. Getting started 9
Transaction Instance Topology Transaction instance topologies are displayed for real end-user transactions. Drill down from the End User Transactions summary through the following widgets: 1. Select a transaction in the Transactions - Top 10 table 2. Select an instance in the Transactions Instances table Transaction instance topologies display the following information: v Node for browser-based clients Remember: This node is displayed only when automatic JavaScript injection is measuring data from the browser. v HTTP nodes, including response times from the browser v WebSphere Application Server nodes, from which you can drill down to an application resource page 10 Transaction Monitoring: Reference
v Nodes for specific database servers, from which you can drill down to a database resource status, and SQL statement diagnostic information for JDBC requests Tip: When the topology indicates that most of the response time is spent in the database, SQL statement information is opened directly when you click Diagnose. Chapter 1. Getting started 11
Diagnosing problems in your environment If transaction instances for one of the components in your environment are slow or failing, the affected component is assigned an appropriate status. A node might have one of the following statuses: v Warning, the node has a yellow background and an exclamation point surrounded by a yellow triangle in the upper right corner v Critical, the node has a red background and a cross that is encircled with red in the upper right corner To identify the cause of the problems for these components, right-click the node and drill down to see more information about what might be causing the failures. Scenario: Monitoring the IBM integration stack You can monitor the IBM integration stack to see transaction tracking information for the middleware products and the services they expose and troubleshoot if any problems arise. The IBM integration stack includes IBM MQ, IBM Integration Bus, and DataPower appliance. Monitoring the IBM integration stack To monitor the IBM integration stack, install the agents that are listed for each component in the order given. Optionally, if you also want to monitor a system, install OS agents on that system. For IBM MQ, complete the following steps: 1. Install the Monitoring Agent for WebSphere MQ. 2. Configure the WebSphere MQ agent to connect to the queue manager. 3. Enable MQ Application Activity Trace in the queue manager. For IBM Integration Bus, complete the following steps: 12 Transaction Monitoring: Reference
1. Install the Monitoring Agent for IBM Integration Bus. 2. Enable IBM Integration Bus for transaction tracking. 3. Configure transaction tracking for the required IBM Integration Bus agent instances. For DataPower appliance, complete the following steps: 1. Install the Monitoring Agent for DataPower. 2. Configure the DataPower agent to connect to the DataPower appliance. 3. Ensure that transaction tracking is enabled for the required DataPower agent instances. 4. Set up the DataPower appliance. Adding middleware applications to the Application Performance Dashboard Create an IBM integration stack application and add the IBM MQ, IBM Integration Bus, and DataPower appliance instances that you want to monitor to it. Procedure To display the components in the IBM integration stack, complete the following steps in the Application Performance Dashboard: 1. In the Application Performance Dashboard, click Add Application. 2. In the Edit Application window, add an application name and click Add components. 3. In the Select Component window, select IBM Integration Bus. 4. In the Component Editor, select the required component instances and click Add. Any detected IBM Integration Bus instances are automatically added to this list. 5. Click Back and repeat steps 3-4 for WebSphere MQ and DataPower Appliance. Continue adding IBM Integration Bus, IBM MQ, and DataPower appliance instances until the IBM integration stack is complete. Chapter 1. Getting started 13
6. Click Close, then Save to return to the Application Performance Dashboard. Results Tip: If the Aggregate Transaction Topology does not initially show the topology that you expect, wait for it to refresh and check again in a few minutes. If the topology is still not what you expect, there might be a problem with your application not communicating with the expected components. Check your environment. Viewing results of IBM integration stack monitoring You can view the results of IBM integration stack monitoring in the topologies and middleware pages. You can also view events that are generated when a transaction violates a defined threshold. About this task In the topologies, you can see interactions between middleware components. The following middleware nodes are displayed in the Aggregate Transaction Topology and Transaction Instance Topology: v IBM Integration Bus v IBM MQ v DataPower appliance Hover your mouse over a node to display a Properties window that shows you information to explain why a node has a particular status. The status is determined by situations; the situations with a bad status are displayed. Procedure You can link from nodes in the topology to more details about that node: 1. Right-click a node. 14 Transaction Monitoring: Reference
2. Optional: Select Go to Component page to display information about the component. 3. Optional: Select Go to Transaction Summary page to display information about the middleware transactions. Tip: Select Groups > Components > middleware component in the navigator and select a request period in the volume widget to go to the same dashboard. Aggregate Transaction Topology The Aggregate Transaction Topology is displayed in the Application summary dashboard. Aggregate Transaction topologies display IBM MQ, IBM Integration Bus, and DataPower appliance nodes. Drill down from these nodes to more information about the middleware integration stack. To drill down, right-click a middleware node in the Aggregate Transaction Topology and select Go to Transaction Summary page. Alternatively, select Chapter 1. Getting started 15
Groups > Components > middleware component in the navigator and select a request period in the volume widget to access the same information. Middleware transaction details From the middleware Transactions Summary page, you can drill down to middleware transaction details. To drill down to middleware transaction details, complete the following steps: 16 Transaction Monitoring: Reference
1. In the middleware Transactions Summary page, select a monitoring interval in the Message or Volume chart. 2. On the Middleware Transaction Summary, in the Queues, Brokers, or Appliances widget, select a queue or broker. Analyzing errors and instances From the middleware Transactions Details page, you can drill down further to information that helps you to analyze errors and instances and access the Transaction Instance topology. To drill down to errors and instances for middleware components and then to the Transaction Instance Topology, on the Transaction Details page complete one of the following steps: v Click Analyze Errors to display the Error Analysis page, then select an error. Chapter 1. Getting started 17
18 Transaction Monitoring: Reference v Click Analyze Requests to display the Instance Analysis page, then select an instance.
Alternatively, in the Transaction Details page, select an error or an instance to go directly to the Transaction Instance Topology. Transaction instance topologies display the following middleware nodes: v Message queue managers v IBM Integration Bus brokers Chapter 1. Getting started 19
v DataPower Appliances Select a node to display its properties that explain why a node has a particular status. A Transaction Gantt Chart is displayed for the selected queue or broker. The Gantt chart helps you isolate the most significant contributors to the overall response time of the transaction. Events Events are generated for the IBM integration stack by the default Transaction Tracking thresholds. For example, the default Transaction_Time_Critical threshold generated an event, which is shown on the Events tab. For more information about default events, see Chapter 5, Event thresholds for Transaction Monitoring, on page 69. You can add thresholds to create more events, for example for transaction rates that slow or fall below a certain threshold. For more information about adding events, see Creating thresholds to generate events for transaction monitoring on page 71. Diagnosing problems in your environment If transaction instances for one of the components in your environment are slow or failing, the affected component is assigned an appropriate status. A node might have one of the following statuses: v Warning, the node has a yellow background and an exclamation point surrounded by a yellow triangle in the upper right corner 20 Transaction Monitoring: Reference
v Critical, the node has a red background and a cross that is encircled with red in the upper right corner To identify the cause of the problems for these components, right-click the node and drill down to see more information about what might be causing the failures. Chapter 1. Getting started 21
22 Transaction Monitoring: Reference
Chapter 2. Dashboards If they are available in your installation, use the Response Time Monitoring and Transaction Tracking dashboards to understand the performance and availability of transaction requests, applications, and servers, where time is spent during a transaction instance in your environment, and to monitor mobile devices. Dashboards - End User Transactions End User Transactions dashboards might be available in your installation. Use these dashboards to understand the performance and availability of applications in your environment. Tip: Data for the End User Transactions dashboards is provided by the Response Time Monitoring agent. To display End User Transactions dashboards, select Groups > Transactions > End User Transactions in the navigator. Use the Events tab to view the active events that relate to the Response Time Monitoring agent for the selected application. Each dashboard contains several group widgets. To view group widget help, click the help icon ( ) on the group widget. End User Transactions Summary dashboard Use the End User Transactions Summary dashboard to analyze the status of the transactions for the selected application over the selected history period, and identify the poorest performing transactions. For IBM Application Performance Management, you can also see user and session counts, and identify the poorest performing users and devices. Using the dashboard Tip: Data for the End User Transactions dashboards is provided by the Response Time Monitoring agent. The following image of the End User Transactions summary dashboard shows widgets available in IBM Monitoring highlighted in the smaller area (blue), which are a subset of the widgets available in IBM Application Performance Management. Copyright IBM Corp. 2013, 2016 23
In IBM Application Performance Management, view user information and failures. Look at the three smaller widgets: Users and Sessions, Worst by User - Top 5, and Worst by Device - Top 5. Together these widgets show how many users are using an application, the five users who are experiencing the highest percentage of failures, and the five devices with the highest percentage of failures. The Users and Sessions widget also shows the number of unique users and sessions during the selected period. Click Analyze Users in the Users and Sessions widget to display a User Summary. View the number of good transactions for the application. Look at the bar chart in the Requests and Response Time widget to compare the number of good (green), slow (yellow), and failed (red) transactions for the selected application over the last hour. View the average response times of transactions for the selected application. In the Requests and Response Time, also look at the Server Response Time line to see the average response time for transactions from the server side. Look at the Client Total Time line to see the real experience of the user. This line represents the client-side response time, including JavaScript transactions. Use these lines together with the bar chart to identify any trends. View the transactions in the application identified as of most interest. Look at the transactions in the Transactions - Top 10 table. These transactions are those that create a poor user experience, and therefore are of the highest priority. In IBM Monitoring, notice client time transactions that show the response time as measured by the client's browser, and are a result of JavaScript monitoring. Select a transaction to display details about its instances. 24 Transaction Monitoring: Reference
Group widgets The End User Transactions summary dashboard shows the following group widgets: v Users and Sessions, only in IBM Application Performance Management v Worst by User - Top 5, only in IBM Application Performance Management v Worst by Device - Top 5, only in IBM Application Performance Management v Requests and Response Time v Transactions - Top 10 To view group widget help, click the help icon ( ) on the group widget. Metrics The following table summarizes the information available in each widget. Not all widgets are available in all offerings. Group widget Users and Sessions Not available in IBM Monitoring. Worst by User - Top 5 Not available in IBM Monitoring. Worst by Device - Top 5 Not available in IBM Monitoring. Data set from which data is derived F_TRANSACTION_USER_AGG_DATA F_TRANSACTION_USER_AGG_DATA F_TRANSACTION_USER_AGG_DATA Metrics Users Sessions Percentage Failures Percentage Failures Requests and Response Time WRT Transaction Status Overall Volume Server Response Time Client Total Time Transactions - Top 10 WRT Transaction Status Failed Slow Transaction Volume Response Time End User Transactions Details dashboard Use the End User Transactions Details dashboard to analyze the performance and availability of the selected transaction. For IBM Application Performance Management, you can also analyze the transaction instances for the selected transaction, and drill down to a topology of a selected instance. Using the dashboard Tip: Data for the End User Transactions dashboards is provided by the Response Time Monitoring agent. View the number of good subtransactions for the transaction on the selected server. Look at the bar chart in the Transaction Requests and Response Time Chapter 2. Dashboards 25
widget to compare the number of good (green), slow (yellow), and failed (red) subtransactions for the selected transaction. View the average response times of subtransactions for the selected application. In the Transaction Requests and Response Time widget, also look at the Server Response Time line to see the average response time for subtransactions other than those subtransactions that use JavaScript from the server side. Look at the Client Total Time line to see the real experience of the user. This line represents the client-side response time, including JavaScript transactions. Use these lines together with the bar chart to identify any trends. View the total time that is taken to load a web page as experienced by a user. Look at the chart in the Render Time Breakdown widget to see which parts within the web page take the longest time to load from a user perspective. Timing points are described by the W3C Navigation Timing specification. Restriction: For Response Time Monitoring to collect data from the browser, JavaScript monitoring code must be injected into the pages you want to monitor. If JavaScript monitoring is not enabled in your environment, this widget shows data only if the IBM HTTP Server Response Time module is installed. If neither JavaScript monitoring nor IBM HTTP Server monitoring with IBM HTTP Server Response Time module are enabled, this widget does not display any information. View the status of the server. Look at the Runs On table and check the status of the web server. View how subtransactions within the page are performing. Look at the Subtransactions table to see how interactions within a page, such as Ajax requests are performing. For example, check that the add to cart request is working as required. In IBM Application Performance Management, view how long it takes to load a page. Look at the Transaction Instances table to see the actual response times experienced by the end user, including render time. Select a transaction instance to view a topology of the instance broken down into network hops and subtransaction nodes. Group widgets The End User Transactions details dashboard shows the following group widgets: v Transaction Requests and Response Time v Render Time Breakdown v Runs On v Subtransactions v Transaction Instances, only in IBM Application Performance Management To view group widget help, click the help icon ( ) on the group widget. 26 Transaction Monitoring: Reference
Metrics Group widget Transaction Requests and Response Time Data set from which data is derived WRT Transaction Status Metrics Render Time Breakdown WRT Transaction Status Resolve Runs On WRT Transaction Status Failed Transaction Volume Server Response Time Client Total Time Page Transfer Content Loading Browser Load Slow Subtransactions WRT Transaction Status Type Transaction Instances Not available in IBM Monitoring. Mongo Interesting Instances Failed Slow Transaction Volume Response Time Status Response Time Source User Agent User Name User Summary dashboard Use the User Summary dashboard to analyze end user transactions by location. Understand who is accessing your application, and if users are experiencing problems, understand the scope of problems and who is impacted. Using the dashboard Tip: Data for this dashboard is provided by the Response Time Monitoring agent. Analyze end user transactions by location. Look at the Users by Location widget. You can see the locations that are experiencing the most transaction failures. Select a location to display user, session, and device details in the other widgets to help you can understand the problem. For the selected location, view the users and their details. Look at the Users at Selected Location widget to see the users at the location selected in the Users by Location widget. For each user, you can see the percentage of failed and slow transactions, the volume of transactions and the average response time of those transactions. Users experiencing problems are listed first. Click a user to go to the User Details Chapter 2. Dashboards 27
widget to see more details. You can also see the session count, and in the Users and Sessions at Selected Location widget, the number of users over time and unique user count. For the selected location, view the worst sessions and their details. Look at the User Sessions at Selected Location - Top 10 widget to see the sessions with the highest percentage of failures or slow transactions at the location selected in the Users by Location widget. For each session, you can also see the user affected, on which operating system and the user's IP address and port number. Click a session to go to the Session Details widget to see more details. You can also see the number of transaction requests per session, and in the Users and Sessions at Selected Location widget, the number of sessions over time and unique session count. Group widgets The Users Summary dashboard shows the following group widgets: v Users by Location v Users and Sessions at Selected Location v Users at Selected Location v User Sessions at Selected Location - Top 10 To view group widget help, click the help icon ( ) on the group widget. Metrics Group widget Table from which data is derived Metrics Users by Location F_TRANSACTION_USER_AGG_DATA Location Users and Sessions at Selected Location F_TRANSACTION_USER_AGG_DATA Failed Slow Users Sessions Response Time Users Sessions Users at Selected Location F_TRANSACTION_USER_AGG_DATA Users Failed Slow Sessions Volume Response Time 28 Transaction Monitoring: Reference
Group widget User Sessions at Selected Location - Top 10 Table from which data is derived F_TRANSACTION_DATA Metrics Start Time Users Failed Slow Volume Duration Device OS Location User Details dashboard Use the User Details dashboard to view load and response time for each user to discover who is having problems. Using the dashboard Tip: Data for the End User Transactions dashboards is provided by the Response Time Monitoring agent. Check the performance of the application in serving requests of the user. Look at the User Request and Response Time graph to see how many of the requests that are generated by the user failed (red), took too long to process (yellow), and completed successfully (green) over a recent period. Notice any trends with the average response time. View session information Look at the User Sessions - Top 10 table to see details of the sessions for the selected user. A session is measured from when a user of an operating system logs in to an application until they log out, or the session times out. Tip: Select a row to display session details. Group widgets The User Details dashboard shows the following group widgets: v User Request and Response Time v User Sessions - Top 10 To view group widget help, click the help icon ( ) on the group widget. Metrics Group widget User Request and Response Time Table from which data is derived F_TRANSACTION_USER_AGG_DATA Metrics Request Status Average Response Time Chapter 2. Dashboards 29
Group widget Table from which data is derived Metrics User Sessions - Top 10 F_TRANSACTION_DATA Start Time Duration Failed Slow Requests Device OS Location Device Details dashboard Use the Device Details dashboard to analyze the load created by devices that run a particular operating system, and the server performance on this load. Using the dashboard Tip: Data for the End User Transactions dashboards is provided by the Response Time Monitoring agent. View the performance of the application server that serves device requests. Look at the Device Request and Response Time graph to see how many of the requests that are generated by mobile devices failed (red), took too long to process (yellow), or completed successfully (green). Notice any trends with the average response time. View session information Look at the Device Sessions - Top 10 table to see details of the sessions for the selected operating system. A session is measured from when a user of an operating system logs in to an application until they log out, or the session times out. Tip: Select a row to display session details. Group widgets The Device Details dashboard shows the following group widgets: v Device Request and Response Time v Device Sessions - Top 10 To view group widget help, click the help icon ( ) on the group widget. Metrics Group widget Device Request and Response Time Table from which data is derived F_TRANSACTION_USER_AGG_DATA Metrics Request Status Average Response Time 30 Transaction Monitoring: Reference
Group widget Table from which data is derived Metrics Device Sessions - Top 10 F_TRANSACTION_DATA Start Time Duration Failed Slow Requests User Location Session Details dashboard Use the Session Details dashboard to view transaction requests and instances for the selected operating system or user. Using the dashboard Tip: Data for the Session Details dashboards is provided by the Response Time Monitoring agent. Tip: A session is measured from when a user of an operating system logs in to an application until they log out, or the session times out. View request information for the session Look at the Session Requests chart to see details of the number of requests over the length of the selected session. View transaction instance information for the session Look at the Session Instances table to see details of the transaction instances for the session. Click transactions experiencing problems to open a transaction instance topology from where you can drill down further to diagnose the root cause of the problem. Group widgets The Session Details dashboard shows the following group widgets: v Session v Session Requests v Session Instances To view group widget help, click the help icon ( ) on the group widget. Chapter 2. Dashboards 31
Metrics Group widget Table from which data is derived Metrics Session F_TRANSACTION_DATA Start Time Duration Failed Slow Requests User Device OS Session Requests F_TRANSACTION_DATA Request status Session Instances Transaction Instances Transaction Status Status Code Response Time Source Server Dashboards - Middleware The IBM integration stack middleware dashboards might be available in your installation. Use these dashboards to see transaction tracking information for the middleware products and the services they expose and troubleshoot if any problems arise. The IBM integration stack includes IBM MQ, IBM Integration Bus, and DataPower appliance. To display the middleware dashboards, select Components > middleware component in the navigator. In the Volume widget, select a monitoring interval to display the first of the middleware dashboards. Middleware Transactions Summary dashboard Use the Middleware Transactions Summary dashboard to view information about all transactions running across all instances of the selected middleware component, either IBM MQ, IBM Integration Bus, or DataPower appliance. 32 Transaction Monitoring: Reference Using the dashboard View the message or transaction volume. Look at the Message or Transaction Volume chart. The number of transactions or messages across all middleware instances are plotted for each period, together with the number of good, or failed transactions or messages. View the worst performing middleware instances. The middleware instances are listed in the Queues or Transactions table. Click a middleware instance to display details of the transactions or message queues for that instance. View information about the resource node and the services that it depends on. The Service Dependencies shows the resource node, such as an IBM Integration Bus and the services that it depends on, identified by
hostname:port. Service nodes are always displayed as uninstrumented services. The response time for each service is shown on the link. Hover your cursor over a node to display more information about that node. For uninstrumented services, the average transaction response and render times over each interval are also displayed. Group widgets The Middleware Transactions Summary dashboard shows the following group widgets: v Message or Transaction Volume v Queues or Transactions v Service Dependencies Metrics Group widget Message or Transaction Volume Table from which data is derived TRANSACTION AGG DATA Metrics Good requests Slow requests Failed requests Queues or Transactions TRANSACTION AGG DATA Transaction Service Dependencies Average Response Time Transaction Volume Failed Slow Middleware Transactions Details dashboard Use the Transactions Details dashboard to view information about a specific transaction or message for the selected middleware component, either IBM MQ, IBM Integration Bus, or DataPower appliance. Using the dashboard View a summary of response time and request volume for a transaction or message and compare the execution time with the wait time. Look at the response time summary. The average response time for the transaction or message requests and the percentage of requests that are failed or slow are shown. If these values are high, investigate any errors. Look at the transaction or message request volume chart (first chart in the Messages or Transactions widget). The total number of requests for the selected transaction or message are plotted for each period, and the failed requests are shown in red. Look at the response time chart (second chart in the Messages or Transactions widget). The time that is taken for the requests to execute (Execution Time) and the time spent waiting on service dependencies (Wait Time) are plotted. View information about the resource node and the transactions for its dependent services. The Transaction Dependencies shows the resource node, such as an IBM Chapter 2. Dashboards 33
Integration Bus and the transactions for the services that it depends on. Service nodes are always displayed as uninstrumented services. The response time for each service transaction is shown on the link. Hover your cursor over a node to display more information about that node. For uninstrumented services, properties and the average transaction response and render times are displayed for each interval. View the users for, and hosts of the selected application. The Users - Top 5 and Requestors - Top 5 widgets show which users are having the worst experience, and which client is using the application the most. Click a user or host to display only those instances in the Latest Errors and Latest Requests tables that relate to that user or host. Troubleshoot transaction or message request errors Look at the Latest Errors table. The most recent errors for the transactions or messages on the selected middleware instance are listed. Click an error to see the transaction in context in the Transaction Instance Topology. Click Analyze Errors to troubleshoot the errors. Troubleshoot latest transaction requests or messages Look at the Latest Requests table. The most recent requests for the transactions or messages on the selected middleware instance are listed. Select a request to display a transaction instance topology and Gantt chart for that request. Click a request to see it in context in the Transaction Instance Topology. Click Analyze Requests to troubleshoot failed requests. Group widgets The Transactions Details dashboard shows the following group widgets: v Messages or Transactions v Transaction Dependencies v Users - Top 5 v Requestors - Top 5 v Latest Errors v Latest Requests Metrics Group widget Table from which data is derived Metrics Messages or Transactions TRANSACTION AGG DATA Good requests Transaction Dependencies - - Slow requests Failed requests Execution Time Wait Time Response Time Volume Failed Slow Users - Top 5 TRANSACTION AGG DATA Users Average Response Time 34 Transaction Monitoring: Reference
Group widget Table from which data is derived Metrics Requestors - Top 5 TRANSACTION AGG DATA Host Volume Latest Errors TransactionInstances Error Code Error Description Latest Requests TransactionInstances Component Name Status Response Time Error Analysis dashboard Use the Error Analysis dashboard to view details about specific errors for the selected middleware component, either IBM MQ, IBM Integration Bus, or DataPower appliance as they occur over time. Using the dashboard View the error rate over time. Look at the Error Rate chart. If you have been experiencing problems, isolate the time period, or notice any increases in errors. View error codes and descriptions. Look at the Error Details widget. The most recent errors in the middleware transaction requests are listed together with an error message and the time at which the error occurred. Group widgets The Error Analysis dashboard shows the following group widgets: v Error Rate v Error Details Metrics Group widget Table from which data is derived Metrics Error Rate TRANSACTION AGG DATA Total Error Details TransactionInstances Error Code Error Message Chapter 2. Dashboards 35
Instance Analysis dashboard Use the Instance Analysis dashboard to view details about errors in specific transaction instances for the selected middleware transaction request, either IBM MQ, or IBM Integration Bus, as they occur over time. Using the dashboard View the error rate over time. Look at the Transaction Volume chart. If you have been experiencing problems, isolate the time period, or notice any increases in errors. View error codes and response times. Look at the Instance Details widget. The most recent errors in the middleware transaction request are listed together with time at which the error occurred and the impact to the response time. Tip: Select an instance to display the Transaction Instance topology. Group widgets The Instance Analysis dashboard shows the following group widgets: v Transaction Volume v Instance Details Metrics Group widget Table from which data is derived Metrics Transaction Volume TRANSACTION AGG DATA Failed requests Instance Details TRANSACTION AGG DATA Status Response Time Dashboards - Transaction Instance Topology The Transaction Instance Topology dashboard might be available in your installation. Use this dashboard to visualize where time is spent during a transaction instance. Use the Transaction Instance Topology to view summary information about, and a topology for the selected transaction instance. You can drill down to the Transaction Instance Topology through End User Transactions, or middleware dashboards. For example, in the navigator, select Groups > Transactions > End User Transactions. In the Transaction Summary page, select a transaction in the Transactions - Top 10 table, and then a transaction instance in the Transaction Instances table. 36 Transaction Monitoring: Reference
Transaction Instance Topology dashboard Use the Transaction Instance Topology dashboard to analyze a transaction instance. Using the dashboard View summary information for the transaction instance. Look at the Transaction Instances summary table for details about the transaction instance. View where time is spent during a transaction instance. Look at the Transaction Instance Topology. The topology shows each network hop and subtransaction node in the transaction instance. The time that is taken for each hop is shown on the link between nodes. View the status of each subtransaction. Look at the Transaction Instance Topology. The status for each subtransaction node is shown in the icon. Where a request has failed, the node is highlighted in red, and the status shows the failure with a cross. View information about each node. Select a node in the Transaction Instance Topology. Details about that node are displayed in the Node Properties, Server Status, or Transaction Gantt Chart widgets. Identify the root cause of a problem for nodes that have a status of warning or failed. In the Node properties widget, click Diagnose: v v If deep-dive diagnostics are available, and there is a matching instance, further information is displayed If a deep-dive does not have a matching instance, choose an instance from a list of other instances for the same transaction, on the same server instance, at a sampled time within a few minutes of the requested instance. Further information is displayed for this alternative instance. v For IBM Java application stack monitoring, depending on the node you can drill down further to application resource pages or database resource status, and SQL statement diagnostic information. Group widgets The Transaction Instance Topology dashboard shows the following group widgets: v Transaction Instances v Transaction Instances Topology v Node Properties v Server Status v Transaction Gantt Chart To view group widget help, click the help icon ( ) on the group widget. Limitations of the topology For transactions with URLs longer than 254 characters (excluding query strings), the transaction topology does not show a node for the back-end application server, such as WebSphere Portal Server, when you drill down from the Transaction Instances table. Chapter 2. Dashboards 37
Metrics Group widget Table from which data is derived Metrics Transaction Instances Transaction Instance Status Response Time Source User Agent User Name Node Properties Transaction Instance Transaction Response Time Component Name Host Name Server Status Transaction Gantt Chart TXINSGANTT_STATUS Transaction Status Timeline Icons and values for nodes in topologies The icons and values that are displayed for each node in the Aggregate Transaction Topology and the Transaction Instance Topology are determined by the source of the data for each node. Table 1. Icons and values for nodes in topologies Node type Value on the node Description Icon Browser BROWSER, IPAddress, or client name Source node for browser-based clients, displayed only when automatic JavaScript injection is measuring data from the browser. For example, BROWSER or /daytrader/app HTTP Server Transaction Name Nodes for HTTP-based applications. For example,/ PlantsByWebSphereAjax/index.html/ Client IPAddress, or client name Nodes for clients. For example, /daytrader/app WebSphere Application Server node Application name Nodes for WebSphere Application Server based applications. For example, /daytrader/app 38 Transaction Monitoring: Reference
Table 1. Icons and values for nodes in topologies (continued) Node type Value on the node Description Icon Server node Servername:instance or IP address:port Nodes for database servers. For example, DB2apm or 172.21.6.15:50 000 IBM MQ queue Message queue name Nodes for IBM MQ based middleware transactions IBM Integration Bus broker Integration broker name Nodes for IBM Integration Bus based middleware transactions DataPower appliance Appliance name Nodes for DataPower appliance-based middleware transactions Uninstrumented Service Service name Generic icon that is used when the node cannot be classified. Chapter 2. Dashboards 39
40 Transaction Monitoring: Reference
Chapter 3. Optimizing Transaction Tracking Transaction Tracking is installed automatically as part of the Performance Management Server and does not require any customization. However, you can customize Transaction Tracking-enabled middleware agents to display data as part of the IBM integration stack, including in the topologies. Information about configuring Transaction Tracking-enabled middleware agents is available in the IBM Knowledge Center. Copyright IBM Corp. 2013, 2016 41
42 Transaction Monitoring: Reference
Chapter 4. Configuring the Response Time Monitoring agent You can customize the data that is collected by the Response Time Monitoring agent for display in the End User Transactions dashboards. Note: If you want to use both a version 6 Web Response Time agent and a version 8 Response Time Monitoring agent in the same environment, ensure that you install the two agents to different home directories. In IBM Application Performance Management V8.1.1 and later, you can easily monitor and troubleshoot HTTP transactions, including browser timings, in the IBM Java application stack by using the IBM HTTP Server Response Time module and HTTP Server agent. The IBM HTTP Server Response Time module automatically does JavaScript Injection, ensuring that the real end-user response time is collected from within the browser. Alternatively, you can use the Packet Analyzer to monitor HTTP transactions. The Packet Analyzer is available with Response Time Monitoring agent 08.10.00 and later. For the Packet Analyzer, you must manually instrument your web pages to collect browser timings. Using the IBM HTTP Server Response Time module Install the IBM HTTP Server Response Time module with the HTTP Server agent to easily monitor the performance of HTTP pages and embedded objects for web pages that are served by the IBM HTTP Server, without having to further configure the Response Time Monitoring agent. JavaScript Injection is automatically used so that the real end-user response times are collected from within the browser. Using JavaScript, IBM HTTP Server Response Time module inserts a header into web pages that are served by an IBM HTTP Server so that Response Time Monitoring can monitor those pages. To display client-side and network data, monitored web browsers must support JavaScript and W3C performance and navigation timing (http://www.w3.org/tr/navigation-timing-2/). Embedded objects that are loaded by the page are tracked by using cookies. Transaction information from web pages that are served by IBM HTTP Server is then included in End User Transactions dashboards. For example: End User Transactions workspace that shows data collected from the IBM HTTP Server Response Time module in the Transactions - Top 10: Copyright IBM Corp. 2013, 2016 43
End User Transactions workspace that shows data collected from the IBM HTTP Server Response Time module in the Subtransactions table Limitations JavaScript to collect browser timings is inserted automatically into a web page only if the page meets the W3C HTML standards. The following conditions must be satisfied: v Response headers contain Content-Type: text/html v Response content includes the <head> element IBM HTTP Server Response Time module features IBM HTTP Server Response Time module monitors the web server port used by IBM HTTP Server. Use either the IBM HTTP Server Response Time module or Packet Analyzer to monitor IBM HTTP Server, not both. The following table shows the features available with the different monitors. 44 Transaction Monitoring: Reference
Transactions Top 10 Server Time Render Time Breakdown AJAX Subtransactions Resource Timing data in Subtransactions table Transaction Instances (Top 10) Transaction Instance Topology Application Topology Automatic instrumentation of JavaScript Injection Packet Analyzer N/A Response Time Monitoring with Client Time (JavaScript Instrumentation) V8.1 and earlier N/A IBM HTTP Server Response Time module V8.1.1 and later Supported versions For IBM Performance Management on Cloud V8.1.1 and later, IBM HTTP Server Response Time module is installed with and configured by using the HTTP Server agent. For IBM Performance Management on Cloud V8.1.0, IBM HTTP Server Response Time module is available with the Response Time Monitoring Agent 08.10.00 for IBM HTTP Server V8.0 and V8.5. Together, the Response Time Monitoring Agent 08.10.00 and IBM HTTP Server Response Time module comprise Response Time Monitoring with Client Time (JavaScript Instrumentation). IBM HTTP Server Response Time module can be installed on the following operating systems: v AIX V6.1 and later v Red Hat Enterprise Linux V5.6 and later v SUSE Linux Enterprise Server V10 and later Installing IBM HTTP Server Response Time module In IBM Monitoring and IBM Application Performance Management V8.1.1 and later, IBM HTTP Server Response Time module is installed with the HTTP Server agent. Install the HTTP Server agent V8.1.1 to IBM HTTP Server V8.0 and later to enable both the IBM HTTP Server Response Time module and HTTP Server agent. Chapter 4. Configuring the Response Time Monitoring agent 45
In V8.1.1 and later, you no longer need to disable the Packet Analyzer to use IBM HTTP Server Response Time module. JavaScript Injection is automatically enabled for IBM HTTP Server Response Time module. To use IBM HTTP Server Response Time module in V8.1.0, you must first disable the Packet Analyzer that is used to monitor IBM HTTP Server in earlier versions. Upgrading from V8.1.0 and configuring IBM HTTP Server Response Time module The following table shows some installation scenarios that might be similar to the way you are monitoring IBM HTTP Server. Response Time Monitoring agent Using IBM HTTP Server Response Time module? Using Packet Analyzer? HTTP Server agent installed? 08.11.00 and later 08.10.00 08.10.00 7.40.07 or earlier 7.40.07 or earlier For all of these scenarios, the installation process is similar: 1. Install HTTP Server agent V8.1.1 or later, which automatically installs the IBM HTTP Server Response Time module. 2. Configure the HTTP Server agent. Note: If you were previously using IBM HTTP Server Response Time module, update the web server configuration file (httpd.conf) with the location of the new IBM HTTP Server Response Time module and remove the old load module configuration file (mod_wrt.so). Note: Response Time Monitoring agent V8.1.1 and later does not work with the load module file (mod_wrt.so) from previous releases. If you attempt to use an old version of this file, error log messages are created. Transactions might still be tracked, but transaction instance data will not be displayed. For more information, see the HTTP Server agent documentation. 3. Ensure that the IBM HTTP Server and HTTP Server agent are running. If the Response Time Monitoring installer detects the HTTP Server agent, the Response Time Monitoring agent enables the IBM HTTP Server Response Time module rather than the Packet Analyzer. 4. Install Response Time Monitoring agent V8.1.1 or later as root to the same location AGENT_HOME as the HTTP Server agent. For example, /opt/ibm/apm/agent/. 5. If you used the Packet Analyzer in earlier releases, you might need to disable the Packet Analyzer to start monitoring IBM HTTP Server with IBM HTTP Server Response Time module. 6. Restart IBM HTTP Server. 46 Transaction Monitoring: Reference
Upgrading from IBM HTTP Server Response Time module V8.1.1 to V8.1.2 1. Stop the IBM HTTP Server. 2. Upgrade the HTTP Server agent to 1.0.0.3 for IBM Application Performance Management V8.1.2. 3. Update your OS agents if installed. 4. Start the IBM HTTP Server. 5. Upgrade the Response Time Monitoring agents to 08.12.00 for IBM Application Performance Management V8.1.2. Note: The Response Time Monitoring agents must be installed as root. Managing the IBM HTTP Server Response Time module manually In IBM Monitoring and IBM Application Performance Management V8.1.1 and later, monitoring the IBM HTTP Server with IBM HTTP Server Response Time module is enabled automatically when the HTTP Server agent is installed and configured. However, you might want to enable or disable the IBM HTTP Server Response Time module and its features manually. Enabling IBM HTTP Server Response Time module manually You can enable IBM HTTP Server Response Time module manually to monitor the performance of HTTP pages and embedded objects for web pages served by IBM HTTP Server. Procedure To enable IBM HTTP Server Response Time module manually, complete the following steps: 1. Stop the Response Time Monitoring agent. Run $AGENT_HOME/bin/rt-agent.sh stop where $AGENT_HOME might be /opt/ibm/apm/agent on Linux systems, or /opt/ibm/ccm/agent on AIX systems 2. Run a configuration command and use $AGENT_HOME/samples/ rt_silent_config_ihs.txt to add the load modules to the web server configuration file and set the configuration parameters for IBM HTTP Server Response Time module. 3. Restart the Response Time Monitoring agent. Disabling the IBM HTTP Server Response Time module manually To disable the IBM HTTP Server Response Time module and use the Packet Analyzer again, reconfigure the agent and turn off monitoring by the IBM HTTP Server Response Time module. About this task Use either of the following procedures to disable the IBM HTTP Server Response Time module. Procedure To reconfigure the agent interactively, complete the following steps: Chapter 4. Configuring the Response Time Monitoring agent 47
1. Run $AGENT_HOME/bin/rt-agent.sh config Where $AGENT_HOME is /opt/ibm/apm/agent on Linux systems, and /opt/ibm/ccm/agent on AIX systems 2. Restart the Response Time Monitoring agent. Alternatively, to set the parameters manually: 3. Open $AGENT_HOME/config/hostname_t5.cfg in a text editor. Where $AGENT_HOME is /opt/ibm/apm/agent on Linux systems, and /opt/ibm/ccm/agent on AIX systems 4. Set the following parameters: KT5DISABLEANALYZER=NO KT5ENABLEWEBPLUGIN=NO 5. Restart the Response Time Monitoring agent. Disabling Response Time Monitoring with Client Time (JavaScript Instrumentation) Response Time Monitoring with Client Time (JavaScript Instrumentation) (comprising Response Time Monitoring Agent 08.10.00 and IBM HTTP Server Response Time module) is available only in IBM Application Performance Management, not IBM Monitoring. In IBM Application Performance Management, Response Time Monitoring with Client Time (JavaScript Instrumentation) is enabled for all IBM HTTP Server installations running on all computers. About this task If you don't want Response Time Monitoring with Client Time (JavaScript Instrumentation) for a particular IBM HTTP Server, edit the generated HTTP Server agent configuration file (hostname_port.conf) to disable JavaScript Injection. Procedure To disable JavaScript Injection manually, complete the following steps: 1. Open the generated HTTP Server agent configuration file in a text editor. For example, /opt/ibm/apm/agent/tmp/khu/myhost_80.conf 2. Add WrtDisableJSI to the file after the LoadModule wrt_module line. For example: LoadModule wrt_module /opt/ibm/apm/agent/lx8266/hu/lib/mod_wrt.so WrtOriginID HU:myhost_80:HUS WrtDisableJSI Disabling resource timing monitoring Resource timing monitoring is enabled for all IBM HTTP Server Response Time module instances installed by HTTP Server agent. About this task If you want to reduce the number of resources that are monitored by IBM HTTP Server Response Time module, or disable resource timing monitoring to reduce the processing load that is required for monitoring a particular IBM HTTP Server, edit the generated HTTP Server agent configuration file (hostname_port.conf). Procedure To edit the generated HTTP Server agent configuration file, complete the following steps: 48 Transaction Monitoring: Reference
1. Open the generated HTTP Server agent configuration file in a text editor. For example, /opt/ibm/apm/agent/tmp/khu/myhost_80.conf 2. Add the WrtMaxPostResourcesSize line. Set one of the following values: v v WrtMaxPostResourcesSize -1, to monitor all resources WrtMaxPostResourcesSize 0, to turn off resource monitoring v WrtMaxPostResourcesSize n, to monitor a particular number of resources, 10 by default. For example, set WrtMaxPostResourcesSize 2 to set a maximum of two resources to post to the server. 3. Restart the server. Disabling ARM Correlator generation By default, ARM Correlator generation is enabled which allows the IBM HTTP Server Response Time module to link to any back-end servers in the topology. You can disable ARM Correlator generation if required. About this task Restriction: If you disable ARM Correlator generation, IBM HTTP Server Response Time module cannot link to back-end servers such as WebSphere Application Server. Disable ARM Correlator generation only under advice from IBM Software Support. Procedure To disable ARM Correlator generation, complete the following steps: Add the following line to the web server configuration file for HTTP Server agent (httpd.conf): WrtDisableArmCorr Excluding pages from client time reporting You might want to exclude particular pages from client time reporting from the browser. About this task You can add a parameter to the configuration file to stop the IBM HTTP Server Response Time module from injecting JavaScript into any file that matches the patterns you specify. This in turn stops client time reporting from the browser for those pages. Procedure To exclude particular pages from client time reporting from the browser, complete the following steps: 1. Add {KT5WEBPLUGIN_JSI_EXCLUDE_URI_WITH_PATTERNS=URL_path_pattern to_exclude} to the $AGENT_HOME/config/host_t5.cfg file. For example, {KT5WEBPLUGIN_JSI_EXCLUDE_URI_WITH_PATTERNS=*/DoNotJSIMe.jsp,/ absolutepath/index.jsp,/skipthisdir/*} Tip: Use an asterisk (*) as a prefix or suffix to match patterns. Add multiple values separated by a comma to the parameter if required. 2. Restart the Response Time Monitoring agent. Run the following commands: Chapter 4. Configuring the Response Time Monitoring agent 49
rt-agent.sh stop rt-agent.sh start Using the IBM HTTP Server Response Time module as a non-root user With some careful set-up, you can use the IBM HTTP Server Response Time module with a user ID other than root. Remember if you are using the Network Packet Analyzer, you must use the root user. To use a user ID other than root, follow these guidelines. For the Response Time Monitoring agent Install the Response Time Monitoring agent by using the user ID you are going to run it with, to a directory that has write access. v For this procedure, the Response Time Monitoring agent user ID is agentuser. The directory to which the agent is installed is $AGENT_HOME. v If you install the Response Time Monitoring agent as root, and then run the agent as a different user, you will not be able to create files. For the IBM HTTP Server Response Time module ServerRoot must be owned by the same user ID that is used to run apache start stop. v During apache start, a wrt tracking directory is created under ServerRoot. Therefore, the user needs sufficient permissions to create files and directories under ServerRoot. v If the IBM HTTP Server Response Time module user, ihsuser is different from agentuser, it requires write access to $AGENT_HOME/tmp. $AGENT_HOME/tmp is created during the installation of agents. The ihsuser needs permission to create a kt5 directory in $AGENT_HOME/tmp. v There can be multiple versions of ServerRoot, each administered by different users. For both the Response Time Monitoring agent and IBM HTTP Server Response Time module Both agentuser and ihsuser need read/write access to the following directories: v $AGENT_HOME/tmp/kt5 v ServerRoot/wrt Normally the IBM HTTP Server Response Time module is started first and the wrt directories are created automatically by the Response Time Monitoring when it first starts up, with read/write access for all. ServerRoot/wrt is also used by camconfig to push configuration. The ihsuser creates shared queue ID files that are picked up by the agentuser; the agentuser reads the queue ID from the directory and pushes configuration. If root is used to run apache start initially and ihsuser is not root, complete the following steps: 1. Stop the Response Time Monitoring agent. 2. Using root, run apachectl stop. 50 Transaction Monitoring: Reference
3. Delete the following directories: v v $AGENT_HOME/tmp/kt5 ServerRoot/wrt 4. Using ihsuser, run apachectl start to re-create the directories with the correct permissions. Using load balancers If you are using load balancers in your environment, some additional customization is required. Procedure If you are using a load balancer, follow these guidelines: 1. Turn off URL Rewrite on the load balancer. 2. Install a Response Time Monitoring agent on each web server that you want to monitor. Do not install Response Time Monitoring on the load balancer. What to do next If you are running the Response Time Monitoring agent behind a load balancer, you can configure the load balancer to forward the IP address of the client to optimize monitoring performance. Use the following steps as an example: 1. In the HTTP header, set the IP address of the client in the X-Forwarded-For field. 2. In the $AGENT_HOME/config/hostname_t5.cfg file, add {KT5WEBPLUGIN_OVERRIDE_SOURCE_ADDR_HEADERS=X-Forwarded-For} to the SECTION=advconfig section. Tip: Add multiple values to the parameter if required. For example, {KT5WEBPLUGIN_OVERRIDE_SOURCE_ADDR_HEADERS=x-forwarded-for, iv-remote-address} 3. Restart the Response Time Monitoring agent. Run the following commands: rt-agent.sh stop rt-agent.sh start Limiting the CPU used to monitor IBM HTTP Server In saturated environments, you might want to limit the percentage of CPU used by IBM HTTP Server instrumentation. About this task Specify the percentage of CPU that the IBM HTTP Server Response Time module can use. The percentage of CPU used is not limited by default. Configure the CPU percentage on the server where the agent is installed. Procedure To configure the percentage of CPU used, complete the following steps: 1. You can either: a. Reconfigure the agent interactively, run: $AGENT_HOME/bin/rt-agent.sh config b. Open $AGENT_HOME/config/hostname_t5.cfg Chapter 4. Configuring the Response Time Monitoring agent 51
Where $AGENT_HOME is /opt/ibm/apm/agent on Linux systems and /opt/ibm/ccm/agent on AIX systems 2. Set a value 0-100 for the following parameter: KT5WEBPLUGIN_TARGET_CPU_PERCENTAGE=10 where the value you specify is the percentage limit of CPU use. The default value of 0 means that the CPU use is not limited. 3. Optional: If you are an advanced user, you can also set the following parameters: Option KT5WEBPLUGINCONFIGPOSTURL Description List of URLs corresponding to an IBM HTTP Server installation. Default: http://localhost/ WrtUpdateConfig.dat KT5WEBPLUGIN_MAX_REQUESTS_PER_SECOND Number of requests per second monitored by each IBM HTTP Server installation. If the number of requests exceeds this number, the subsequent requests are not monitored. If the limit is reached, JavaScript insertion stops, and no data is sent back to the Response Time Monitoring agent. Default: 0 (no maximum) KT5WEBPLUGIN_CPUMAN_PERIOD_IN_SEC The period, in seconds, at which CPU use is checked to determine whether the target has been exceeded. Default: 60 seconds KT5WEBPLUGIN_CATCHUP_PERIOD_COUNT Number of periods that are allowed at the same state before the CPU is scaled back. For example, by using the default, if the CPU use is high and 4 cycles later, it remains high, CPU use is scaled back. Default: 3 Results The percentage CPU available to the IBM HTTP Server Response Time module is set at a fixed percentage. 52 Transaction Monitoring: Reference
Using the Network Packet Analyzer Use the Packet Analyzer to monitor HTTP transactions on applications other than IBM HTTP Server and WebSphere Application Server. You need to manually instrument your web pages to collect browser timings. The following process is for configuring the Response Time Monitoring agent to use the Packet Analyzer: 1. Install the Response Time Monitoring agent as root. 2. Configure the agent by running one of the following commands and providing values when prompted. v v install_dir/bin/rt-agent.sh config install_dir\bin\rt-agent.bat config 3. For more information about monitoring HTTPS transactions, including how to import certificates, see Monitoring HTTPS transactions on page 59. 4. To enable data collection from the browser, see Configuring applications to collect browser timing on page 64. 5. To enable resource timing monitoring, see Enabling detailed browser timing on page 65 6. If you are operating a high transaction load environment and you want to limit the monitoring resources that are used by the Response Time Monitoring agent, see Configuring CPU overhead limit on page 66. 7. Start the agent. 8. After the agent is connected to the Performance Management server, go to the Agent Configuration page and customize the agent to monitor HTTP transactions. For more information, see Monitoring HTTP transactions on page 56 Adding applications After you install the Response Time Monitoring agent, you might need to add the applications that you want to monitor to the Application Performance Dashboard. Procedure To add applications to the Application Performance Dashboard: 1. In the Application Performance Dashboard, click Add Application. 2. Select Read to open a list of discovered applications. Chapter 4. Configuring the Response Time Monitoring agent 53
3. Select the application that you want to monitor. Response Time is displayed as the source repository in the Application read from field, and any components are listed in Application components. 4. No further configuration is needed to display applications that are monitored by the Response Time Monitoring agent in the Application Performance Dashboard. Click Save in the Add Application window. Results Applications that are detected by the Response Time Monitoring agent are listed in All My Applications in the Application Performance Dashboard. Customizing data collected by Response Time Monitoring agent You can customize what data is collected by the Response Time Monitoring agent, such as which IP address to monitor, the type of transactions to monitor, and on which port. Before you begin Tip: Data from the Response Time Monitoring agent is used for the End User Transactions dashboards. Data from the Response Time Monitoring agent is also used in the Application > Status Overview in the following widgets: v Requests and Response Time v Aggregate Transaction Topology. This feature is available only in IBM Application Performance Management. 54 Transaction Monitoring: Reference
Transaction Tracking capable agents, such as Response Time Monitoring, WebSphere Applications agent, HTTP Server agent, or IBM MQ must be installed and configured for data to be displayed in the Aggregate Transaction Topology. Response Time Monitoring agents must be installed and configured for data to be displayed in the other highlighted widgets. About this task Response Time Monitoring agents report data in the APM UI in the local time of the user. You cannot monitor different web servers that host the same application, across different timezones. For example, if your website www.example.com:80 has load balancers that serve traffic from servers in New York, Rome, and Sydney, monitor only one of the three locations with the Response Time Monitoring agent. If the three locations host different applications, such as files.example.com:80, shop.example.com:80, and pages.example.com:80, monitor all three locations with the Response Time Monitoring agent. Procedure You can configure the Response Time Monitoring agent in one of the following ways. Configuration properties are applied in the priority order listed. v Automatically, using the IBM HTTP Server Response Time module with the HTTP Server agent and the Response Time Monitoring agent to monitor the performance of HTTP pages and embedded objects for web pages that are served by the IBM HTTP Server v Manually, using the Network Packet Analyzer - use Agent Configuration to set whether HTTP traffic is monitored by the Response Time Monitoring agent and on which ports To access the Agent Configuration page, in the APM UI select System Configuration > Agent Configuration, then select the Response Time tab. For more information, see Monitoring HTTP transactions on page 56. Chapter 4. Configuring the Response Time Monitoring agent 55
v Local configuration Use the rt-agent configuration command or Manage Monitoring Services on the agent computer to customize most options. Use local configuration to customize all Response Time Monitoring agents earlier than V7.40.06. v Defaults, which are used if there is no custom configuration Monitoring HTTP transactions In IBM Monitoring and IBM Application Performance Management V8.1.1 and later, Response Time Monitoring monitors HTTP transactions by default by using either IBM HTTP Server Response Time module or Packet Analyzer. If you are using the IBM HTTP Server, install IBM HTTP Server Response Time module with the HTTP Server agent to monitor HTTP and HTTPS transactions automatically without needing to configure the Response Time Monitoring agent further. In Response Time Monitoring V7.40.06 and later, you can use the Agent Configuration page in the Performance Management console to see what agents are installed. Where applicable, you can disable or enable HTTP transaction monitoring and set the ports that are monitored by Response Time Monitoring agents. Any Response Time Monitoring agent that is upgraded to Response Time Monitoring V7.40.06 and later can use the Agent Configuration page. Earlier agents cannot use this feature. Agent Configuration To access the Response Time Monitoring Agent Configuration page, in the APM UI, select System Configuration > Agent Configuration, then select the Response Time tab. 56 Transaction Monitoring: Reference
The Agent Configuration page lists the systems in your environment on which Response Time Monitoring is installed. Restriction: You might not be able to configure some agents because you do not have access. Access to agent configuration is determined by the role with which you logged in. If you think you should be able to configure agents but cannot, speak to your system administrator. For each system with a Response Time Monitoring agent installed, the Agent Configuration page shows: v Whether the system is online (check mark with green background) or offline (cross with red background) v Version of the Response Time Monitoring agent that is installed If the version of the agent is earlier than 7.40.06, you cannot configure it using the Agent Configuration page. Earlier agent versions that you cannot configure by using this tool are struck through and if you select them an error is displayed. v If the version of an agent is unsupported, both the agent and version are struck through. v If central configuration cannot determine the type of the agent (that is, whether the Packet Analyzer or IBM HTTP Server Response Time module is being used to monitor HTTP transactions), only the agent is struck through. Generally, the type of agent can't be determined where the agent is not sending agent details through ASF activity. v Whether the system uses the default configuration values or has some custom values set v The ports that are monitored if the Response Time Monitoring agent is using the Packet Analyzer to monitor HTTP transactions. v Whether IBM HTTP Server Response Time module, together with HTTP Server agent, is being used to monitor HTTP transactions. Tip: IBM HTTP Server Response Time module monitors HTTP and HTTPS transactions automatically. No further configuration of the Response Time Monitoring agent is required. Select an agent to display its configuration settings. To find a particular agent, enter part or all of the name of the system on which it is installed in the Filter field. To monitor HTTP traffic for a particular system by using the Packet Analyzer, complete the following steps: 1. Select the system or systems that you want to update. Select multiple systems if you want to use the same HTTP settings for each of those systems. Chapter 4. Configuring the Response Time Monitoring agent 57
If the systems you select have different HTTP values set, Multiple Values or Multiple Lists is displayed instead of individual values. You cannot update systems with different values at the same time. 2. In the Monitor HTTP traffic? field, double-click the value and select Yes from the list. 3. In the HTTP Ports to monitor field, double-click the value and enter any additional ports that you want to monitor, other than the default port 80 and any other ports already listed. To stop monitoring a port, select the port that you no longer want to monitor and click Remove. 4. Click Apply Changes. Customizations that are made on the Agent Configuration page take precedence over any other customization and over default values. If you change your mind about the settings you changed, click Undo Changes to revert to the last settings that were saved, or click Revert to Default to revert to the default values. The new configuration values are sent to Central Configuration Services and online agents are then automatically reconfigured without having to be restarted. If the agent is offline, it downloads the new configuration settings when it comes online. Data from the new ports is displayed in the dashboards that are associated with Response Time Monitoring when the data is refreshed. Upgrading from earlier versions If you upgraded to Response Time Monitoring V7.40.06 or later, or you configured the agent silently, you must manually edit the following configuration files and properties before you can use the Agent Configuration page for future configuration. In the following examples, the default port, port 80 is used. If you monitored HTTP traffic on a different port, customize for your environment. v v Remove {KT5MONITORHTTP=YES} {KT5HTTPPORTS=80} from /opt/ibm/apm/agent/ config/hostname_t5.cfg Remove KFC_HTTP_PORT=80 from /opt/ibm/apm/agent/tmaitm6/wrm/kfcmenv Remove {KT5MONITORHTTP=YES} {KT5HTTPPORTS=80} from C:\IBM\ITM\ TMAITM6_x64\HOSTNAME_t5.cfg Remove KFC_HTTP_PORT=80 from C:\IBM\ITM\TMAITM6_x64\wrm\Analyzer Restriction: Do not remove these configuration parameters from Response Time Monitoring agent V7.40.05 or earlier. These agents cannot use the Agent Configuration page, so the configuration parameters cannot be easily restored. 58 Transaction Monitoring: Reference
Monitoring HTTPS transactions Response Time Monitoring monitors HTTP transactions by default. To monitor HTTPS transactions, Response Time Monitoring requires access to the SSL Certificates so that it can decrypt SSL traffic from your remote web servers. Before you begin Identify the HTTPS web servers that you want to monitor, including their IP addresses and configured ports. For example, 192.168.1.23, port 443. For each HTTPS web server, check that Response Time Monitoring can read its ciphers. Response Time Monitoring supports the ciphers supported by IBM Java, including the following ciphers. v RSA_WITH_RC4_40_MD5 v RSA_WITH_RC4_128_MD5 v RSA_WITH_RC4_128_SHA v RSA_WITH_RC4_40_SHA v RSA_WITH_DES40_CBC_SHA v RSA_WITH_DESC_CBC_SHA v RSA_WITH_3DES_EDE_CBC_SHA v RSA_WITH_AES_128_CBC_SHA v RSA_WITH_AES_256_CBC_SHA v RSA_EXPORT1024_WITH_RC4_56_MD5 v RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 v RSA_EXPORT1024_WITH_DES_CBC_SHA v RSA_EXPORT1024_WITH_RC4_56_SHA v TLS_RSA_WITH_AES_128_CBC_SHA256 v TLS_RSA_WITH_AES_256_CBC_SHA256 Restriction: Response Time Monitoring cannot decrypt traffic that uses Diffie-Hellman key exchange. Procedure To enable HTTPS transaction monitoring, complete the following steps: 1. Set up the keystore. For more information, see Setting up the keystore on page 60. 2. Configure the Response Time Monitoring agent by running one of the following commands and providing values when prompted: v v For example: install_dir/bin/rt-agent.sh config install_dir\bin\rt-agent.bat config Configuring Response Time Monitoring Agent Edit Response Time Monitoring Agent settings? [1=Yes,2=No](default is: 1): 1 Basic Configuration : Specify basic monitoring configuration. Note: HTTP is now configured centrally using the Response Time tab under Agent Configuration. Specifies if HTTPS transactions should be monitored Monitor HTTPS transactions [ 1=Yes, 2=No ] (default is:2): 1 This keystore contains the certificates of the HTTPS websites being monitored HTTPS keystore (e.g. - /tmp/keys.kdb) (default is: ): /tmp/keys.kdb Chapter 4. Configuring the Response Time Monitoring agent 59
This table maps HTTPS servers to the appropriate certificates (e.g. cert1, server ip,server port; cert2,server2 ip,server2 port);... HTTPS server certificate map (eg - certalias,9.48.152.1,443;...)(default is: ): label1,10.0.0.1,9443;label1,9.185.150.71,443 Advanced Configuration : Specify advanced monitoring configuration The NIC card which has the selected IP address will be monitored. IP address of the NIC to be monitored (default is: ): 10.0.0.1 Data Collection and Analysis Configuration : Specify Configuration Information on how Data is Analyzed. Configuration completed successfully. Agent restart required to apply configuration changes. where: v HTTPS keystore is the keystore configured in step 1 v v HTTPS server certificate map, specify: label 1 - the key label configured in step 1 server ip - the IP address of the server, which must match the Source/Destination attribute in the IPV4 header of the packets server port - server port number, which must match the Source/Destination port attribute in the TCP header of the packets Add multiple entries for multiple possibilities of the server IP of the same key label. IP address of the NIC to be monitored, the interface that can see the packets and is mapped to eth0, en0, and so on. The name does not need to match any attributes of IPV4 or the TCP headers of the packets. If 10.0.0.1 corresponds to eth0, use tcpdump -s0 -i eth0... to see all the packets that need to be analyzed by the Packet Analyzer 3. Restart the Response Time Monitoring agent. Setting up the keystore: To monitor HTTPS transactions, import keys into the KT5Keystore for all web servers that you want to monitor. About this task 60 Transaction Monitoring: Reference You can either export the SSL certificates from the web servers that you are monitoring and import them into the HTTPS Keystore by using IBM Key Management (ikeyman), or specify the web server's keystore stash file (.kdb) in the HTTPS Keystore. When you install or configure Response Time Monitoring, you are prompted for the location of the keys.kdb file. If you do not have keystore stash files (.kdb and.sth), check that the CMS Provider is enabled in your Java version so that you can use ikeyman to set up the key database: 1. Go to the install_dir/ibm-jre/jre/lib/security directory. For example: v v /opt/ibm/apm/agent/jre/lx8266/lib/security C:\Program Files\IBM\APM\ibm-jre\jre\lib\security 2. In the java.security file, add the following statement to the list of security providers as shown, where number is the last sequence number in the list.
security.provider.number=com.ibm.security.cmskeystore.cmsprovider The list of providers looks like the following example: ## List of providers and their preference orders # security.provider.1=com.ibm.jsse.ibmjsseprovider security.provider.2=com.ibm.crypto.provider.ibmjce security.provider.3=com.ibm.security.jgss.ibmjgssprovider security.provider.4=com.ibm.security.cert.ibmcertpath security.provider.5=com.ibm.security.cmskeystore.cmsprovider... # 3. Save and close the file. Restriction: Response Time Monitoring cannot decrypt traffic by using Diffie-Hellman key exchange. Procedure To enable HTTPS transaction monitoring, collect the SSL certificates from the web servers that you want to monitor and import the certificates and keystore stash files into the HTTPS Keystore by using ikeyman. The following example uses ikeyman to export the certificates from an IBM HTTP Server, and import them to HTTPS Keystore: 1. Install a Response Time Monitoring agent on each HTTPS web server that you want to monitor. 2. Run IBM Key Management (ikeyman) from within the IBM Java bin directory by running one of the following commands, depending on your operating system. v v /opt/ibm/apm/agent/jre/lx8266/bin/ikeyman Note: You must have X-Window on the environment for ikeyman to work properly. c:\ibm\apm\java\java80_x64\jre\bin\ikeyman 3. Create a new Keystore database. In the New dialog box, complete the following steps: a. From the Key database type list, select CMS. If CMS is not available in the list, the CMS Provider might not be enabled. Enable the CMS Provider in the Java security file. b. In the File Name field, enter the name of the HTTPS Keystore file and click OK. For example, keys.kdb. 4. In the Password Prompt dialog box, complete the following steps: a. In the Password and Confirm Password fields, enter and confirm the password to access keys.kdb. Do not set an expiration time unless you want to re-create the keystore database and restart the Response Time Monitoring agent periodically. b. Select Stash the password to a file? to store the password for keys.kdb in an encrypted form in a stash file, keys.sth. 5. In the Key database content section of the ikeyman window, complete the following steps: a. Select Personal Certificates. b. Click Import. c. In the Import Key dialog box, from the Keyfile type list, select CMS. d. Browse to the keystore file and click Open, and then click OK. Chapter 4. Configuring the Response Time Monitoring agent 61
e. In the Password Prompt dialog box, enter the keystore password. f. Select the key from the list and click OK. g. In the Change Labels dialog box, select the key label name. In the Enter a new label field, specify the host name of the server and click Apply. Note: You need this value when you configure Response Time Monitoring, so make a note of it. h. Click OK. 6. Save the HTTPS Keystore. Customizing local configuration files Use the rt-agent configuration command or Manage Tivoli Enterprise Monitoring Services to customize most options. About this task These steps assume the following installation paths: v v v /opt/ibm/ccm/agent /opt/ibm/apm/agent C:\IBM\APM\ If you installed to a different path, substitute the path in the instructions, and edit the AGENT_HOME parameter in the silent response file for the path where you installed the monitoring agent. Note: For Linux and AIX systems, use the same root user that you used to install the agent to start, stop, and configure the agent. Tip: If you want to deploy a customized configuration silently, a sample silent configuration file is installed in the following locations for you to copy and customize by using a text editor: v v v Procedure /opt/ibm/ccm/agent/samples/rt_silent_config.txt /opt/ibm/apm/agent/samples/rt_silent_config.txt C:\IBM\APM\samples\rt_silent_config.txt To customize your data settings, complete the following steps: 1. On the computer on which the Response Time Monitoring agent is installed, stop the agent: v v v /opt/ibm/ccm/agent/bin/rt-agent.sh stop /opt/ibm/apm/agent/bin/rt-agent.sh stop C:\IBM\APM\BIN\rt-agent.bat stop. 2. Use either of the following methods to configure the agent, entering the values that you require: v Interactive configuration, where you configure the agent by running a script or user interface and respond to prompts: /opt/ibm/ccm/agent/bin/rt-agent.sh config /opt/ibm/apm/agent/bin/rt-agent.sh config use the Manage Tivoli Enterprise Monitoring Services: a. Right-click Response Time Monitoring Agent, and select Configure. 62 Transaction Monitoring: Reference
v b. Step through the windows, configuring the settings that you require. Silent configuration, where you first edit the response file and then run it with no further interaction required: /opt/ibm/ccm/agent/bin/rt-agent.sh config path-to-silentinstallation-file /opt/ibm/apm/agent/bin/rt-agent.sh config path-to-silent-installation-file C:\IBM\APM\BIN\rt-agent.bat config path-to-silentinstallation-file 3. Restart the Response Time Monitoring agent for the changes to take effect: v v v Results /opt/ibm/ccm/agent/bin/rt-agent.sh start /opt/ibm/apm/agent/bin/rt-agent.sh start C:\IBM\APM\BIN\rt-agent.bat start. Data from the new source is displayed in the dashboards that are associated with Response Time Monitoring. Using load balancers If you are using load balancers in your environment, some additional customization is required. Procedure If you are using a load balancer, follow these guidelines: 1. Turn off URL Rewrite on the load balancer. 2. Install a Response Time Monitoring agent on each web server that you want to monitor. Do not install Response Time Monitoring on the load balancer. 3. Add the JavaScript monitoring component to your application. For more information, see Configuring applications to collect browser timing on page 64. What to do next If you are running the Response Time Monitoring agent behind a load balancer, you can configure the load balancer to forward the IP address of the client to optimize monitoring performance. Use the following steps as an example: 1. In the HTTP header, set the IP address of the client in the X-Forwarded-For field. 2. Configure the Response Time Monitoring agent to use the IP address header of the client. Set the IP address header of the client in the KFC_OVERRIDE_SOURCE_ADDR_HEADER field in one of the following files, depending on your operating system: v v For example: /opt/ibm/apm/agent/tmaitm6/wrm/kfcmenv C:\IBM\ITM\TMAITM6_x64\wrm\Analyzer\kfcmenv KFC_OVERRIDE_SOURCE_ADDR_HEADER=x-forwarded-for or if you are using WebSEAL: KFC_OVERRIDE_SOURCE_ADDR_HEADER=iv-remote-address Chapter 4. Configuring the Response Time Monitoring agent 63
Configuring applications to collect browser timing To help you understand the performance of your web pages in a browser and any errors, the Response Time Monitoring agent needs to be able to collect timing data from the browser. With some simple configuration to the application that you want to monitor, monitoring features can collect timing data. This feature is available only in IBM Application Performance Management. About this task Before you can monitor interactions within your web pages, you need to add the JavaScript monitoring component to your application. The JavaScript monitoring component captures the state of web pages and their JavaScript interactions. Add the JavaScript monitoring component to the application that you want to monitor so that the relevant content and actions are automatically captured and sent to the Performance Management server for analysis and correlation. The results of this analysis are displayed in the End User Transactions dashboards. Procedure Complete the following steps to enable collection of real user monitoring data from the browser. These steps need to be completed only once, unless the application configuration changes. 1. Add the JavaScript monitoring component to the application. The procedure that you use depends on the application type: a. For Java EE applications, extract $AGENT_HOME/clienttime/ClientTime.war from the installation package to a directory accessible to the server. For example, on Tomcat, add ClientTime.war to /var/lib/tomcat6/webapps/. b. For non-java EE applications, such as Ruby,.NET, Python, and Node.js, save $AGENT_HOME/clienttime/wrtInstrumentation.js from the installation package to a directory accessible to the server. 2. Associate the JavaScript monitoring component with the application. This association can normally be done by modifying an application header script. Typically, only one header script needs to be modified for each component or application that is to be monitored. For both Java EE applications and non-java EE applications, add the following JavaScript to the application header before any other JavaScript: <script language="javascript" src="path/wrtinstrumentation.js" type="text/javascript"></script> where path is the path to the JavaScript monitoring component, which you set up in step 1. The path is relative to the path where the application is serving from. For example: <script language="javascript" src="/clienttime/wrtinstrumentation.js" type="text/javascript"></script> Results Pages that are instrumented with the JavaScript monitoring component are monitored, and data from the pages is analyzed and displayed in End User Transactions dashboards. 64 Transaction Monitoring: Reference
Enabling detailed browser timing By enabling resource timing monitoring, the Response Time Monitoring agent processes the W3C Resource Timing data by using the Packet Analyzer. With this function enabled, you can view detailed performance information on front-end elements. This feature is available only in IBM Application Performance Management. It does not apply to the IBM HTTP Server Response Time module, which implements resource timing monitoring separately. About this task Before you can monitor resource timing data, you must add the resource timing monitoring component to your application. The resource timing monitoring component automatically captures the state and interactions of the front-end elements, and sends the data to the Performance Management server for analysis. The results of this analysis are displayed in the Subtransactions dashboard. Procedure Complete the following steps to enable the resource timing monitoring function. Complete these steps only once, unless the application configuration changes. 1. Add the resource timing monitoring component to the application. a. Extract install_dir/clienttime/wrtinstrumentation.js file from the installation package. b. Add the wrtinstrumentation.js file to the JavaScript directory of your application. 2. Associate the resource timing monitoring component with the application. Association can normally be done by modifying an application header script. Typically, only one header script needs to be modified for each component or application that is to be monitored. Add the following JavaScript to the application header before any other JavaScript: <script language="javascript" src="path/wrtinstrumentation.js" type="text/javascript"></script> <script> var wrt_enableresourcetiming=true; </script> where path is the path to the wrtinstrumentation.js that you added to the JavaScript directory of your application in step 1. Use the wrt_enableresourcetiming parameter to enable or disable resource timing. Results The pages are instrumented with the resource timing monitoring component. This component is enabled by default. The resource timing data on pages that are instrumented with the resource timing monitoring component is analyzed and displayed in the Subtransactions dashboards. What to do next If you want to disable the resource timing monitoring component, set the wrt_enableresourcetiming parameter to false. Chapter 4. Configuring the Response Time Monitoring agent 65
Configuring CPU overhead limit If you are operating a high transaction load environment, you can limit the monitoring resources used by the Response Time Monitoring agent. About this task This function limits the CPU usage of the Response Time Monitoring agent by monitoring and reporting only a portion of the web traffic by using sampling. The CPU overhead limit is not configured by default. You must configure the CPU overhead limit on the server where the agent is installed. Procedure To configure CPU overhead limit, complete the following steps: 1. Open one of the following files, depending on your operating system: v v /opt/ibm/apm/agent/tmaitm6/wrm/kfcmenv C:\IBM\ITM\TMAITM6_x64\wrm\Analyzer\kfcmenv 2. Configure the values for the following parameters: KFC_MAX_PROTOCOL_PACKETRATE The initial maximum packet rate. For example, if you set the parameter as KFC_MAX_PROTOCOL_PACKETRATE=2000, the maximum packet rate is 2000 packets per second. This rate varies dynamically based on the value for KFC_CPUTHROTTLE_TARGET and the current CPU usage. KFC_CPUTHROTTLE_TARGET The percentage of the overall CPU resource that can be used by the kfcmserver process. For example, if you set the parameter as KFC_CPUTHROTTLE_TARGET=10.0, the kfcmserver process can use up to 10% of the overall CPU resource. Results Note: The value for parameter KFC_CPUTHROTTLE_TARGET is the percentage of the overall CPU resource that is available for the kfcmserver process. For example, if you have 4 CPU cores and KFC_CPUTHROTTLE_TARGET is set to 10, the Resource Monitor in Windows measures CPU resource as 400%. As a result, the kfcmserver process can use up to 40% of the total 400% CPU resources available. The CPU overhead limit is configured for the Response Time Monitoring agent. Customizing End User Transaction location values You can customize the locations applied to specified IP addresses or address ranges in the End User Transaction dashboards for your particular environment. Before you begin Use this feature to set the location of IP addresses that are displayed in the dashboard as Unknown. These addresses might be internal addresses, for example 192.168.x.x or 10.x.x.x, or external IP addresses that are not resolved. You can also use this feature to override incorrect locations for IP addresses. For example, if you know that the IP address 9.1.1.1 is in Los Angeles, but it is shown as San Francisco, override the location, and set 9.1.1.1 to Los Angeles. 66 Transaction Monitoring: Reference
For IBM Application Performance Management (On Premises), you can customize the locations displayed in the User Summary dashboard in the following ways: v Add a single IP address and location v Import a CSV file that contains multiple custom IP addresses and their associated locations v Clear the cache on the Performance Management Server server of resolved IP addresses whenever you make changes to the custom address database. The Performance Management Server can then pick up the updated addresses from the customized database. About this task The CSV file must have the following values as a header. The values can be in any order, and the entries must match that order. IP_ADDRESS,CITY,REGION,COUNTRY For example, IP_ADDRESS,CITY,REGION,COUNTRY 2001::0001:0:0/96,Perth,WA,Australia 2001::0002:0:0/96,Melbourne,VIC,Australia 2001::0003:0:0/96,Sydney,NSW,Australia 2001::0004:0:0/96,Brisbane,QLD,Australia 2001::0005:0:0/96, Hobart, TAS, Australia 10.0.0.5/24, Alice Springs, NT, Australia You can specify single IPv4 or IPv6 addresses, or a range. If you specify a range, ensure that you use a valid value. v For IPv4, valid values are 1-32 v For IPv6, valid values are 1-128 Procedure To customize the location values displayed in the End User Transaction dashboards, complete the following steps on the Performance Management Server server: 1. To import a single IP address and location, run the following command from /opt/ibm/geolocation:./import-ip.sh IP City State Country Tip: Use quotation marks for values that contain spaces. For example,./import-ip.sh "192.168.1.0/24" "Perth" "Western Australia" "Australia" 2. To import values from a CSV file, complete the following steps: a. Set up your CSV file and save it on the Performance Management Server. For example, /opt/ibm/geolocation/ip-list.csv. b. Run the following command from /opt/ibm/geolocation:./import-csv.sh location_of_csv For example,./import-csv.sh ip-list.csv 3. When you have finished adding or updating IP addresses and their locations, clear the cache on the Performance Management Server server of resolved IP addresses so that the Performance Management Server can pick up the updated Chapter 4. Configuring the Response Time Monitoring agent 67
addresses. To clear all of the already resolved IP addresses from the DataMart, run the following command from /opt/ibm/geolocation:./clear-resolved-ips.sh For example, import a CSV file, a single IP address, and another CSV file, and then run./clear-resolved-ips.sh Which user and session details are displayed? If your web application uses a default extraction value for users and sessions, user and session details are displayed in the End User Transactions dashboards. If other values are used, the dashboards do not contain user and session details, the username is displayed as anonymous or unknown, and no session information is available. For session tracking, the following extraction values are supported: v Cookie - JSESSIONID or signinform v QueryString - jsessionid v Header - X-Global-Transaction-ID For user tracking, the following extraction values are supported: v Basic authentication v Formpost j_username, uid, or ctl00%24maincontent%24uid 68 Transaction Monitoring: Reference
Chapter 5. Event thresholds for Transaction Monitoring You can use event thresholds to immediately monitor your environment. You can also create customized event thresholds that test for certain conditions and raise an event when key performance indicators exceed the threshold. Response Time Monitoring events Response Time events are created when web transactions exceed a Response Time threshold. Table 2. Response Time Monitoring thresholds After you click System Configuration > Threshold Manager, select Response Time as the Data Source Type. All event thresholds for the Response Time Monitoring environment are applied to all managed systems of the same type. The following predefined thresholds are available for the Response Time Monitoring Agent. Threshold Description Formula Response_Time_Availability_Crit Response_Time_Availability_Warn Response_Time_Critical A high percentage of the web transactions failed. A moderate percentage of the web transactions failed. The percentage of the web transactions with a slow response time is high. If WRT Transaction Status.Percent_Failed is greater than 10 and WRT Transaction Status.Transaction_Definition_Name is not equal to 'Ignore Resources' then Response_Time_Availability_Crit is true If WRT Transaction Status.Percent_Failed is greater than 0 and WRT Transaction Status.Percent_Failed is less than 10 and WRT Transaction Status.Transaction_Definition_Name is not equal to 'Ignore Resources' then Response_Time_Availability_Warn is true If WRT Transaction Status.Percent_Slow is greater than 5 and WRT Transaction Status.Percent_Available is equal to 100 and WRT Transaction Status.Transaction_Definition_Name is not equal to 'Ignore Resources' then Response_Time_Critical is true Copyright IBM Corp. 2013, 2016 69
Table 2. Response Time Monitoring thresholds (continued) Threshold Description Formula Response_Time_Warning The percentage of the web transactions with a slow response time is moderate. If WRT Transaction Status.Percent_Slow is greater than 1 and WRT Transaction Status.Percent_Slow is less than 5 and WRT Transaction Status.Percent_Available is equal to 100 and WRT Transaction Status.Transaction_Definition_Name is not equal to 'Ignore Resources' then Response_Time_Warning is true Transaction Tracking events Transaction Tracking events are created when middleware transactions exceed a Transaction Tracking threshold. Table 3. Transaction Tracking thresholds To view the default Transaction Tracking thresholds, click System Configuration > Threshold Manager, and select Transaction Tracking as the Data Source Type. Tip: You can create your own Transaction Tracking thresholds if required. The following predefined thresholds are available for middleware transactions. Threshold Description Formula Interaction_Avail_Critical Interaction_Avail_Warning Interaction_Time_Critical A high percentage of the middleware interactions failed. A moderate percentage of the middleware interactions failed. The percentage of the middleware interactions with a slow total time is high. If KTE INTERACTION AGGREGATE DATA.PERCENTAGE_FAILED is greater than 10, then Interaction_Avail_Critical is true If KTE INTERACTION AGGREGATE DATA.PERCENTAGE_FAILED is greater than 0 and KTE INTERACTION AGGREGATE DATA.PERCENTAGE_FAILED is less than or equal to 10, then Interaction_Avail_Warning is true If KTE INTERACTION AGGREGATE DATA.PERCENTAGE_SLOW is greater than or equal to 5 and KTE INTERACTION AGGREGATE DATA.PERCENTAGE_FAILED is equal to 0, then Interaction_Time_Critical is true 70 Transaction Monitoring: Reference
Table 3. Transaction Tracking thresholds (continued) Threshold Description Formula Interaction_Time_Warning Transaction_Avail_Critical Transaction_Avail_Warning Transaction_Time_Critical Transaction_Time_Warning The percentage of the middleware interactions with a slow total time is moderate. A high percentage of the middleware transactions failed. A moderate percentage of the middleware transactions failed. The percentage of the middleware transactions with a slow total time is high. The percentage of the middleware transactions with a slow total time is moderate. If KTE INTERACTION AGGREGATE DATA.PERCENTAGE_SLOW is greater than 1 and KTE INTERACTION AGGREGATE DATA.PERCENTAGE_SLOW is less than 5 and KTE INTERACTION AGGREGATE DATA.PERCENTAGE_FAILED is equal to 0 then Interaction_Time_Warning is true If KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_FAILED is greater than 10, then Transaction_Avail_Critical is true If KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_FAILED is greater than 0 and KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_FAILED is less than or equal to 10, then Transaction_Avail_Warning is true If KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_SLOW is greater than or equal to 5 and KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_FAILED is equal to 0, then Transaction_Time_Critical is true If KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_SLOW is greater than 1 and KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_SLOW is less than 5 and KTE TRANSACTION AGGREGATE DATA.PERCENTAGE_FAILED is equal to 0 then Transaction_Time_Warning is true Creating thresholds to generate events for transaction monitoring Use the Threshold Manager to create thresholds for transactions. Thresholds are used to compare the sampled value of an attribute with the value set in the threshold. If the sampled value satisfies the comparison, a transaction event is generated. Chapter 5. Event thresholds for Transaction Monitoring 71
About this task You can monitor when applications report specific conditions using thresholds. For more information about the default thresholds for Transaction Monitoring, see Chapter 5, Event thresholds for Transaction Monitoring, on page 69. You can create extra thresholds to monitor other aspects of a transaction. For example, you can create a threshold to monitor if the middleware transaction event rate falls. Then, if the transaction event rate falls below that specified by your threshold, an event is generated. Procedure To create a threshold and associate it with one or more transactions, complete the following tasks: 1. On the Navigation Bar, click System Configuration > Threshold Manager. Set the Data Source type as Transaction Tracking. 2. Click Add to create a new threshold. 3. Set a severity for the event that exceeds this threshold. 4. To associate the threshold with a transaction, set the following values: v v v Data set - KTE TRANSACTION AGGREGATE DATA Display item - Resource_Value Logical operator - And (&) 5. Alternatively, to associate the threshold with an interaction, set the following values: v v v Data set - KTE INTERACTION AGGREGATE DATA Display item - Source_Resource_Value Logical operator - And (&) 6. Click Add to add a condition. In the Add Condition box, select an attribute and an operator, then enter a threshold value. For example, to add a threshold condition that generates a transaction event when the number of transactions per minute falls below 100, set the following values and click OK: v v Attribute - Transaction_Rate Operator - Less than v Value - 100 Repeat this step to add more conditions to your threshold if required. 7. In the Group assignment section, select Transaction Tracking to assign your threshold to that resource group. 8. Click Save. Results You created a threshold and associated it with a transaction or interaction. When the threshold conditions are met, an event is generated. You can monitor events in the Events tab of the Application Performance Dashboard. Example To create thresholds for the Response Time Monitoring agent to monitor other aspects of a web transaction in addition to the defaults: 72 Transaction Monitoring: Reference
1. In the Threshold Manager, set the Data Source type as Response Time. 2. When you add the threshold, use the following settings: v Data set - WRT Transaction Status v Display item - Application v Logical operator - And (&) v Group assignment - Web Response Time Chapter 5. Event thresholds for Transaction Monitoring 73
74 Transaction Monitoring: Reference
Chapter 6. Time periods Historical data collection is configured for immediate use on the set of attribute groups that are used by the group widgets that display history data. Different widgets can display different amounts of information, depending on the time span you select. You can select one of the following periods over which to display data: v Last 4 hours v Last 12 hours v Last 1 day For Requests and Response Time widgets, the table expands to the selected period where data is available. For example, if you select the time span as Last 1 week, and data is available only for 2 days, only 2 days are shown in the table. For Top n tables, such as Transactions - Top 10 and Subtransactions, the worst performing transactions over the selected time period are displayed. For the Runs On widget, the score is calculated over the entire selected time period. Copyright IBM Corp. 2013, 2016 75
76 Transaction Monitoring: Reference
Appendix A. Attributes Interaction Aggregate Data Various key performance indicators (KPIs) are supported by the Transaction Monitoring dashboards. The attributes that are used in End User Transactions, Device Details, and Authenticated Users dashboards by the Response Time Monitoring agent, are a subset of those attributes that are used in the attribute groups for the Web Response Time agent. These attributes are listed in the WRT attribute topics. The attributes that are used in the middleware dashboards and Transactions Event Agent thresholds are listed in the Transactions Aggregate Data topic. The KTEINTERAC attribute group provides interactions tracking data for middleware applications. The attributes used to calculate the KPIs that are displayed in the interaction metrics of the Transaction Tracking dashboards are listed in the following table: Attribute Column Data Type Description Node ORIGINNODE S,32 The managed system name of the agent. Timestamp TIMESTAMP T Indicates the beginning of the aggregate time for the record, in the local time zone of the agent system. Record_Number RECORD_NUM I,4 The record number of the returned data. Transaction_Full_Time TRANSACTIO T,16 The start time of data aggregation for the resource in the relevant period. Interaction_Type_Value INTERACTIO S,256 The type of the interaction. Source_Software_ Server_Name SOURCE_SOF S,256 The server name of the source request. Source_Request_Name SOURCE_REQ S,256 The details of the source request. Source_Resource_Value SOURCE_RES S,256 The source agent MSN. Target_Server_Access_Point_FQDN TARGET_SER S,256 The server for the target request. Target_Request_Name TARGET_REQ S,256 The details of the target request. Period PERIOD I,4 The period of time from which the aggregated data is collected. Total_Request_Count TOTAL_REQU I,4 The total number of interactions for the period. Good_Request_Count GOOD_REQUE I,4 The number of good interactions for the period. Slow_Request_Count SLOW_REQUE I,4 The number of slow interactions for the period. Failed_Request_Count FAILED_REQ I,4 The number of failed interactions for the period. Copyright IBM Corp. 2013, 2016 77
Attribute Column Data Type Description Client_Time_Sum CLIENT_TIM I,4 The sum of the client times for all interactions in the period (seconds). Percentage_Slow PERCENTAGE I,4 Percentage of slow interactions. Percentage_Failed PERCENTAG0 I,4 Percentage of failed interactions. Interaction_Rate INTERACTI0 I,4 Number of interactions per minute. Client_Time_Average CLIENT_TI0 I,4 The average client time, in seconds, for all interactions in the period. Transactions Aggregate Data The KTETRANSAC attribute group provides transactions tracking data for middleware applications. The attributes used to calculate the KPIs that are displayed in the Transaction Tracking dashboards are listed in the following table: Attribute Column Data Type Description Node ORIGINNODE S,32 The managed system name of the agent. Timestamp TIMESTAMP T Indicates the beginning of the aggregate time for the record. Transaction_Full_Time TRANSACTIO T,16 The start time of data aggregation for the resource in the relevant period. Resource_Value RESOURCE_V S,256 The name of the resource. Server_Name SERVER_NAM S,256 The name of the server. Transaction_Name TRANSACTI1 S, 256 The name of the Transaction. Document_Type DOCUMENT_T S,256 The document type. Period PERIOD I,4 The period of time from which the aggregated data is collected. Total_Request_Count TOTAL_REQU I,4 The total number of transactions for the period. Good_Request_Count GOOD_REQUE I,4 The number of good transactions for the period. Slow_Request_Count SLOW_REQUE I,4 The number of slow transactions for the period. Failed_Request_Count FAILED_REQ I,4 The number of failed transactions for the period. Response_Time_Average RESPONSE_T I,8 The average response time, in seconds, for all transactions in the period. Execution_Time_Average EXEC_TIME_ I,8 The average execution time, in seconds, for all transactions in the period. Wait_Time_Average WAIT_TIME_ I,8 The average wait time, in seconds, for all transactions in the period. Percentage_Slow PERCENT_SL I,4 Percentage of slow transactions. Percentage_Failed PERCENT_FA I,4 Percentage of failed transactions. Transaction_Rate TRANSACTI0 I,4 Number of transactions per minute. 78 Transaction Monitoring: Reference
WRT Transaction Status The T5TXCS attribute group provides information about a monitored transaction and applies to data gathered in the currently configured collection interval. Tip: Configure the collection interval in the Manage Tivoli Enterprise Monitoring Services for Response Time Monitoring. In the Manage Tivoli Enterprise Monitoring Services, select ITCAM for Web Response Time > Reconfigure and step through the configuration windows to the Data Analysis window. Set Number of minutes to aggregate data before writing out a data point to the required value. The attributes used to calculate the KPIs that are displayed in the End User Transactions dashboards are listed in the following table: Attribute Column Data Type Description Average Render Time RENDERTIME I, 4 The total time taken, in seconds, to download, parse, and render the page from the user perspective. Average Response Time OATIME I, 4 The average amount of time, in seconds, required to resolve the domain name of the URL. The resolve time is a part of the overall network time. For instance data, this field is an absolute value, not an average. Failed Requests FAILREQ I, 4 The number of recorded transactions that either did not complete correctly, or reported an error during the monitoring interval, or whose response time was greater than or equal to the Maximum Response Time Threshold. Failed status is indicated by a transaction Status Code with a value greater than 0. This value is added to the values of the Slow Requests and Good Requests attributes to obtain the value of the Total Requests attribute. Good Requests SUCCREQ I, 4 The number of recorded transactions that completed successfully, and whose response time was less than the Minimum Response Time Threshold. This value is added to the values of the Slow Requests and Failed Requests attributes to obtain the value of the Total Requests attribute. Maximum Response Time Threshold MAXRTTHRSH I, 4 The maximum acceptable response time, in seconds, for a transaction to complete before it is marked as Failed. Appendix A. Attributes 79
Attribute Column Data Type Description Minimum Response Time Threshold MRTTHRES I, 4 The maximum acceptable response time, in seconds, for a transaction to complete before it is marked as Slow. If the response time is also greater than the Maximum Response Time Threshold, it is marked as Failed. Percent Failed PCFAIL I, 4 The percentage of transactions whose requests were marked as Failed. Percent Available PCAVAIL I, 4 The percentage of transactions whose requests were marked as Available. The value of this attribute is equal to 100 percent minus the percentage of transactions whose requests were marked as Failed. Percent Slow PCSLOW I, 4 The percentage of transactions whose requests were marked as Slow. Server SERVER S, 128 The name of the server that processed the transaction. This could be the hostname of the physical machine, the IP, or the Sysplex. Slow Requests SLOWREQ I, 4 The number of recorded transactions that completed successfully, but whose response time was greater than or equal to the Minimum Response Time Threshold. This value is added to the values of the Good Requests and Failed Requests attributes to obtain the value of the Total Requests attribute. Total Requests TOTREQ I, 4 The total number of recorded transactions observed during the monitoring interval. The value for this attribute is the sum of the Good Requests, Slow Requests, and Failed Requests attributes. Transaction TRANSACTN S, 128 The name of the monitored transaction. Transaction Definition Name TRANSDEFNM S, 128 The type of transaction, either Web, Client Time, or AJAX. Timestamp TIMESTAMP T Indicates the beginning of the aggregate time for the record. 80 Transaction Monitoring: Reference
Appendix B. Dashboard metrics reference KPIs for Authenticated Users, End User Transactions, Device Details, and Transaction Instance Topology dashboards Active sessions The number of open sessions serving mobile devices. Depending on the context, this could be for each mobile operating system or user. All sessions marked as active are counted. Sessions where the user is no longer using the application, but has not logged out and the session has not yet timed out, are included in the count. Average Response Time Average response time, in milliseconds, of the transactions in the current period. Browser Load The time taken, in seconds, to present the final elements of a page such as images and subframes (loadeventstart - loadeventend). Timing points are described by the W3C Navigation Timing specification. Client Total Time The total time taken to download, parse, and render the page from the user perspective, represented by a purple line. This line shows the real experience of the user and includes JavaScript transactions, measured by JavaScript monitoring, in the client-side response time. Component Name The type of server that originated the page request. Content Loading The time taken, in seconds, to download all imbedded content, including images (domloading - domcomplete) within the web page. Timing points are described by the W3C Navigation Timing specification. Device OS The operating system of the device that originated the session. Duration The time a user was logged into an application, in seconds. Error Code For the selected middleware component, the error codes most recently returned by slow or failed transaction requests. Error Description For the selected middleware component, error descriptions for the most recently returned errors for slow or failed transaction requests. Execution Time The time taken to process the middleware transaction requests. Failed Host Percentage of failed transactions in the current period. The name of the client using the application. Host Name The name of the server, displayed in the topology, that originated the page request. Copyright IBM Corp. 2013, 2016 81
Location The city in which the session originated. Maximum response time The response time for the request that was processed slowest. Minimum response time The response time for the request that was processed fastest. Number of requests The number of requests processed during the last period for the different mobile operating systems, users, Number of users The number of users who are logged in. Overall Volume or Requests The number of good (green), slow (yellow), and failed (red) transactions per period, or a simple count of the number of requests. The status of the transaction is determined by the Response Time Threshold: v Good Requests The number of recorded transactions that completed successfully, and whose response time was less than the Minimum Response Time Threshold (10 seconds). v Slow Requests The number of recorded transactions that completed successfully, but whose response time was greater than or equal to the Minimum Response Time Threshold (10 seconds). v Failed Requests The number of recorded transactions that did not complete correctly, or reported an error during the monitoring interval. Page Transfer The time taken, in seconds, to download the original page and transfer HTTP and TCP data (connectstart - responseend) within the web page. Timing points are described by the W3C Navigation Timing specification. Percentage failures Request status The number of good (green), slow (yellow), and failed (red) transactions per period for users or devices v Good Requests The number of recorded transactions that completed successfully v Slow Requests The number of recorded transactions that completed successfully, but whose response time was greater than or equal to the Minimum Response Time Threshold (10 seconds). v Failed Requests The number of recorded transactions that did not complete correctly, or reported an error during the monitoring interval. The number of good (green), slow (yellow), and failed (red) requests at various time points, for each mobile device, operating system, and user. The status of the request is determined by the Response Time Threshold: v Good Requests The number of requests that completed successfully, and whose response time was less than the Minimum Response Time Threshold (10 seconds). 82 Transaction Monitoring: Reference
v Slow Requests The number of requests that completed successfully, but whose response time was greater than or equal to the Minimum Response Time Threshold (10 seconds). v Failed Requests The number of requests that either did not complete correctly or reported an error during the monitoring interval. The proportion of good, slow, or failed requests may also be expressed as a percentage. Resolve The time taken, in seconds, for the DNS lookup and any page redirections (navigationstart - domainlookupend) within the web page to complete. Timing points are described by the W3C Navigation Timing specification. Response Time Average response time, in seconds, of the requests in the current period. Satisfaction User satisfaction for the transaction, based on the number of good and slow requests. The transactions are sorted according to their score, which is a user experience KPI based on the number of requests that fail or exceed a predetermined slow threshold. The score has a value of 0-1, where the more slow or failed requests, the lower the score. Transactions have one of the following scores: v Unsatisfactory (red), score less than 0.5 v Warning (yellow), score of 0.5-0.84 v Satisfactory (green), score of 0.85-1.0 Server Servers or message queues involved in the transaction request. Server Response time The average response time of the page from the server perspective, represented by an orange line. This line shows the average response time, in seconds, of all transactions. Server Status The status of the server that originated the page request: good (tick with green background), warning (exclamation mark with yellow background), or failed (cross with red background. Sessions/Total Unique Sessions Number of unique sessions in the displayed period. Session duration Average session duration in seconds, that is, how long a session is running. Slow Source Percentage of slow transactions in the current period IP address of the client that originated the page request. Start Time The time at which the user logged into the application. Status Overall status for the transaction instance, based on the HTTP, or middleware return code. The status displayed is green for successful requests, yellow for slow requests, red for failed requests, or gray for unknown requests. Any request returning an HTTP code of 400 or more is shown as failed. Appendix B. Dashboard metrics reference 83
Status Code The HTTP status code returned by the page the request was attempting to access. Any request returning a code of 400 or greater is considered to have failed. Subtransactions A list of AJAX requests made by the page selected in the End User Transactions Summary. Timeline Time taken by each instance, expressed as a proportion of the total time taken by the selected transaction request. Total Time The time required for the transaction to complete. Transaction The name of the transaction. Transaction Instances A list of transaction instances for the selected transaction. Transaction volume The number of good (green), slow (yellow), and failed (red) subtransactions for the selected transaction, over the last period, summarized from all Response Time Monitoring agents. The status of the subtransaction is determined by the Response Time Threshold: v Good Requests The number of recorded subtransactions that completed successfully, and whose response time was less than the Minimum Response Time Threshold (10 seconds). v Failed Requests The number of recorded subtransactions that either did not complete correctly, or reported an error during the monitoring interval. Transaction Volume Type For the Enterprise Service Bus, the number of good (green) and failed (red) transactions running across all instances for the selected middleware component. The transactions have a status of one of the following: v Good Requests The number of transactions that completed successfully v Failed Requests The number of transactions that either did not complete correctly, or reported an error during the monitoring interval One of the following types of transaction: v Web Transactions, the total time taken to reply to the page request from the server perspective. The data is collected by analyzing network traffic. v Client Time, the total time taken to request and present the page in the browser from the client perspective. The data is collected by analyzing network traffic. v AJAX Transactions, the total time taken to reply to asynchronous page updates from the server perspective. The data is collected from within the browser using JavaScript loaded in the page. 84 Transaction Monitoring: Reference
User/Users/Total Unique Users The user of the application or the number of unique users identified in the displayed period. User Agent The client device which is the source of the transaction instance. The type of device is extracted from the User-Agent field in the HTML header of the instance. User Name The user name for the session. Volume Total number of requests for each user during the selected period. Wait Time The time spent waiting for service dependencies, such as database, web service, and so on, during a middleware transaction request. The Wait Time for asynchronous requests is 0. Appendix B. Dashboard metrics reference 85
86 Transaction Monitoring: Reference
Accessibility features Accessibility features assist users who have a disability, such as restricted mobility or limited vision, to use information technology content successfully. Accessibility features The web-based interface of IBM Performance Management is the Performance Management console. The console includes the following major accessibility features: v Enables users to use assistive technologies, such as screen-reader software and digital speech synthesizer, to hear what is displayed on the screen. 1 Consult the product documentation of the assistive technology for details on using those technologies with this product. v Enables users to operate specific or equivalent features using only the keyboard. v Communicates all information independently of color. 2 The Performance Management console uses the latest W3C Standard, WAI-ARIA 1.0 (http://www.w3.org/tr/wai-aria/), to ensure compliance with US Section 508 (http://www.access-board.gov/guidelines-and-standards/communications-and-it/ about-the-section-508-standards/section-508-standards), and Web Content Accessibility Guidelines (WCAG) 2.0 (http://www.w3.org/tr/wcag20/). To take advantage of accessibility features, use the latest release of your screen reader in combination with the latest web browser that is supported by this product. The Performance Management console online product documentation in IBM Knowledge Center is enabled for accessibility. The accessibility features of IBM Knowledge Center are described at http://www.ibm.com/support/ knowledgecenter/doc/kc_help.html#accessibility. Keyboard navigation This product uses standard navigation keys. Interface information The Performance Management console web user interface does not rely on cascading style sheets to render content properly and to provide a usable experience. However, the product documentation does rely on cascading style sheets. IBM Knowledge Center provides an equivalent way for low-vision users to use their custom display settings, including high-contrast mode. You can control font size by using the device or browser settings. The Performance Management console web user interface includes WAI-ARIA navigational landmarks that you can use to quickly navigate to functional areas in the application. 1. Exceptions include some charts and some of the Agent Configuration pages of the Performance Management console. 2. Exceptions include some Agent Configuration pages of the Performance Management console. Copyright IBM Corp. 2013, 2016 87
The Performance Management console user interface does not have content that flashes 2-55 times per second. Related accessibility information In addition to standard IBM help desk and support websites, IBM has established a TTY telephone service for use by deaf or hard of hearing customers to access sales and support services: TTY service 800-IBM-3383 (800-426-3383) (within North America) IBM and accessibility For more information about the commitment that IBM has to accessibility, see IBM Accessibility (www.ibm.com/able). 88 Transaction Monitoring: Reference
Notices This information was developed for products and services offered in the US. This material might be available from IBM in other languages. However, you may be required to own a copy of the product or product version in that language in order to access it. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-ibm product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-ibm websites are provided for convenience only and do not in any manner serve as an endorsement of those Copyright IBM Corp. 2013, 2016 89
websites. The materials at those websites are not part of the materials for this IBM product and use of those websites is at your own risk. IBM may use or distribute any of the information you provide in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. The performance data discussed herein is presented as derived under specific operating conditions. Actual results may vary. Information concerning non-ibm products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-ibmproducts. Questions on the capabilities of non-ibm products should be addressed to the suppliers of those products. Statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. This information is for planning purposes only. The information herein is subject to change before the products described become available. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to actual people or business enterprises is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or 90 Transaction Monitoring: Reference
imply reliability, serviceability, or function of these programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample programs. Each copy or any portion of these sample programs or any derivative work must include a copyright notice as follows: (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. Copyright IBM Corp. 2014, 2015. Trademarks IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Terms and conditions for product documentation Permissions for the use of these publications are granted subject to the following terms and conditions. Applicability These terms and conditions are in addition to any terms of use for the IBM website. Personal use You may reproduce these publications for your personal, noncommercial use provided that all proprietary notices are preserved. You may not distribute, display or make derivative work of these publications, or any portion thereof, without the express consent of IBM. Notices 91
Commercial use You may reproduce, distribute and display these publications solely within your enterprise provided that all proprietary notices are preserved. You may not make derivative works of these publications, or reproduce, distribute or display these publications or any portion thereof outside your enterprise, without the express consent of IBM. Rights Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either express or implied, to the publications or any information, data, software or other intellectual property contained therein. IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use of the publications is detrimental to its interest or, as determined by IBM, the above instructions are not being properly followed. You may not download, export or re-export this information except in full compliance with all applicable laws and regulations, including all United States export laws and regulations. IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. IBM Online Privacy Statement IBM Software products, including software as a service solutions, ( Software Offerings ) may use cookies or other technologies to collect product usage information, to help improve the end user experience, to tailor interactions with the end user or for other purposes. In many cases no personally identifiable information is collected by the Software Offerings. Some of our Software Offerings can help enable you to collect personally identifiable information. If this Software Offering uses cookies to collect personally identifiable information, specific information about this offering's use of cookies is set forth in the following paragraphs. Depending upon the configurations deployed, this Software Offering may use session cookies that collect each user's user name for purposes of session management, authentication, and single sign-on configuration. These cookies can be disabled, but disabling them will also likely eliminate the functionality they enable. If the configurations deployed for this Software Offering provide you as customer the ability to collect personally identifiable information from end users via cookies and other technologies, you should seek your own legal advice about any laws applicable to such data collection, including any requirements for notice and consent. For more information about the use of various technologies, including cookies, for these purposes, See IBM's Privacy Policy at http://www.ibm.com/privacy and IBM's Online Privacy Statement at http://www.ibm.com/privacy/details the section entitled Cookies, Web Beacons and Other Technologies and the IBM 92 Transaction Monitoring: Reference
Software Products and Software-as-a-Service Privacy Statement at http://www.ibm.com/software/info/product-privacy. Notices 93
94 Transaction Monitoring: Reference
Index A accessibility features 87 adding IBM integration stack components 13 Agent Configuration IBM HTTP Server Response Time module, configuring 51 Response Time Monitoring, configuring 56, 66 applications adding for Response Time Monitoring 53 ARM Correlator generation, disabling 47, 49 attributes Authenticated Users 77 Device Details 77 End User Transactions 77 Interaction Aggregate Data 77 Transactions Aggregate Data 77, 78 WRT Transaction Status 79 Authenticated Users attributes 77 metrics 81 B browser excluding pages from client time reporting 49 C configuring agents 41 Response Time Monitoring 43 data collection for End User Transactions 64 data for End User Transactions 54 IBM integration stack 15 IBM Java application stack 5, 6, 8 Packet Analyzer 65 resource timing monitoring for Subtransactions 65 thresholds, Transaction Monitoring 72 D dashboard End User Transactions details 25 End User Transactions summary 23 Error Analysis 35 Instance Analysis 36 middleware 32 Middleware Transactions Summary 32 Transaction Instance Topology 36, 37 Transactions Details 33 dashboard (continued) User summary 27 dashboards Device Details 30 End User Transactions 23 End User Transactions, configuring 54 End User Transactions, configuring data collection 64 Response Time Monitoring 23 Session Details 31 Subtransactions, configuring resource timing monitoring 65 Transaction Tracking 23 User Details 29 DataPower appliance monitoring 12 Device Details attributes 77 metrics 81 Device Details dashboards 30 E End User Transactions attributes 77 configuring data 54 configuring data collection 64 customizing geolocation 66 metrics 81 time periods 75 End User Transactions dashboards 23 End User Transactions details dashboard 25 End User Transactions summary dashboard 23 Error Analysis dashboard 35 events IBM integration stack 20 G geolocation customizing locations 66 H HTTPS transactions monitoring with Response Time Monitoring 59, 60 I IBM HTTP Server Response Time module 43 CPU limiting 51 disabling 47, 48, 49 enabling 47 enabling and disabling 47 IBM HTTP Server Response Time module (continued) using other user ids 50 IBM Integration Bus monitoring 12 IBM integration stack 12, 13, 14, 15, 16, 17 IBM Java application stack 5, 6, 7, 8, 10, 12, 20 IBM MQ monitoring 12 icons in topologies 38 installing IBM integration stack 15 IBM Java application stack 5, 8 Instance Analysis dashboard 36 Interaction Aggregate Data 77 L load balancers Response Time Monitoring 51, 63 locations customizing End User Transactions 66 M middleware topology values 38 middleware dashboards 32 Middleware Transactions Summary dashboard 32 monitoring IBM integration stack 12, 13, 14, 15, 16, 17 IBM Java application stack 5, 6, 7, 8, 10, 12, 20 monitoring agents configuring 41 Response Time Monitoring 43 R reporting excluding pages from client time 49 resource timing monitoring disabling 48 Response Time Monitoring adding applications 53 attributes WRT Transaction Status 79 configuring 43 configuring CPU limit 66 configuring HTTP ports 56 configuring locally 62 disabling Transaction Tracking 54 enabling Transaction Tracking 54 getting started 1 Copyright IBM Corp. 2013, 2016 95
Response Time Monitoring (continued) IBM HTTP Server Response Time module 43 disabling 47, 48, 49 enabling 47 enabling and disabling 47 using other user ids 50 monitoring HTTPS transactions 59, 60 resource timing monitoring disabling 48 Response Time Monitoring with Client Time (JavaScript Instrumentation) disabling 48 enabling 47 enabling and disabling 47 thresholds 69 topology values 38 Response Time Monitoring with Client Time (JavaScript Instrumentation) disabling 48 enabling 47 enabling and disabling 47 root user 50 S Session Details dashboards 31 session ID 68 Subtransactions configuring resource timing monitoring 65 T thresholds Response Time Monitoring 69 Transaction Monitoring 72 topology values on nodes 38 Transaction Instance Topology 36 metrics 81 Transaction Instance Topology dashboard 37 Transaction Tracking enabling and disabling for Response Time Monitoring 54 getting started 1 Transactions Aggregate Data 78 attributes 77 Transactions Details dashboard 33 Transactions Monitoring getting started 1 U User Details dashboard 29 user ID 68 User summary dashboard 27 using non-root user ids 50 96 Transaction Monitoring: Reference
IBM Printed in USA