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).