Oracle WebLogic (Linux)
The Oracle WebLogic plugin for Linux allows you to monitor a number of performance and availability metrics for your WebLogic application server. If you can not find this plugin in the /usr/lib/fm-agent/plugins folder, then your version of the Agent is out of date and you should update it to gain access to this feature.
Oracle WebLogic Configuration
Once you install the agent you will need to add your WebLogic username, password, and WebLogic home to the /etc/fm-agent/fm_agent.cfg file as shown below:
[weblogic]
username = weblogic
password = password123
wl_home = /opt/oracle/Oracle/Middleware/Oracle_Home/wlserver
Control Panel Configuration
First, select Oracle WebLogic from the catalog.
There are a number of available metrics that can be summed into 5 groups.
-
EJB Pool
-
EJB Transaction
-
Executive Queue
-
Servlet
-
Web App Component
Metric |
Units |
---|---|
Average Time of All Invocations the Servlet has Executed since Created |
seconds |
Bean Instances Currently being Used from the Free Pool |
beans |
Current Available Bean Instances in the Free Pool |
beans |
Duration of Single Longest Invocation the Servlet has Executed since Created |
seconds |
Duration of Single Shortest Invocation the Servlet has Executed since Created |
seconds |
EJB Pool: The current number of available bean instances in the free pool |
beans |
EJB Pool: The number of bean instances currently being used from the free pool |
beans |
EJB Pool: The number of Threads currently waiting for an available bean instance from the free pool |
threads |
EJB Pool: The total number of available bean instances in the free pool |
beans |
EJB Pool: The total number of bean instances currently in use from the free pool |
beans |
EJB Pool: The total number of Threads currently waiting for an available bean instance from the free pool |
threads |
EJB Pool: The total number of Threads that have timed out waiting for an available bean instance from the free pool |
threads |
EJB Pool: The total number of times a bean instance from this pool was destroyed |
|
EJB Pool: The total number of times a bean instance from this pool was destroyed due to a non-application Exception being thrown from it |
|
EJB Pool: The total number of times a bean instance from this pool was destroyed due to a non-application Exception being thrown from it |
|
EJB Pool: The total number of times a failed attempt was made to get an instance from the free pool |
beans |
EJB Pool: The total number of times an attempt was made to get an instance from the free pool |
|
EJB Transaction: The total number of transactions that have been committed for this EJB |
transactions |
EJB Transaction: The total number of transactions that have been rolled back for this EJB |
transactions |
EJB Transaction: The total number of transactions that have timed out for this EJB |
transactions |
Execute Threads Assigned to the Queue |
threads |
Executive Queue: The number of idle threads assigned to the queue |
thread |
Executive Queue: The number of requests that have been processed by the queue |
requests |
Executive Queue: The number of waiting requests in the queue |
requests |
Executive Queue: The time since the longest waiting request was placed in the queue |
ms |
Executive Queue: The total number of execute threads assigned to the queue |
threads |
Highest Total Number of Open Sessions |
sessions |
Idle Threads Assigned to the Queue |
threads |
Maximum Capacity of this Servlet for Single Thread Model Servlets |
threads |
Number of Bean Instances Currently in use from the Free Pool |
beans |
Open Sessions in Module |
sessions |
Requests Processed by the Queue |
requests |
Requests that have been Processed |
requests |
Servlet: The amount of time the single longest invocation of the servlet has executed since created |
|
Servlet: The amount of time the single shortest invocation of the servlet has executed since created |
|
Servlet: The average amount of time all invocations of the servlet have executed since created |
|
Servlet: The maximum capacity of this servlet for single thread model servlets |
threads |
Servlet: The total amount of time all invocations of the servlet have executed since created |
|
Servlet: The total count of the number of times this servlet has been reloaded |
|
Servlet: The total count of the times this servlet has been invoked |
|
The number of connections currently in use by applications |
connections |
The number of requests that have been processed |
requests |
The number of threads that are considered to be stuck on the basis of any stuck thread constraints |
threads |
The number of waiting requests in the queue |
requests |
Threads Considered Stuck on the Basis of any Stuck Thread Constraints |
threads |
Threads Currently Waiting for an Available Bean Instance from the Free Pool |
threads |
Time all Invocations of the Servlet have Executed since Created |
seconds |
Time since the Longest Waiting Request was Placed in the Queue |
seconds |
Times this Servlet has been Invoked |
seconds |
Times this Servlet has been Reloaded |
reloads |
Total Attempts Made to get an Instance from the Free Pool |
attempts |
Total Attempts to Access a Bean from the Cache |
attempts |
Total Attempts to Access a Bean from the Cache Failed |
attempts |
Total Attempts to Access a Bean from the Cache Succeeded |
attempts |
Total Available Bean Instances in the Free Pool |
beans |
Total bean instances from this Pool that were Destroyed Due to a Non-Application Exception being Thrown from it |
beans |
Total Beans from this EJB Home Currently in the EJB Cache |
beans |
Total Beans from this EJB Home that have been Activated |
beans |
Total Beans from this EJB Home that have been Passivated |
beans |
Total Failed Attempts to get an Instance from the Free Pool |
attempts |
Total Number of Sessions Opened |
sessions |
Total Threads Timed Out Waiting for an Available Bean Instance from the Free Pool |
threads |
Total Threads Waiting for an Available Bean Instance from the Free Pool |
threads |
Total Transactions Committed for this EJB |
trans |
Total Transactions Rolled Back for this EJB |
trans |
Total Transactions Timed Out for this EJB |
trans |
Waiting Requests in the Queue |
requests |
Web App Component: The current total number of open sessions in this module |
sessions |
Web App Component: The high watermark of the total number of open sessions in this server |
sessions |
Web App Component: The total number of sessions opened |
sessions |
WebLogic Connections Currently in use by Applications |
connections |
Work Manager: The total number of attempts to access a bean from the cache |
|
Work Manager: The total number of beans from this EJB Home currently in the EJB cache |
beans |
Work Manager: The total number of beans from this EJB Home that have been activated |
beans |
Work Manager: The total number of beans from this EJB Home that have been passivated |
beans |
Work Manager: The total number of times an attempt to access a bean from the cache failed |
|
Work Manager: The total number of times an attempt to access a bean from the cache succeeded |
If you would like to inspect the Oracle plugin in more detail you can find the python script for it in the /usr/lib/panopta-agent/plugins folder.
Oracle WebLogic 12c
Once you install the agent you will need to add your weblogic12c configuration block to the /etc/panopta-agent/panopta_agent.cfg file as shown below:
[weblogic12c]
classpath = (REQUIRED) A colon-separated Java CLASSPATH specification that points to the wlclient.jar and wljmxclient.jar files. These are installed with WebLogic and are generally found at $WL_HOME/wlserver/server/lib. If permissions issues prevent the agent user from accessing them in their default location, they can be copied to another location available to the agent such as $AGENT_HOME/share and referenced there in the classpath variable.
username = (OPTIONAL) If both username and password are present, used to authenticate the JMX API call
password = (OPTIONAL) If both username and password are present, used to authenticate the JMX API call
protocol = (OPTIONAL) The protocol used to access the JMX API. If not provided, defaults to iiop.
hostname = (OPTIONAL) The hostname used for the JMX connection. If not provided, defaults to localhost.
port = (OPTIONAL) The port to use for the JMX connection. If not provided, defaults to 7001.
jndi_name = (OPTIONAL) The Java Naming and Directory Interface name used to fine the WebLogic management beans. If not provided, defaults to weblogic.management.mbeanservers.runtime
jmx_url = (OPTIONAL) The full JMX URL used to access the WebLogic JMX API.
If not provided, this URL is built up from the previous configuration items.