Application Analytics
Total Page:16
File Type:pdf, Size:1020Kb
Application Analytics AppDynamics Application Intelligence Platform Version 4.2.5 Page 1 Application Analytics . 3 Deployment Options and Scenarios . 4 Installing Agent-Side Components . 8 Remote Analytics Agent Sizing . 15 Configuring Application Analytics . 19 Configuring Log Analytics . 19 Configure Analytics Agent for Syslog Messages . 30 Create Extracted Fields from Logs . 33 Configuring Transaction Analytics . 35 Add Custom Fields to Transactions Using Java SDK . 37 Business Transaction and Log Correlation . 39 Analytics and Data Security . 45 Managing API Keys . 48 Managing Field Visibility . 51 Using the Application Analytics UI . 54 Creating Basic Searches for Analytics . 59 Using Widgets to Visualize Analytics Data . 66 Creating Metrics From Analytics Searches . 69 Relevant Fields Investigative Flow . 70 Creating Advanced Searches for Analytics . 72 ADQL Command Reference . 74 Troubleshooting . 84 Application Analytics Licenses . 86 Event Data for Log Analytics . 89 Event Data for Browser and Mobile Analytics . 90 Event Data for Transaction Analytics . 90 Event Data for Custom Analytics Events . 92 Page 2 Application Analytics On this page: Transaction Analytics Extends AppDynamics APM Watch the video: Analytics Demo AppDynamics Application Analytics enables you to do real-time analysis of business performance that is correlated with the performance of your application software. As a separately licensed product in the AppDynamics Platform, Application Analytics enhances and extends the AppDynamics APM, Browser and Mobile RUM product modules to provide Transaction Analytics, Log Analytics, and Browser and Mobile Analytics. Application Analytics can help you answer business-oriented questions such as: How many users experienced failed checkout transactions in the last 24 hours? How much revenue was lost because of these failures? How is that revenue distributed across different product categories? What is your revenue for the day for a geographical region? What was the revenue impact by product category associated with the two marketing campaigns we ran last week? Transaction Analytics provides analytics on data collected by the AppDynamics Java and .NET Agents. With Transaction Analytics, you can collect and analyze three kinds of data: Default performance data collected by the app agents about your application's business transactions HTTP-based data collected by HTTP data collectors Custom data collected by method invocation data collectors For details on the data that is collected, see Event Data for Transaction Analytics. To enable Transaction Analytics for your applications, see Installing Agent-Side Components. Log Analytics provides analytics on data collected from many types of log files, including instrumented and non-instrumented applications as well as infrastructure. Log Analytics can be used as a standalone component. You can search and analyze log data just as you do transaction data. Log Analytics works out of the box with the syslog (log4j) format a nd can be easily configured for other log formats, including GZIP files - (log files ending in .gz). You can capture other log formats by setting up a regular-expression-based mapping, see Configuring Log Analytics. For details on the data that is collected and a list of the sample job files that are shipped with the Analytics Agent, see Event Data for Log Analytics. Correlating Log and Transaction Analytics Data: If you configure business transaction GUID injection, you can see logs that are related to specific business transaction requests. For details on configuring GUID injection, see Business Transaction and Log Correlation. Browser and Mobile Analytics provides analytics on data collected by the AppDynamics End User Monitoring (EUM) JavaScript Agent and Mobile SDKs. This component is an add-on to EUM and presents data collected from Browser Real User Monitoring and Mo bile Real User Monitoring in a more flexible search format than in the main EUM screens. If you have enabled Browser RUM or Mobile RUM and enabled analytics, you see these components on the Analytics page. For details on how analytics extends the capability of EUM, see the section "Browser Analyze versus Browser Request Analytics" in Browser RUM Analyze. For information on using the on-premise EUM server, see Configure the EUM Server. If you have deployed EUM such that you are using an on-premises Events Service for transaction and log analytics data, and the SaaS Events Service for your EUM data, you can not view the browser or mobile request data in Analytics. This setup is sometimes called "hybrid mode". Custom Analytics Events can be added using the AppDynamics Analytics Events API. Transaction Analytics Extends AppDynamics APM Data for every instance of a business transaction is collected by Analytics. Each instance of a business transaction passing through a Copyright © AppDynamics 2012-2016 Page 3 tier is an event. You can view the raw data for any transaction instance that occurred within the data retention time. This gives you the ability to analyze the business impact of every event and learn how your customers use your application. Collecting Transaction Analytics data requires no change to your application code. You enable analytics on the app agents and Controller you already use. Once you have enabled analytics on your application, you can enable pre-existing data collectors to collect additional business data for every transaction instance and you can add additional data collectors. Deployment Options and Scenarios On this page: SaaS or On-Premises? Agent Side Components Deploying Analytics Agents to Multiple Nodes Server Side Components for On-Premise Deployment Options Summary Application Analytics is built on top of the AppDynamics platform, including the Events Service, the unstructured document store for the platform. The exact components you need to install and the steps for doing so depend upon your environment and your requirements. This section outlines some of those considerations and scenarios. SaaS or On-Premises? The first deployment question you need to consider is whether to use SaaS or On-Premises AppDynamics Analytics. With SaaS, AppDynamics stores the data and hosts the server components of the system for you. In the on-premises approach, you host the components yourself, storing all data on-premises. These differences are: For SaaS, you need to install only the application agent components of the system, as described in Agent Side Components. For On-Premise, you need to install the Agent Side Components and the Controller and Events Service components described in Install the Controller and Install the Events Service. The on-premises deployment involves additional setup and administration, but it enables you to retain all analytics data within your own data center. Agent Side Components Whether you are using SaaS or On-premises Application Analytics, you need to deploy (or enable) components that provide Analytics functionality to the parts of the system that reside in your application environment. These appear on the left side of the diagram. Copyright © AppDynamics 2012-2016 Page 4 As numbered, the agent components are: AppDynamics App Agent: Application Analytics relies upon the same app agents that AppDynamics APM uses. If you already use AppDynamics APM, you likely already have these deployed to your monitored applications. Analytics Agent: The Analytics Agent collects data from one or more app agents and sends it to the Events Service. It also reads and transmits log data from log files from the local machine. For Java installations, the Analytics agent is provided as an extension to the Standalone Machine Agent and is embedded in the Standalone Machine Agent binary distribution. For .NET, you need to download and install the analytics-agent.zip file, a separate Java application that collects transaction and log data from .NET applications running on Windows OS. For SaaS-based installations, the connection between the Agent and the Events Service in the cloud takes place over ports 80 (HTTP) and 443 (HTTPS). For on-premises installations, the port on which the Events Service receives data from the Agent is configured during installation. Analytics Plugin (AP) to the App Agent: The Analytics Plugin extends App Agent functionality so that it can collect and forward data to the Analytics Agent. It is built into the 4.0 version of the Java and .NET App Agents, but is not enabled by default. No additional download is needed here. Deploying Analytics Agents to Multiple Nodes A real world scenario is unlikely to consist of a single monitored node, as shown in the diagram above. It usually consists of many applications deployed over many hosts. While the APM app agents continue to send data to the Controller in the normal way, the Analytics Plugin, sends its data to the Analytics Agent component. This component runs in a separate JVM process in the local environment or network, either as part of the Standalone Machine Agent or on its own. There must be at least one Analytics Agent in the monitored environment, although multiple agent plugins collecting only transaction data can share a single Analytics Agent, as shown in the figure. However, each machine where you want to gather log data must have its own Standalone Machine Agent with the Analytics Agent enabled. Copyright © AppDynamics 2012-2016 Page 5 In this example, AppServerHost1-3 are collecting only transaction data, so only app agents are required. Each one connects to the Analytics Agent on