Error Monitoring

When errors happen in a production environment, they can be detrimental to application performance. Errors could be exceptions not handled by the code in the context of a business transaction, caught exception in a database call, and HTTP 404 errors. With AppDynamics monitoring your application, you can troubleshoot errors when they occur and fix them before they cause any outages.

Error MonitoringOverview

AppDynamics automatically detects errors that occur in an application. The Controller dashboard displays metrics such as how many errors occurred in a period of time, the frequency with which they occur , and error rate of total business transactions. AppDynamics visualizes the trends and metrics so it’s intuitive to understand the impact the errors have on your application. You can also drill down to individual errors and trace the source of the error to code level. Transaction snapshots show you all tiers and nodes impacted, and the actual error messages.

At a high-level, a business transaction is considered to have an error if its normal processing has been affected by a code-level exception or error event.

There are four types of errors captured by AppDynamics out of the box:

  • An error or fatal exception that is not handled in the context of a business transaction. An exception that is thrown and never caught or caught after the business transaction terminates results in a transaction error, and the exception is presented in AppDynamics. If an exception is thrown and caught, then it won’t be considered as an error.
  • A caught exception in an exit call, such as a web service or database call.
  • HTTP errors (error code 400 – 503).
  • Detection of a custom method and error message.
When a transaction experiences an error, it is counted only as an error transaction but not as a slow, very slow or stalled transaction.
Video Thumbnail

Since common causes of transaction errors are code exceptions, AppDynamics tracks exceptions in a separate tab to show an aggregated view of the exceptions in a certain time period. The following are regarded as exceptions:

  • Any exception that is logged with a severity of Error or Fatal (using Log4j, java.util.logging, Log4Net/NLog or other supported Logger listed in the Supported Environments and Versions page), even if occurs outside the context of a business transaction. The "Application Server" exception type indicates an exception that occurs outside the context of a business transaction.
  • HTTP errors that do not occur in the context of a Business Transaction.
  • Error page redirects.
Error Monitoring

To see errors detected during a certain time period, navigate to Troubleshoot > Errors to see a list of errors. 

If a call graph exists for the snapshot, the "call graph" icon will appear to be blue. Double click anywhere in the row to bring up a transaction snapshot, where you can see the Transaction Flow Map and associated details about this error. Click Drill Down to see which step is causing the error. You can also choose to see the slowest methods and what are the detailed error messages.

To learn more about troubleshooting, visit the Troubleshooting concept.

Error Monitoring

You can customize how AppDynamics associates code events with business transaction errors by adding or removing the methods, log messages, HTTP codes, or redirect pages that are configured to indicate business transaction errors. To view or modify error detection configuration, navigate to Configuration > Instrumentation > Error Detection. The horizontal tabs on the top take you to the configurable options for each programming language or platform.

You can configure custom error detections using logged exceptions or messages for Java, .Net, PHP, Node.js, and Python. Custom loggers or error detection using redirect pages are available for Java and .NET. To learn more, please visit Configure Error Detection.

Error Monitoring

Not all exceptions or log messages are important to your application. To avoid false alarms, configure Instrumentation Error Detection to ignore certain exceptions or log messages such as errors raised by user login failures.

To configure exceptions for the agent to ignore, go to Configuration > Instrumentation > Error Detection, click on Add New Exception to Ignore. Enter the class name of the exception to be ignored and the match condition for the exception message.

In .NET and Java, you can specify that errors logged with certain loggers or logger categories be ignored. Click Add New Category/Logger to Ignore.
Error Monitoring
Try AppDynamics

Introduction

AppDynamics automatically detects errors that occur in an application. The Controller dashboard displays metrics such as how many errors occurred in a period of time, the frequency with which they occur , and error rate of total business transactions. AppDynamics visualizes the trends and metrics so it’s intuitive to understand the impact the errors have on your application. You can also drill down to individual errors and trace the source of the error to code level. Transaction snapshots show you all tiers and nodes impacted, and the actual error messages.

What is an error

Video Thumbnail

At a high-level, a business transaction is considered to have an error if its normal processing has been affected by a code-level exception or error event.

There are four types of errors captured by AppDynamics out of the box:

  • An error or fatal exception that is not handled in the context of a business transaction. An exception that is thrown and never caught or caught after the business transaction terminates results in a transaction error, and the exception is presented in AppDynamics. If an exception is thrown and caught, then it won’t be considered as an error.
  • A caught exception in an exit call, such as a web service or database call.
  • HTTP errors (error code 400 – 503).
  • Detection of a custom method and error message.
When a transaction experiences an error, it is counted only as an error transaction but not as a slow, very slow or stalled transaction.

Exceptions and errors

Error Monitoring

Since common causes of transaction errors are code exceptions, AppDynamics tracks exceptions in a separate tab to show an aggregated view of the exceptions in a certain time period. The following are regarded as exceptions:

  • Any exception that is logged with a severity of Error or Fatal (using Log4j, java.util.logging, Log4Net/NLog or other supported Logger listed in the Supported Environments and Versions page), even if occurs outside the context of a business transaction. The "Application Server" exception type indicates an exception that occurs outside the context of a business transaction.
  • HTTP errors that do not occur in the context of a Business Transaction.
  • Error page redirects.

How to troubleshoot errors

Error Monitoring

To see errors detected during a certain time period, navigate to Troubleshoot > Errors to see a list of errors. 

If a call graph exists for the snapshot, the "call graph" icon will appear to be blue. Double click anywhere in the row to bring up a transaction snapshot, where you can see the Transaction Flow Map and associated details about this error. Click Drill Down to see which step is causing the error. You can also choose to see the slowest methods and what are the detailed error messages.

To learn more about troubleshooting, visit the Troubleshooting concept.

Setup custom error detection

Error Monitoring

You can customize how AppDynamics associates code events with business transaction errors by adding or removing the methods, log messages, HTTP codes, or redirect pages that are configured to indicate business transaction errors. To view or modify error detection configuration, navigate to Configuration > Instrumentation > Error Detection. The horizontal tabs on the top take you to the configurable options for each programming language or platform.

You can configure custom error detections using logged exceptions or messages for Java, .Net, PHP, Node.js, and Python. Custom loggers or error detection using redirect pages are available for Java and .NET. To learn more, please visit Configure Error Detection.

Configure to ignore exceptions and log messages

Error Monitoring

Not all exceptions or log messages are important to your application. To avoid false alarms, configure Instrumentation Error Detection to ignore certain exceptions or log messages such as errors raised by user login failures.

To configure exceptions for the agent to ignore, go to Configuration > Instrumentation > Error Detection, click on Add New Exception to Ignore. Enter the class name of the exception to be ignored and the match condition for the exception message.

In .NET and Java, you can specify that errors logged with certain loggers or logger categories be ignored. Click Add New Category/Logger to Ignore.

What's next

Try AppDynamics
Error MonitoringGetting Started
  1. Install an AppDynamics application agent on your system.

  2. Configure error detection for your instrumented application: Configuration > Instrumentation > Error Detection, then the tab for your platform (Java, .NET, PHP, etc).

  3. Restart the instrumented application.

  4. Observe the error trend graphs in the various dashboards or in the Errors tree of the Metric Browser.

  5. Click Troubleshoot > Errors to access details about the root causes of your app's errors and exceptions.

Video Thumbnail