A Configuration Directories and Files

This appendix lists and defines the files and directories available in CAMM. Topics include:

A.1 Configuration Directories

After CAMM is installed all the components of the application package are located in $CAMM_HOME directory.

A.1.1 Directory Structure

The following is the $CAMM_HOME directory structure once CAMM is installed:


-apache-tomcat-5.5.20
-bin
-config
-darchive (created when manager first discovers monitored application servers)
-deploy
-j2sdk
-lib
-log
-mcconfig
-tmp
-uninstall Oracle Composite Application Monitor and Modeler
-userdata

Table A-1 Directories in $CAMM_HOME Directory

Directory Description

apache-tomcat-5.5.20

Tomcat server where CAMM Web Application (GUI) is located

bin

Contains all the executable files to start and stop CAMM, run deployer for Agent and CAMM EJB, run export utility.

config

Contains all the CAMM runtime configuration parameters that control execution logic, CAMM schemas enablement, CAMM GUI functionality, Service Level Objectives definition, export logic and many more.

darchive

Stores temporary images for J2EE applications that need to be monitored as well as the results of analysis and modeling of the J2EE application. This directory is created once CAMM is up and running.

deploy

Contains agent libraries and configuration files, as well as CAMM EJB and CAMM Admin Web Application. These components are deployed on the remote host (Web or Application servers) using deployer utility found in bin directory of CAMM package.

j2sdk

Contains minimum Java SDK sufficient to run CAMM Server.

lib

Has all the libraries required for CAMM's proper functionality

log

Has all the diagnostics records of CAMM performance metrics collection activities. Also logs indicating successful deployment of CAMM Agents can be found here. This directory is created once CAMM is up and running.

mcconfig

Contains internal base instrumentation configuration. Do not modify these files.

tmp

Contains all the metadata definitions used for CAMM's needs.

Uninstall CAMM

Contains utility used to uninstall the CAMM.

userdata

Contains saved custom views per user.


A.1.2 Config Directory

Config directory has many files that potentially can be configured and make CAMM to run in a particular way. Any changes applied to files in this directory require restarting CAMM server.

Most of the files never get touched directly by user. The following are the main three files which can be configured manually to achieve desired effect:

File Description
Acsera.properties This file is the main CAMM configuration file customization of which helps to tune up CAMM.
configuration.xml In this file you define location of Administration Server and credentials to access it. Usually you do not touch this file. The entire configuration is done through CAMM GUI.
dbconfig.xml This file contains database configuration information for the CAMM metric repository.
export.xml This file contains information that drives proper data export logic. It is used for manual and automatic export of performance metric and events data from the CAMM Data Repository.
UrlMap.properties This file is used to map server addresses to load balancer addresses.

It is worth mentioning that Service Level Objective definitions and Actions associated with the SLOs are described in slo.xml and event.xml respectively. The content of these files is completely controlled by definitions applied from CAMM GUI (configuration tab).

A.1.3 BIN Directory

The /bin directory has all the executable files to start and stop CAMM, run deployer for Agent and CAMM EJB, run export utility.

There are two main reasons why one would need to customize the content of the files in this directory:

  • To change the pointers to the location of Java Runtime Environment and CAMM installation directory (ACSERA_HOME)

  • To configure CAMM Server JVM parameters, e.g. memory.

Only the files that are frequently customized will be described in this chapter.

All the files in this directory should have these lines, pointing to the CAMM Installation location:

For UNIX: ACSERA_HOME=/home/CAMM; export ACSERA_HOME

For Windows: set ACSERA_HOME=C:\oracle\em10g\

In addition, acseraenv.sh(.bat) should have a pointer to the JDK used by CAMM:

  • For UNIX: JAVA_HOME=/home/oracle/em10g/j2sdk;export JAVA_HOME

  • For Windows: set JAVA_HOME=C:\oracle\em10g\j2sdk

CAMM is a Java application and runs in its own JVM. Default size of JVM memory is 600 MB. Should you want to change this value you can do so by modifying -Xms and -Xmx parameters in acsera.sh (.bat) file.

