scripts/jvm-jstat-get
author Eric Renfro <psi-jack@gmail.com>
Fri, 28 Jun 2013 13:27:07 -0400
changeset 23 5d95402f2a3a
parent 11 ab5293025139
permissions -rwxr-xr-x
Adjusted zabbix key item to be parameterized instead of the whole key.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
#!/bin/sh
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
# Companion to jvm-stat-make to obtain actual value from dumped statistics.
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
# Invocation:
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
# jvm-jstat-get <name> <stat> <field>
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
#	where	name is symbolic name (service name etc.),
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
#		stat is statistic name (stats file) and
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
#		field number (from 1) to be returned
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
if [ -z "$1" -o -z "$2" -o -z "$3" ]; then
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
	echo -e "Missing service name, stat or field"
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
	exit 1
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
fi
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
UID=`id -u`
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
N=$1
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
STAT=$2
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
FIELD=$3
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
D=/tmp/jvm-jstat-$UID-$N
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
[ -d $D ] || exit 1;
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
ab5293025139 JVM monitoring via jstat(1)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
tail -1 $D/$STAT | awk '{print $'$FIELD'}'