monitoring plugin check_weblogic_heap

Last update: December 08, 2020

This plugin will check the current memory usage of your Weblogic application. The plugin must run on the same host where your Weblogic installation is located.

End of life warning


As I don't have any Weblogic installations around to test further development, this plugin is end of life. Use as is.

Commercial support

If you are looking for commercial support for this monitoring plugin, need customized modifications or in general customized monitoring plugins, contact us at



3732 downloads so far...

Download plugin and save it in your Nagios/Monitoring plugin folder (usually /usr/lib/nagios/plugins, depends on your distribution). Afterwards adjust the permissions (usually chmod 755).

Version history / Changelog

20110930 Created plugin
20111003 Catching connection/authentication problem


The plugin requires Weblogic to be installed on the server on which the plugin should be executed. Before you start launching it on your Weblogic server, you must adjust the variable WL_HOME in the plugin. Set it so that it fits the root/home installation folder of your Weblogic installation:

# Define Variables
# a) Enter the root directory of your Weblogic installation e.g.:
# WL_HOME=/opt/weblogic/Oracle/Middleware/wlserver_10.3

Another important and necessary information is the JAVA path. The java binary folder must be in the $PATH variable of your environment. If you know what $PATH means, you understand what there is to do. If not, please set the variable JAVA_HOME in the plugin to your java installation (the folder in which you will find the binary files 'java', 'javac', etc.):

# b) If Java installation is not yet in your $PATH, enter it here:

Definition of the parameters

Parameter Description
-H* Hostname or ip address where Weblogic is running (usually localhost)
-P* Port on which weblogic listens
-u* Weblogic admin user
-p* Password for Weblogic admin user
-w Warning threshold in percent
-c Critical threshold in percent
--help Show help/usage

* mandatory parameter

Usage / running the plugin on the command line


./ -H HOST -P PORT -u username -p password [-w warning] [-c critical]

Example 1 without thresholds:

./ -H localhost -P 7001 -u weblogic -p mypass

Example 2 with thresholds:

./ -H localhost -P 7001 -u weblogic -p mypass -w 80 -c 90

As one can see, the -w and -c parameter (thresholds) are optional. If they're not given, the plugin will only return OK and output the current utilisation as information.

Command definition (NRPE)

As the plugin must be executed on the Weblogic server itself, I suggest to launch the plugin as nrpe command:

# 'check_weblogic_heap' command definition with thresholds
command[check_weblogic_heap]=/usr/lib/nagios/plugins/check_weblogic_heap -H localhost -P 7001 -u weblogic -p mypass -w 80 -c 90

# 'check_weblogic_heap' command definition just info output
command[check_weblogic_heap]=/usr/lib/nagios/plugins/check_weblogic_heap -H localhost -P 8001 -u weblogic -p mypass

Service definition

Service definition in Nagios, Icinga 1.x, Shinken, Naemon

# Check Weblogic Heap
define service{
use generic-service
host_name weblogic-server
service_description Weblogic Memory Heap
check_command check_nrpe!check_weblogic_heap

Service object definition Icinga 2.x

# Check Weblogic Heap
object Service "Weblogic Memory Heap" {
  import "generic-service"
  host_name = "weblogic-server"
  check_command = "nrpe"
  check_command = "nrpe"
  vars.nrpe_command = "check_weblogic_heap"


check_weblogic_heap OK
check_weblogic_heap connection critical