Bear in mind that if you have installed CAMM as a Windows service and need to change the JVM Memory size, you need to change the size either by updating the Windows Registry or rerunning the createmanagerservice.bat utility with the new JVM parameters.

A.1.4 Deploy Directory

The /deploy directory contains CAMM Java Agent and OS Metric Agent distributables, including configuration files as well as corresponding libraries. These files are copied to the target systems hosting the Managed Servers when running the deployer utility. Rarely one needs to modify configuration files in this directory. Remember though if you modify the files they will be distributed to ALL targets within single server/cluster.

A.1.5 apache-tomcat-5.5.20 Directory

The /apache-tomcat-5.5.20 directory has the same structure and content as the standard Tomcat distributable. One interesting point about it is that CAMM GUI application acseraadimn.war is residing in em10g/apache-tomcat-5.5.20/webapps directory.

A.2 Acsera.properties File

The acsera.properties file contains global configuration parameters that define the operation of the CAMM Manager.

A.2.1 Log Files Management

This section of Acsera.properties file defines log rotation policies. Log.MaxFiles indicates max number of log files available at any given moment, whereas the Log.MaxFileSizeMB indicates maximum size of the log file.

Example A-1 Log Files Management Section

Log.CopyOut = false
Log.MaxFiles = 10
Log.MaxFileSizeMB = 30
Log.MergeLogs = true
 
Debug.CopyOut = false
Debug.LogLevel = all
Debug.MaxFiles = 10
Debug.MaxFileSizeMB = 30

Log files are stored in the log directory.

A.2.2 Security Features Configuration

This section enforces the password policies and the CAMM user session time out.

A.2.2.1 User Password Management

The following are the parameters to enforce password policies:

  • length

  • expiration

  • complexity

  • allowed special characters

Example A-2 User Password Management

ConfigurationManager.PasswordMinLength=0
ConfigurationManager.PasswordMaxLength=0
ConfigurationManager.PasswordExpDays=
ConfigurationManager.PasswordMinLetters=0
ConfigurationManager.PasswordMinDigits=0
ConfigurationManager.PasswordMinSecialChars=0
ConfigurationManager.PasswordSecialCharSet=!@#$%^&*()_+[]

The default is no length or complexity or expiration day limitation.

  • Password length control equal to 0 means no restriction. Any other number, we will check for min and/or max length.

  • Password expiration - if any number set then the password will expire after the specified days.

  • Password complexity - forces to check letter, digits, and special characters. Default is no complexity check. If you set any number on any of these properties, CAMM checks complexity. For example, PasswordMinLetters=2 means you must have at least 2 letters in your password.

For special characters checking, there is a list of default special characters. This is configurable.

A.2.2.2 CAMM User Session Time Out

CAMM User Session can be set to time out after a specified time.

Example A-3 CAMM User Session Time Out

# ConfigurationManager.SessionTimeout's unit is minutes.
ConfigurationManager.SessionTimeout=10

The default is 10 minutes, which means that after 10 minutes of no activity on the applet the applet will close automatically and redirect the user back to the login screen.

A.2.3 Multi-Domain Monitoring Configuration

One can limit number of domains to be monitored by setting resource limit parameter: ConfigurationManager.ResourceLimit=2

Example A-4 Multi-Domain Monitoring Configuration

ConfigurationManager.ResourceLimit=2

The default is 2, this means that by default CAMM is set to monitor no more than two Application Server domains.

A.2.4 CAMM RMI Port Assignment

CAMM uses RMI ports for communication with the agents and collects incoming performance metrics from a particular RMI port. By default, the RMI port is set on the same machine that hosts CAMM. RMI.Registry.Host needs to be un-commented and have a value other than localhost if the host is multi-homed (such as, many network interfaces or has any ipv6 addresses) and you need to make sure that CAMM listens to the incoming traffic on the particular interface.

You may need to change RMI.Registry.Port value in case the default 51099 port number has been allocated to an other application. Also if CAMM is running in multi-instance mode, the port number will be different from instance to instance.

