wlmwlsdc(1M)wlmwlsdc(1M)
ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
NAMEwlmwlsdc - HP-UX WLM data collector for gathering WebLogic Server Man‐
agement Bean (MBean) information
SYNOPSISwlmwlsdc properties_file [posix_sh_setup_file]
OPTIONS
properties_file
Java properties file to specify WebLogic instance-specific
settings. For possible settings, see the file description below.
posix_sh_setup_file
File with environment variable settings for nonstandard
JAVA and WebLogic Server settings. This file can
be used to set $WL_HOME, $JAVA_HOME, and similar
settings often handled in WebLogic by setEnv.sh files.
DESCRIPTIONwlmwlsdc is a simple WLM data collector that collects WebLogic MBean
information for use by WLM in assessing CPU resource needs. wlmwlsdc
prints the desired metric to stdout every interval seconds, where
interval is defined in a properties file, which is described below.
With wlmwlsdc printing to stdout, you can invoke it on the command line
and pipe its output to the wlmsend utility or invoke it using wlmrcvdc
in a WLM configuration file. Either way, WLM gets the data it needs to
determine whether a change in CPU resources is required.
properties_file
The file containing instance-specific WebLogic properties, used to ini‐
tialize the MBean collection Java classes.
There is no set name for this file. The example below has a properties
file named myinstance.props.
A properties file can have the following components:
com.hp.wrm.tk.debug = integer
com.hp.wrm.tk.iterations = integer
com.hp.wrm.tk.interval = integer
com.hp.wrm.tk.weblogic.instance = string
com.hp.wrm.tk.weblogic.username = string
com.hp.wrm.tk.weblogic.password = string
com.hp.wrm.tk.weblogic.url = string
com.hp.wrm.tk.weblogic.queue = string
com.hp.wrm.tk.weblogic.queue_metric = string
com.hp.wrm.tk.weblogic.queue_depth_multiplier = double
com.hp.wrm.tk.weblogic.idle_thread_multiplier = double
These components are described below.
com.hp.wrm.tk.debug = integer
Sets the debug output level for the data collector. All debug out‐
put is printed to stderr. The levels are as follows:
0 no debug output
1 print datacol metric value and name each interval
2 print the datacol properties at startup
5 print internal datacol values and settings each interval
8 print java exception messages after any wlmwlsdc errors
or warnings
10 (10 and higher) print datacol data specific to a particular
application (such as WebLogic) and are intended for
developer use only.
All debug messages for the specified level and lower are printed.
For instance, com.hp.wrm.tk.debug=5 would print all messages for
level 0 through 5.
Default: 0
com.hp.wrm.tk.iterations = integer
Sets the number of times the data collector will collect measure‐
ments from the WebLogic instance before exiting.
Default: -1, which causes the data collector to loop forever.
com.hp.wrm.tk.interval = integer
Sets the time interval in seconds at which the data collector will
collect measurements from the WebLogic instance.
Default: If the WLM_INTERVAL environment variable is set, that
value is used as a default. If the environment variable is not set,
the default is 60.
com.hp.wrm.tk.weblogic.instance = string
Sets the name of the instance to which wlmwlsdc will connect. It
serves a purpose similar to the weblogic.Name weblogic.Server prop‐
erty.
Default: 'admin'
com.hp.wrm.tk.weblogic.username = string
Sets the username with which wlmwlsdc will connect. It serves a
purpose similar to the weblogic.management.username weblogic.Server
property.
Default: 'system'
com.hp.wrm.tk.weblogic.password = string
Sets the password with which wlmwlsdc will connect. It serves a
purpose similar to the weblogic.management.password weblogic.Server
property.
Default: 'weblogic'
com.hp.wrm.tk.weblogic.url = string
Sets the URL wlmwlsdc will use to form a connection with the
instance.
The URL takes the form:
protocol://hostname:port
Most instances will require the user to set some element of this
URL. Some examples are 't3://myhost.mydomain.com:8002' and
't3://someothermachine:9001'. These should match the hostname and
port specified in the instance config.xml file.
Default: 't3://localhost:7001'
com.hp.wrm.tk.weblogic.queue = string
Specifies the name of the WebLogic execution queue wlmwlsdc will
monitor.
Default: 'default'
com.hp.wrm.tk.weblogic.queue_metric = string
Specifies the name of the metric wlmwlsdc will compute and send to
wlmd. The valid choices are: queue_busy, queue_depth, or
idle_thread_count.
Queue_depth is the number of requests currently waiting to be exe‐
cuted by one of the queue's threads. Similarly, the
idle_thread_count metric is the number of idle threads assigned to
the instance's execution queue. At a given instant in time, there
may be either idle threads or a queue depth but not both. Both
queue_depth and idle_thread_count are retrieved directly from the
instance via JMX calls to the instance MBeans.
Queue_busy, the default data collector metric, is derived from the
queue_depth and idle_thread_count metrics. It provides a single
metric that can be used in SLO conditions to detect both 'more
resource is needed' conditions where a queue_depth is nonzero, or
'less resource is needed' conditions where idle_thread_count is
nonzero.
Here is the formula for queue_busy:
queue_busy =
(queue_depth_multiplier * queue_depth) -
(idle_thread_multiplier * idle_thread_count)
The queue_busy will swing positive when work is queued up
(queue_depth nonzero) and negative when less work is available
(idle_thread_count is nonzero). The queue_depth_multiplier and
idle_thread_multiplier are constants that can be used at data col‐
lector startup time to 'trim' the formula.
Default: 'queue_busy'
com.hp.wrm.tk.weblogic.queue_depth_multiplier = double
Specifies a constant by which to multiply the measured queue_depth
before it is blended into the queue_busy equation (and sent to
wlmd.) It is not used if queue_depth is the queue metric being
computed.
Default: 1.0
com.hp.wrm.tk.weblogic.idle_thread_multiplier = double
Specifies a constant by which to multiply the measured
idle_thread_count before it is blended into the queue_busy equation
(and sent to wlmd.) It is not used if idle_thread_count is the
queue metric being computed.
Default: 1.0
posix_sh_setup_file
The file containing instance-specific JVM location or WebLogic library
location variables or arguments. You can set any of the following envi‐
ronment variables in this file:
$JAVA_HOME = string
Specifies the home directory of the Java virtual machine to run
($JAVA_HOME/bin/java). Set this variable to the same value that is
used for the WebLogic Server instance.
Default: /opt/java1.3
$WL_HOME = string
Specifies the home directory of the weblogic.jar file to use
($WL_HOME/server/lib/weblogic.jar). Set this variable to the same
value that is used for the WebLogic Server instance.
Default: /opt/bea/weblogic700
$JAVA_OPTIONS = options
Specifies Java command-line options that are to be passed directly
as arguments to the JVM started (via exec) by wlmwlsdc.
Default: '' (null)
$JAVA_VM = mode
Specifies the mode (either -server or -client) in which the JVM is
to run. This variable is passed directly as an argument to the JVM
started (via exec) by wlmwlsdc.
Default: '' (null)
The posix_sh_setup_file mimics the use of the environment variables
from the relevant parts of the WebLogic scripts startWeblogic.sh and
startManagedWeblogic.sh. As a result, it provides flexibility for cus‐
tom settings and installation locations.
There is no set name for this file, but many users may wish to use
their WebLogic instance setEnv.sh file or a similar file. The example
below has a properties file named setEnv.sh.
IMPORTANT SECURITY NOTICE: The contents of the posix_sh_setup_file will
be executed by user root. Be sure to test the contents of the file and
set suitable file permissions. A warning is printed to stderr if
wlmwlsdc is run as root and the posix_sh_setup_file is writable by a
user other than root.
Also, to help guard against execution of an incorrect posix_sh_set‐
up_file, if the posix_sh_setup_file is specified with no directory pre‐
fix, a './' is added. So, if you enter a command like
/opt/wlm/toolkits/weblogic/bin/wlmwlsdc myprops my_sh_file
wlmwlsdc will actually search for and execute
/opt/wlm/toolkits/weblogic/bin/wlmwlsdc myprops ./my_sh_file
It is recommended that you use an absolute path to the posix_sh_set‐
up_file when executing wlmwlsdc in a script or by hand. An absolute
path is mandatory when executing a posix_sh_setup_file from a WLM con‐
figuration file. See the EXAMPLES section below for a posix_sh_set‐
up_file example.
Output
The output of wlmwlsdc is a column of floating-point numbers, with a
new value released each interval seconds.
Errors
Errors are reported via stderr, and a nonzero exit code.
syslog entries
When you use setEnv.sh, or a similar script with wlmwlsdc, warnings
about nonnumeric data will be generated in syslog when the WLM daemon,
wlmd, starts. Some example warnings:
Feb 4 19:11:29 samples_host HP WLM coll: Warning: Nonnumeric value
'SHLIB_PATH=.:.:/opt/bea/weblogic700/server/lib/hpux11:
/opt/bea/weblogic700/server/lib/hpux11/oci817_8' ignored
Feb 4 19:11:29 samples_host HP WLM coll: Warning: Nonnumeric value
'CLASS‐
PATH=/opt/bea/jdk131_03/lib/tools.jar:/opt/bea/weblogic700/server:
/opt/bea/weblogic700/server/lib/weblogic_sp.jar:
/opt/bea/weblogic700/server/lib/weblogic.jar:.:.' ignored
Feb 4 19:11:29 samples_host HP WLM coll: Warning: Nonnumeric value
'PATH=/opt/bea/weblogic700/server/bin:/opt/bea/jdk131_03/jre/bin:
/opt/bea/jdk131_03/bin:/opt/bea/weblogic700/server/lib/hpux11:
/usr/sbin:/usr/bin:/bin' ignored
Feb 4 19:11:29 samples_host HP WLM coll: Warning: Nonnumeric value
'Your environment has been set.' ignored
You can safely ignore these messages. The setEnv.sh script is communi‐
cating what it is doing. However, wlmwlsdc expects numeric data and
consequently prints warnings. wlmwlsdc is functioning normally.
EXAMPLES
Example
Here is an example of driving an HP-UX WLM metric, my_metric, using
wlmwlsdc to retrieve the queue_depth of a single WebLogic instance
myinstance. The setEnv.sh file contains instance-specific JVM settings
and environment variables such as $WL_HOME, and the myinstance.props
file contains properties of the particular instance, such as username,
password, and URL.
Note that the cntl_smooth keyword is then used to smooth out spikes or
dips.
tune my_metric {
coll_argv =
wlmrcvdc
/opt/wlm/toolkits/weblogic/bin/wlmwlsdc
/home/wlm_admin_home/wlm/myinstance.props
/opt/bea/user_projects/mydomain/setEnv.sh
;
cntl_smooth = 0.5 ;
}
RETURN VALUEwlmwlsdc returns exit status 0 if no errors occur, or 1 if there are
errors.
AUTHORwlmwlsdc was developed by HP.
FEEDBACK
If you would like to comment on the current WLM Toolkits functionality
or make suggestions for future releases, please send email to:
wlmfeedback@rsn.hp.com
Version information
@(#) HP WLMTK A.01.10.01 (2006_11_05_16_54_54) hpux_ipf
SEE ALSOwlm(5), wlmtk(5), wlmoradc(1M), wlmd(1M), wlmrcvdc(1M), wlmsend(1M),
smooth(1M), expsmooth(1M)
Using HP-UX Workload Manager with BEA WebLogic Server (/opt/wlm/tool‐
kits/weblogic/doc/weblogic_wlm_howto.html)
HP-UX Workload Manager Toolkits User's Guide (/opt/wlm/tool‐
kits/doc/WLMTKug.pdf)
http://www.hp.com/go/wlm WLMTK updates and information
The data collector metrics are derived from the ExecuteQueueRuntimeM‐
Bean, which provides management of the ExecuteQueue and is described in
the WebLogic Server 7.0 API Reference and the WebLogic Server Configu‐
ration Reference.
http://e-docs.bea.com/wls/docs70 (WebLogic documentation, including the
WebLogic Server 7.0 API Reference and the WebLogic Server Configuration
Reference)
wlmwlsdc(1M)