|
|
YOUR FEEDBACK
SOA World Conference
Virtualization Conference $200 Savings Expire May 16, 2008... – Register Today! Did you read today's front page stories & breaking news?
SYS-CON.TV |
TOP THREE LINKS YOU MUST CLICK ON Product Review
Cyanea/One from Cyanea
By: Jason Snyder
Digg This!
Suppose you've developed your suite of applications, standardized to J2EE, and are now awaiting the J2EE benefits for monitoring these applications. You have a consistent series of applications, so adding advanced monitoring capability should be fairly straightforward. Unfortunately, you soon find that frequently this is not the case. Most monitoring applications are built to support a variety of architectures. This may be a strength for some production environments, but as a consequence, these solutions aren't taking advantage of much of what J2EE offers. Cyanea is now a BEA Star Partner and Cyanea/One provides consistent capability for both application servers. Once installed, Cyanea/One provides a suite of features that offer automatic coverage for all of your J2EE applications - no intrusive instrumentation is needed. It also works independently of your J2EE applications so there is no need to modify or even access your application code. And even though you have done nothing to your applications, you have the ability to view them from an enterprise level all the way down to specific method or thread-level detail. I recently had the opportunity to try out Cyanea/One on the BEA WebLogic Server and was fairly impressed. You get a sense of the overall high quality of the product when the initial application overview screen appears. It is a very clean, easyto- read view of all application server groups and their associated volume throughput (see Figure 1). If there is a problem with one of the applications, simply drill down on that application and additional detail is provided. The application server groups can be customized and removed from the view as needed. In addition to volume throughput, you can see the average response time for the group as well as a comparison of that response time to historical performance. It would be nice if additional statistics were available as alternative highlevel application views, but the view gives you enough to know that something could be wrong or that everything is working fine.
![]() Figure 1: Application overview screen I created a problem: a vast number of requests was assaulting the database for the sample application! Sure enough, the application overview showed that there was a problem and I drilled down to determine the problem. The next view, "InFlight Request Search," lists all of the current requests being processed by the application server. You can easily sort it by the total resident time to determine any long-running transactions. Hung transactions or threads are easily called out within this view as well. You can then drill down on the particular thread that interests you and the resulting "Request Detail" provides a summary of the thread, including the last SQL that was run. From there, specific methods can be viewed, and requests can be cancelled or reprioritized. The drill-down capabilities are intuitive and it is fairly easy to determine the cause of most of the problems. The statistics for these views are not configurable, but seem to provide most values that you would need to do standard analysis. For example, at the method level Cyanea shows you the entry/exit points along with corresponding response times and CPU times for that method invocation, in addition to the SQL statements called within that method. Another nice view of an application server or server group is the System Resources overview (see Figure 2). This view provides an easy-tounderstand graphical view of the major components of the application server and allows a quick understanding of possible problem causes. JVM CPU usage, JVM memory usage, database connection pools, and transaction failure values are provided, and each can easily be drilled down for additional detail.
![]() Figure 2: System Resource overview I was really impressed with the variety and usefulness of the standard reports. The reports are built within the overall application paradigm, so drilling down is a standard capability (see Figure 3). Custom reports based on specific metrics can easily be created for possible uses like memory leak analysis, or capacity planning and workload characterization efforts. Another reporting feature I liked was the ability to e-mail any report in PDF format. As anyone who has been on late night call can attest, nothing beats the ability to see the data instead of having support describe the situation.
![]() Figure 3: Drilling down into the application The same reporting area, "Performance Analysis and Reporting," allows access to historical information. Historical transactional data is stored at the detail level using unique instances of each request, not an aggregate thereof. The user can define what is stored. All requests against all servers can be stored, but it is generally recommended that only a certain percentage be saved. Each customer can specify the specific percentage based on server status. In the current version, this percentage is a global setting; the next release (2.1) provides a percentage setting for each server and is shipping now. In addition, server availability, transaction throughput, and response times are continuously monitored against historical performance and can be graphically displayed. A related feature is called "Monitoring on Demand" and provides a variable server monitoring level to minimize impact. When everything is running smoothly, less information needs to be persisted than when there are known problems. Another useful area is the Server Statistics overview that allows you to display customizable metrics for particular servers of interest, as well as select thresholds that can visually alert you when they are exceeded. Other thresholds can be set with the Traps and Alerts area that can notify you if a customizable system or application condition is met. You can trap not only for "standard" events such as heap size utilization or DB connection pool percentage, but also for application-specific events such as "request A is hung for more than x seconds" or "method y is invoked more than z times in a single request." It is important to note that Cyanea does not support standalone Java applications (non- J2EE) at this writing. The next version will display non-J2EE threads that are started by J2EE applications, but the reality is that Cyanea is a J2EE application monitoring solution. Conclusion Cyanea/One also provides a thin-client interface, advanced memory/heap analysis features, granular historical data collection, and the ability to change the monitoring scope at a JVM level dynamically, and to do so without having to restart the app server. It truly is a complete J2EE application monitoring solution. Licensing Info: System Requirements: Managed Servers: BEA WEBLOGIC LATEST STORIES
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK BREAKING NEWS FROM THE WIRES
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||