Server monitoring is now an essential part of any data center monitoring architecture in order to build a holistic monitoring platform successfully. However, server monitoring alone cannot help you in monitoring applications properly.
What are some server monitoring tools?
Unix system administrators use tools like vmstat, sar, topas, nmon, netstat and top to monitor servers in real time. While in the case of the Windows, world admins use perfmon for real time monitoring needs.
What's the problem?
The fact of the matter is that server monitoring tools do not provide any information regarding application performance. They can't tell you any of the following:
Response time of every request to your application
Components of your application involved in any of the transactions and where is the slow down
Manner in which the application code performs in the run time
Part of the application code that is slow
Application functionality that is used, how frequently, and how does it function
How much a slow external service call affect your application response time
What's the solution?
The advanced Application Performance Monitoring (APM) tool is the apt solution to this problem. The APM tools comprehend the inner workings of your applications that include code execution, the transactions running through and over multiple application components,the entry and exit calls to the application, exceptions and associated impact.
What's the impact?
The APM products offers various benefits that include:
Few bugs released because they are easier to detect and remediate.
Reducing MTTR from hours/days to minutes.
More stable production environment owing to better development and QA.
Faster development thanks to less time tracking down bugs.
Faster QA cycle because of rapid problem detection, isolation,and resolution.
Server monitoring a foundational component to any data center monitoring architecture but it has become a crutch and a deterrent to successfully building out a holistic monitoring platform. Servers exist to run applications and you will never properly monitor applications with server monitoring...
In the last post I covered several architectural techniques you can use to build a highly scalable, failure resistant application in the cloud. However, these architectural changes – along with the inherent unreliability of the cloud – introduce some new problems for application performance...