This appendix lists and defines the files and directories available in ADP. Topics include:
After ADP is installed, all the components of the application package are located in the EMGC_ADPMANAGER1 directory. This directory is in the GC domain home, for example:
/net/abcdef1234/scratch/jdoe/view_storage/jdoe_aug21/work/user_projects/domains/EMGC_DOMAIN/EMGC_ADPMANAGER1
The path where the ADP Manager is installed is similar to:
/scratch/Middleware0712/gc_inst/user_projects/domains/GCDomain/EMGC_ADPMANAGER1 where domain.home=/scratch/Middleware0712/gc_inst/user_projects/domains/GCDomain and ORACLE_HOME=/scratch/Middleware0712/oms
The directory structure is as follows:
Table A-1 ADP Manager Directories
Directory | Description |
---|---|
bin |
Contains all the executable files to start and stop ADP, run deployer for Agent and ADP EJB, run export utility. |
config |
Contains all the ADP runtime configuration parameters that control execution logic, ADP schemas enablement, ADP GUI functionality, Service Level Objectives definition, export logic and many more. |
deploy |
Contains agent libraries and configuration files, as well as ADP EJB and ADP Admin Web Application. These components are deployed on the remote host (Web or Application servers) using deployer utility found in bin directory of ADP package. |
lib |
Has all the libraries required for ADP's proper functionality |
mcconfig |
Contains internal base instrumentation configuration. Do not modify these files. |
Config directory has many files that potentially can be configured and make ADP to run in a particular way. Any changes applied to files in this directory require restarting ADP 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 ADP configuration file customization of which helps to tune up ADP. |
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 ADP GUI. |
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 ADP Data Repository. |
UrlMap.properties | This file is used to map server addresses to load balancer addresses. By default, this file is not available; it must be created by the user. |
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 ADP GUI (configuration tab).
The /deploy directory contains the ADP Java Agent distributable, 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.
The acsera.properties file contains global configuration parameters that define the operation of the ADP Manager.
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.
One can limit number of domains to be monitored by setting resource limit parameter: ConfigurationManager.ResourceLimit=4
ADP 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 ADP. 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 ADP 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 ADP is running in multi-instance mode, the port number will be different from instance to instance.
ADP 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 = 2d 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
ADP 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 ADP in heavily loaded environments.
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.
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-4 Specifying Which Applications to Monitor
# Control which applications to analyze # ComponentProvider.Application.Exclude=WLI System EJBs,WLI-AI Design-time,B2BDefaultWebAppApplication,WLI Worklist,JWSQueueTransport,Deployer,BEA_WLS_DBMS_ADK, Acsera,ClearApp,HttpDeployer,ServiceBus_Console,em
If there is a firewall between the ADP Manager and the monitored application servers, ports need to be opened between them especially in the case where multiple resources are configured. For example, if two resources are configured and the first one uses 55006 as the port, then the next resource must use 55007 as the port. Each additional resource increments the port by 1.
In addition to the application server's JMX access ports, the following two properties in Acsera.properties indicate the ports used specifically by ADP:
RMI.Registry.Port (51099 by default)
RMI.JavaProvider.ServerPort (55003 by default)
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, ADP provides the SLO Dampening feature. Once enabled, should a SLO violation occur and be repeated several times in a short period, ADP 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 ADP, should fire the SLO notification. By default it is false, for example, fire the notification.
The UrlMap.properties file should be created in the ADP 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