Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
aurelien44230
Hi,
So happy to find this check.
I add -k optional parameter to check multiple JVM on the same machine :
...
Usage: $SCRIPT_NAME -n|--name -k -p|--property -w|--warning -c|--critical
Where: is one of: "heap|non-heap|threads|classes"
Hint: You can use "jps -l" or "java -jar JvmInspector.jar all" to get the java name
Example: $SCRIPT_NAME -n org.apache.catalina.startup.Bootstrap -p heap -w 1073741824 -c 2147483648
EOF
exit 0
}
[ "$#" -eq 0 ] && usage
while [ ! -z "$1" ]; do
case $1 in
-n|--name) shift; NAME="$1";;
-k|--keyword) shift; KEYWORD="$1";;
-p|--property) shift; PROPERTY="$1";;
-w|--warning) shift; WARNING="$1";;
-c|--critical) shift; CRITICAL="$1";;
-h|--help) usage;;
esac
shift
done
[ -z "$NAME" ] && p_unknown "Missing JVM app class name, use -n "
[ -z "$PROPERTY" ] && p_unknown "Missing property, use -p "
[ -z "$WARNING" ] && p_unknown "Missing warning thresholds, use -w "
[ -z "$CRITICAL" ] && p_unknown "Missing critical thresholds, use -c "
expr ${WARNING} : '[0-9]\+$' >/dev/null || p_unknown "Invalid warning threshold"
expr ${CRITICAL} : '[0-9]\+$' >/dev/null || p_unknown "Invalid critical threshold"
[ -f "$JVMINSPECTOR" ] || p_unknown "Can't find JvmInspector.jar, please install it and set JVMINSPECTOR var in this script"
if [ -z "$KEYWORD" ]; then
PSLINE="$(ps axo pid,uid,command | grep [j]ava | grep $NAME | head -1)"
else
PSLINE="$(ps axo pid,uid,command | grep [j]ava | grep $NAME | grep $KEYWORD)"
fi
...
So, now, you can use the script like this :
./check_jvm --name org.apache.catalina.startup.Bootstrap -k confluence -p heap -w 100 -c 200
./check_jvm --name org.apache.catalina.startup.Bootstrap -k jira -p heap -w 100 -c 200
Thanks a lot
Bye
So happy to find this check.
I add -k optional parameter to check multiple JVM on the same machine :
...
Usage: $SCRIPT_NAME -n|--name -k -p|--property -w|--warning -c|--critical
Where: is one of: "heap|non-heap|threads|classes"
Hint: You can use "jps -l" or "java -jar JvmInspector.jar all" to get the java name
Example: $SCRIPT_NAME -n org.apache.catalina.startup.Bootstrap -p heap -w 1073741824 -c 2147483648
EOF
exit 0
}
[ "$#" -eq 0 ] && usage
while [ ! -z "$1" ]; do
case $1 in
-n|--name) shift; NAME="$1";;
-k|--keyword) shift; KEYWORD="$1";;
-p|--property) shift; PROPERTY="$1";;
-w|--warning) shift; WARNING="$1";;
-c|--critical) shift; CRITICAL="$1";;
-h|--help) usage;;
esac
shift
done
[ -z "$NAME" ] && p_unknown "Missing JVM app class name, use -n "
[ -z "$PROPERTY" ] && p_unknown "Missing property, use -p "
[ -z "$WARNING" ] && p_unknown "Missing warning thresholds, use -w "
[ -z "$CRITICAL" ] && p_unknown "Missing critical thresholds, use -c "
expr ${WARNING} : '[0-9]\+$' >/dev/null || p_unknown "Invalid warning threshold"
expr ${CRITICAL} : '[0-9]\+$' >/dev/null || p_unknown "Invalid critical threshold"
[ -f "$JVMINSPECTOR" ] || p_unknown "Can't find JvmInspector.jar, please install it and set JVMINSPECTOR var in this script"
if [ -z "$KEYWORD" ]; then
PSLINE="$(ps axo pid,uid,command | grep [j]ava | grep $NAME | head -1)"
else
PSLINE="$(ps axo pid,uid,command | grep [j]ava | grep $NAME | grep $KEYWORD)"
fi
...
So, now, you can use the script like this :
./check_jvm --name org.apache.catalina.startup.Bootstrap -k confluence -p heap -w 100 -c 200
./check_jvm --name org.apache.catalina.startup.Bootstrap -k jira -p heap -w 100 -c 200
Thanks a lot
Bye