Method and system to monitor a diverse heterogeneous application environment
A method to detect potential problems within a heterogeneous and diverse application environment. Operations data is received from a plurality of application servers within the application environment. The operations data pertains to operations performed at the plurality of application servers over a predetermined time interval. The operations data is aggregated. The aggregated data is compared to reference data, and a potential problem within the application environment is detected if the aggregated data deviates from the reference data in a predetermined manner.
1. A method of monitoring a server environment, the method comprising:
instrumenting each of a plurality of application servers within the server environment, the instrumenting including adding function call codes to application codes on each of the plurality of application servers;
monitoring transactional data on each of the plurality of application servers;
logging the transactional data from each of the plurality of application servers for additional analysis; and
aggregating, using one or more processors, statistics related to the logged transactional data for each of the plurality of application servers.
2. The method of claim 1 , further comprising periodically generating reports utilizing the logged transactional data, the reports including a snapshot at a point in time of operations for each of the plurality of application servers.
3. The method of claim 1 , further comprising periodically generating reports utilizing the logged transactional data, the reports including a history, over a period of time, relating to operations for each of the plurality of application servers.
4. The method of claim 1 , wherein the monitoring of the transactional data includes monitoring a client transaction with one or more of the plurality of application servers.
5. The method of claim 1 , further comprising utilizing the logged transactional data to detect a potential problem within one or more of the plurality of application servers.
6. The method of claim 5 , further comprising:
generating an alert; and
initiating a preventive action within the one or more of the plurality of application servers in which the potential problem was detected.
7. The method of claim 1 , further comprising utilizing the logged transactional data to detect an actual problem within one or more of the plurality of application servers.
8. The method of claim 7 , further comprising:
generating an alert; and
initiating a corrective action within the one or more of the plurality of application servers in which the actual problem was detected.
9. The method of claim 1 , further comprising communicating the transactional data in a common syntax to one or more harvester clusters.
10. The method of claim 9 , wherein the common syntax is defined by at least one dimension variable and one analysis variable.
11. The method of claim 9 , further comprising writing, from the one or more harvesters, the logged transactional data to a storage array on a network application server that is common to each of the plurality of application servers.
12. The method of claim 1 , wherein the transactional data include entry-point transactions and exit-point transactions for each of the plurality of application servers.
13. The method of claim 12 , wherein the exit-point transaction occurs when one of the plurality of application servers utilizes services from a server that is external to the plurality of application servers.
14. The method of claim 1 , wherein the logging of the transactional data includes logging events when there is a significant change of state within a transaction.
15. The method of claim 1 , wherein the logging of the transactional data includes logging events when an error is detected at a location in code running on one of the plurality of application servers.
16. The method of claim 1 , further comprising periodically logging heartbeat information from each of the plurality of application servers, the heartbeat information including a number of memory allocations made per unit of time for each of the plurality of application servers.
17. The method of claim 16 , wherein the heartbeat information includes:
statistics regarding a size of each of the number of memory allocation requests; and
an amount of time it takes to perform each of the number of memory allocation requests.
18. A method of monitoring a server environment, the method comprising:
instrumenting each of a plurality of application servers within the server environment, the instrumenting including adding function call codes to application codes on each of the plurality of application servers;
monitoring transactional data on each of the plurality of application servers; and
periodically logging information related to a number of memory allocations made per unit of time for each of the plurality of application servers.
19. The method of claim 18 , wherein the information related to a number of memory allocations made per unit of time for each of the plurality of application servers includes:
statistics regarding a size of each of the number of memory allocation requests; and
an amount of time it takes to perform each of the number of memory allocation requests.
20. A computer-readable device having instructions that, when executed by one or more processors, performs operations comprising:
instrumenting each of a plurality of application servers within the server environment, the instrumenting including adding function call codes to application codes on each of the plurality of application servers;
monitoring transactional data on each of the plurality of application servers;
logging the transactional data on each of the plurality of application servers for additional analysis; and
aggregating, using one or more processors, statistics related to the logged transactional data for each of the plurality of application servers.