Thursday, July 31, 2008

I got some queries about viewing specific targets from EM Grid Control. For example, you manage/monitor several targets such as databases, application servers, applications, etc from your Grid Control environment and there are different administrators for each of the targets. As an administrator you are responsible for only few targets. For example you are only responsible for few WebLogic servers and you want to view/monitor only those targets from Grid Control. How do you do that?

It’s simple - you have to create a user that has access to only the targets you are interested. Thankfully Grid Control provides role-based access control that you can use for this purpose. Let me assume that you want to create a user named weblogic that has access to only few WebLogic servers and let me walk you thru how to achieve this.

Create an EM user and assign Targets

1. Logon as a super administrator and create a user named weblogic and at step 4 of the user creation, select the targets the users should have access to.

2. You can assign specific privileges on the target e.g. Operator, Full or Viewer as shown below.

3. After you logon as weblogic user and you will see that home page for weblogic users only shows only the number of targets this user has privileges.

Grid Control will show only the Weblogic Servers that the user has privileges.

Customizing the data you want to view

Also as an administrator you want to customize the above view. Click on Customize Table Columns link under the Related Links section and you will get the following screen:

Select the columns/data that you wanted to view and click OK and you will get a customized view as follows:

Thursday, July 24, 2008

Even well tested applications may have problems once they go live. More often application problems lead to loss of business. It is really an uphill task to diagnose application problems in real time. Most Java/J2EE diagnostic tools available in the market fail to meet requirements to troubleshoot problems real time.

Some of the common reasons are:

Performance overhead is high

They enforce application downtime,

Require changes to application binaries

Complexities in install and deployment

One of common problems in these tracing tools are that they work in Silos and – cannot trace transactions across tiers i.e. from application server to database.

Most commercial applications use a database as the persistence store and the database can often be source of the problem. Unless you address all of these issues you can’t have a product that can be used in production environment.

Usually one of the following techniques are used to debug or profile the JVM and application.

Byte code instrumentation (BCI)

Aspect oriented programming (AOP)

JMX

JMVTI

These tools have several drawbacks. BCI and AOP can provide you granularity but are very complex to write but need server restart or redeployment of application. JMX can provide profiling but is not useful in diagnosis. It does not give code level details. JVMTI has overhead of around 10% and that too needs JVM restart. Also these tools are silo oriented, they don’t provide cross tier visibility. Installation and deployment of these tools is complex. All these limitations make them ‘developer tools’.

Fortunately Oracle AD4J (application diagnostics for Java) addresses all of the above-mentioned issues making it perfect for diagnosing production issues of Java application. The most prominent features of AD4J are that it has overhead of less than 1% and it is hot deployable. By hot deployable, I mean it does not require any application changes or server restart. AD4J achieves this by installing an agent (which is a WAR) file that directly readsmetrics/data from JVM s using native calls making it really lightweight.

The other feature that separates AD4J from other tools is its ability to follow transactions from application to database and vice a versa. There are several other features that make AD4J only and the most effective solution for monitoring j2ee applications in production environment.

Real time visibility of code and application state

Differential memory analysis and finding memory leaks

Interactive transaction trace

Request performance breakdown by tier, JSP, EJB, JDBC and SQL

Trace in-flight transactions

System monitoring and reporting

These features make it possible for users to find variety of problems in J2EE applications. Most typical scenarios where people use AD4J are

Page hang

Slow performance

Memory leaks

Find out slowest requests and their root cause

You can download AD4J from here.I will write a series of articles explaining the features in details and how to install it.

Wednesday, July 23, 2008

It’s very strange that many people still think Oracle to be database company even after it has acquired PeopleSoft, Siebel, Retek, BEA and many more :) In a similar vain, it is surprising that many people think Oracle Enterprise manager Grid Control can only manage databases and to find out that many people are still not aware about middleware management offerings from Oracle. Beside the Application Server Control that ships with Oracle Application Server, Oracle offers a rich set of management functionalities with Oracle Enterprise Manager Grid Control for managing application servers, SOA and Identity management components, enterprise java and composite applications. In this blog, I will introduce the middleware management functionalities offered by Oracle.

Oracle offers several packs or add-ons and plug-ins for middleware management with Grid Control that enables administrators to do their jobs better. These include management packs such as Diagnostics, Configuration Management, Provisioning and SOA, Identity Management and Business Intelligence. Most of these packs are available for both Oracle and non-Oracle middleware. The following table gives a quick overview of EM packs.

It is separate product suite that helps improve quality, scalability, and availability of applications

The Application Server Diagnostics pack allow you to diagnose problems in your production Java applications deployed either in Oracle Application Server 10g or Oracle WebLogic Server. Oracle Application Diagnostics for Java (AD4J) is part of this offering. You can use this tool to diagnose problems in Java applications running on non-Oracle middleware such as IBM Websphere, JBoss Application server, Tomcat, etc.

The application server configuration management pack allows you to collect application server configuration information and compare between versions or servers and detect changes between versions. It also allows you tocomply with the regulations and industry standards like Sarbanes-Oxley and Information Technology Infrastructure Library (ITIL). The configuration pack is available for both Oracle and non-Oracle middleware.

The application server provisioning pack allows you automate several mundane tasks such as installation of application server software, applications and patching of application servers.

If you use SOA in your enterprise then Grid Control SOA management pack makes management of your BPEL infrastructure seamless. It allows you to monitor availability and performance BPEL PM, BPEL Processes and partner links. It also provides integration with Oracle BAM.

The service level management pack allows you to define system/business services and service level agreements and then allows you to monitor service availability, performance, usage and service level compliance.

Oracle also provides several plug-ins for several non-Oracle middleware such as IBM Websphere, JBoss, Tomcat, Microsoft IIS, BizTalk, etc. You can find more about the plug-ins athttp://www.oracle.com/technology/products/oem/extensions/index.html.

Oracle Real User Experience Insight enables enterprises to maximize the value of their business critical applications by delivering insight into real end user experiences. The distinct features that UXInsight provides are real user monitoring, application performance monitoring, service level management and usage analytics.

Oracle’s Application Quality Management solutions allow you to deploy higher quality applications with less cost and effort. They ensure the quality, scalability, and availability of packaged, Web and service oriented architecture based applications and their underlying infrastructure by enabling you to thoroughly test them. The Application Quality Management solutions consist of three distinct offerings:

Oracle Application Testing Suite

Oracle Real Application Testing

Oracle Enterprise Manager Data Masking Pack

Essentially you can monitor your complete applications infrastructure using Oracle Enterprise manager. To learn more about these products visit

http://www.oracle.com/technology/products/oem/. You can also download trial versions of these product offerings from OTN.

We are working to add functionality to improve management for WebLogic servers and other aspects of middleware that we acquired from BEA.