Example A-5 CAMM RMI Port Assignment

#RMI.Registry.Host = localhost
RMI.Registry.Port = 51099
RMI.Registry.UseExternal = false  [NK- what exactly this means?]

A.2.5 CAMM Aggregation and Data Life Time Configuration

CAMM has sophisticated multi-tiered logic for aggregation (or compression) of performance data. This helps to optimize performance of interaction with the internal data repository both when querying data for presentation or inserting new performance metrics.

Users who want to store longer term data should look for this section in Acsera.properties:

#########################
# Production setting
# NOTE: use Model.GlobalSamplingRateSecs to configure Metric.Grain.0
#########################
Metric.Grain.0 0s
Metric.TableInterval.0 = 4h
Metric.DataLife.0 = 8d

Metric.Grain.1 = 3m
Metric.TableInterval.1 =1d
Metric.DataLife.1 = 8d

#Metric.Grain.2 = 30m
#Metric.TableInterval.2 = 7d
#Metric.DataLife.2 = 420d

and uncomment the last 3 lines for the Metric.*.2 properties

A.2.6 Aggregating Incoming Metrics On the Fly

CAMM by default aggregates data coming from multiple cluster members by application thus minimizing rate of insertion in to the data repository. This greatly improves performance of CAMM in heavily loaded environment.

As a side effect of this approach though, the user is unable to see metrics from instrumentation (processes and portals) on per server level. If you need to enable this then set the JavaMIP.AggregateInserts to false.

A.2.7 Configuring List of Applications To Be Monitored or Excluded From Monitoring

To avoid overhead of unnecessary monitoring of certain applications, you can explicitly state which applications to monitor, or which applications to exclude from monitoring.

Users should append the name of their application to the property ComponentProvider.Application.Exclude.

Example A-6 Specifying Which Applications to Monitor

# Control which applications to analyze
#
ComponentProvider.Application.Include=
ComponentProvider.Application.Exclude=WLI System EJBs,WLI-AI Design-time,B2BDefaultWebAppApplication,WLI Worklist,JWSQueueTransport,Deployer,BEA_WLS_DBMS_ADK,Acsera

A.2.8 Firewall Mitigation (for Internal RMI Ports)

If there is a firewall between the CAMM Manager and the monitored application servers, ports need to be opened between them. In addition to the application server's JMX access ports, the following two properties in Acsera.properties indicate the ports used specifically by CAMM:

  • RMI.Registry.Port (51099 by default)

  • RMI.JavaProvider.ServerPort (55003 by default)

A.2.9 SLO Dampening

There are times when you deliberately want to cut down on the number of repeated notifications should SLO violation persist for a given period of time. To suppress notifications of the same violation in a short period of time, CAMM provides the SLO Dampening feature. Once enabled, should a SLO violation occur and be repeated several times in a short period, CAMM will not fire the SLO violation notification for the time period defined in SLO.RearmDelay. To disable this feature, set the value of this parameter to 0.

SLO.SuppressDelayedAsserts indicates that if the violation still persists upon time period expiry CAMM, should fire the SLO notification. By default it is false, for example, fire the notification.

Example A-7 SLO Dampening

# The following property is specified in units of
# minutes (m), hours (h) or days (d)
SLO.RearmDelay = 15m
SLO.SuppressDelayedAsserts = false

A.3 UrlMap.properties

The UrlMap.properties file should be created in the CAMM Manager's config directory and used to provide address mappings between load balancers and application servers. The format of this file is:

# Format:
#    $app_server_ip = $load_balancer_id
# E.g:
#    http\://localhost\:7001 = http\://localhost\:7005
#
# Note: ":" character need to be escaped with "\"
#
http\://192.168.128.53\:7002 = http\://192.168.3.187\:80
http\://192.168.128.53\:7003 = http\://192.168.3.187\:80
http\://192.168.128.54\:7005 = http\://192.168.128.54\:7011
http\://192.168.128.54\:7006 = http\://192.168.128.54\:7011