The importance of Discovery in Application Performance Management

As I read articles and blogs on Application Performance Management (APM), I see a lot of discussions on some very important topics such as:

  • SaaS vs. on-premise
  • Predictive Analytics/Dynamic thresholding
  • Log Analytics
  • Agentless vs. Agent-based monitoring
  • Transaction Tracking
  • And more…

One area that is often overlooked is the importance of discovery.   If you don’t understand the environment that you are monitoring, it is virtually impossible to effectively monitor the business applications.   Think about a cloud based business application where additional servers are added to provide additional capacity or an environment where CPU cores are added to a Virtual Machine. The application behavior, including the performance, will change.   In addition, you must ensure that the new servers are being monitored appropriate. There are multiple aspects of discovery that are important as described below.

First, you must ensure that all resources are being monitored.   This can be accomplished in a few different ways. You can tie your APM tools in with your provisioning process.   As new servers and applications are provisioned, monitoring is provisioned at the same time. This process must include configuring the appropriate thresholds based on the workload or the use of predictive analytics to detect problems. Another option is to use a dedicated discovery product. These tools can be very valuable for customers without a strong change control process.   As I meet with customers, I frequently find that many servers are not even being monitored.

Another alternative is to have application aware monitoring tools.   By using tools that can monitor end-to-end Transaction Tracking, you are able to automatically discover the application topology and any changes in the topology as traffic flows change. For example, if a new Application Server is added to a cluster, the traffic flow to that node is automatically discovered.

Finally, you can use a purpose built discovery tool.   One of the benefits of tools that are designed for discovery and inventory is that they typically gather a much richer set of data about the servers, hypervisors, switches, and applications being used.   In addition, they provide reporting capabilities including change detection.   This can be invaluable when debugging a problem. You can compare what’s changed within the last week or compare a system against a golden image.

Any of the three approaches will work to discover your business applications and relationships.   The key is to know what you have and to ensure that monitoring is in place and setup with the right thresholds (or use analytics).


4 thoughts on “The importance of Discovery in Application Performance Management

  1. Julius Loman (@JuliusLoman)

    One big drawback from my experience is the discovery quality. It highly depends on permissions allowed for the discovery tool on systems discovered. Usually security won’t allow discovery tool to use root/administrator credentials for discovery and tuning permissions for discovery user is really a tough task, specially if you need to get to the application level.

    Another drawback is deployment and configuration of applications being discovered. If they are installed in default locations and with default configuration, it will be mostly OK. But some configurations such as clustered databases on active/passive cluster will never get discovered automatically.

    1. b1stern Post author

      I agree that discovery can be a challenge. A lot depends on the company and how applications, credentials, and firewalls are setup. That’s one of the reasons that I like tying APM into a provisioning system.

  2. Tyson Supasatit (@tsupasat)

    Hi Ben, I think you’ve left out a very valuable method of auto-discovery: Analyzing the L2-L7 communications on the wire. The ExtraHop platform takes this approach so that we automatically discover and classify devices as they begin communicating over the network. Of course, if they are not communicating, then we won’t discover them. But what devices aren’t networked these days? Here’s our page explaining auto-discovery:

    1. b1stern Post author

      Good point. Network discovery is important. In fact, IBM has two products that can do Network discovery. TADDM (Tivoli Application Dependency Discovery Manager) which discovers the network, applications, servers, and more. And, we have a product called IBM Network Manager that is specifically targeted at network devices. It not only does discovery, but also monitoring and root cause analysis.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s