Sunday, 27 March 2011

EPM 11.1.2 – 404 Issue

Recently I have being working on a project where we were occasionally being hit with various web applications producing 404 errors for no apparent reason, once the issue had occurred the only way to resolve was to restart the web app.

There seemed to be no correlation with activity on the web application and the issue occurring, it was also affecting different products at different times. In the end the problem was traced back to the WebLogic web applications trying to access temporary files that no longer existed, the files were created when the web app was started up but for some reason were being deleted at random intervals.

This issue will only affect windows deployments and the reason for it happening is when the web applications are first deployed they are configured to use a temporary directory associated with the windows account that is carrying out the configuration.

Now the problem doesn’t occur just because of the temporary directory, the issue occurs when a remote desktop session is used to connect to the machine hosting the web apps and the same account is being used that deployed the EPM web applications, occasionally when the user logs out of the machine windows cleans up any temporary files that are associated with the account so this wipes out all the temporary files being used by WebLogic causing the web applications to fail.

There are a few ways to resolve this problem, the easiest being just don’t log into the machine using the account that configured the system, another is to change the configuration settings for terminal services and turn off the deletion of temporary files on exit or my personal preference is to go through the registry and update the temporary file location that is being used for each deployed web application.

This can be done by starting up the registry editor and locating
HKEY_LOCAL_MACHINE\SOFTWARE\Hyperion Solutions\<web application>0

On selecting one of the web applications there will be
“-Dweblogic.j2ee.application.tmpDir=…” usually associated with JVMOption3

Update the folder location to a permanent folder, an example permanent location that could be used is
<Middleware Home>\user_projects\domains\EPMSystem\servers\<WebAppName>\tmp

Repeat the process for each of the deployed web applications; once the registry changes have been made the web application will need to be restarted to take effect. I am sure this issue will be fixed in the imminent release of as it is a known issue but I thought I would put a quick post out there just in case there are others that are hit with this problem and search for a resolution.

Sunday, 13 March 2011

EPM 11.1.2 – Monitoring web applications

Now you may not be aware that EPM 11.1.2 includes Enterprise Manager Fusion Middleware Control, this is a web based management system which can monitor the availability and performance of all the Java Web Applications across the EPM environment, plus it only requires minimal configuration to get up and running with it.

Maybe I have not paid too much notice in the past but I wasn’t aware this was included within the EPM installation and only really stumbled across it.

I am going to briefly go through the steps required to get started with it, all the configuration is done on the machine where foundation services has been installed, the foundation machine typically hosts the WebLogic admin server and by extending the WL domain it is possible add the Middleware Control components.

In the <Middlewarehome>/oracle_common/common/template/applications folder there should be a file named oracle.em_11_1_1_0_0_template.jar, this is an extension template for WebLogic which adds in the Enterprise Manager Fusion Middleware Control functionality.

Before starting make sure the WebLogic admin server is not running and then launch the WebLogic configuration wizard which is available at <Middlewarehome>/wlserver_10.3/common/bin/config.cmd or .sh

Select “Extend an existing WebLogic domain”

Select the WL Domain the default name for 11.1.2 is EPMSystem and will be situated at <Middlewarehome>/user_projects/domains

The products that have already been installed in the EPM environment will determine which templates already installed and available, select the “Oracle Enterpise Manager –” option.

Accept the defaults on the Domain Name and Location screen.

On the Configure JDBC Data Sources screen just click Next as there is no need to change any of the connection information.
The next screen will just run through all the JDBC connections and check they are valid.

You may be presented with the above screen depending on what has been installed in the environment, the section is for configuring JBDC connection details for Oracle Web Services Manager (OWSM), and this is usually part of the SOA suite.

Unfortunately it is not possible just to click next as it will complain about a password, now you have two options either put in a fake password and click passed the warning or actually create a schema and fill in all the details.

I opted for the easy option and accepted the error as it is not important.

No need to do anything on the Optional Configuration screen just click Next

Select Extend to install the Middleware Control component.

When the configuration has completed start up the EPMSystem WebLogic Admin Server.

The EM Middle Control is available on http://<admin_server_machine>:<admin_server_port>/em. The default port for the admin server is 7001. The login details are the same as used for the admin server, these are entered when the EPM system is originally configured, the username will most probably be epm_admin

Once logged in you are presented with stats for the web applications in the EPM environment, instantly you can see the number of applications that are up or down and their CPU usage.

Selecting one of the web applications will take you to a screen with more detailed information for the selected app.

The first time you select a web application you will be advised that most of the monitoring functionality is unavailable until you apply a JRF template, once applying the template the web application will need to be restarted.

It is possible to restart the web application from within the console.

It can be achieved by either going to WebLogic Server > Control > Start up / Shut Down

Or by selecting Farm > Select “Create/Delete Components”

From this page you can restart all the web applications in the domain (providing the node manager is running) which is useful functionality as it saves having to logic into the admin console.

Now the JRF template has been applied and the web application restarted full monitoring should be available, I did encounter an issue at this point with the planning web application, the console said Planning was down even though it was running without any issues; the planning log also contained the following.

I didn’t get any issues applying the JRF to the other web application in the domain, maybe it was just an issue with the environment I am testing this on, when I get a chance I will have to check on another install to see if is a common fault.

For each web application there is detailed analysis of various metrics available from CPU Usage to response times of individual JSPs.

There are many further options available from the WebLogic Server drop down.

Detailed breakdown of the various logs for each web application are available, this includes enhanced search functionality and the ability to view different types of messages so for instance it is possible to only view Errors or Warnings.

Selecting Performance Summary from the dropdown provides graphical information on different metrics; the time of analysis can easily be changed to look at different start/end times.

There are a huge number of different metrics that can be selected and analysed from the Metric Palette.

Lots more functionality is available within the application but I am going to leave it there for today, if you want detailed information then the documentation is available at :-

The Enterprise Manager Fusion Middle Control is a powerful lightweight application and definitely worth exploring in more detail if you want to monitor the Java based web applications across the EPM environment.