From 7516186fe199ebd60236b60952b3ee33b6397c1d Mon Sep 17 00:00:00 2001 From: Jorge Romero Date: Tue, 19 Apr 2016 12:20:17 -0400 Subject: [PATCH] tomcat charts.d plugin --- charts.d/tomcat.chart.sh | 97 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 charts.d/tomcat.chart.sh diff --git a/charts.d/tomcat.chart.sh b/charts.d/tomcat.chart.sh new file mode 100644 index 00000000..3727edf3 --- /dev/null +++ b/charts.d/tomcat.chart.sh @@ -0,0 +1,97 @@ +#!/bin/sh + +# Description: Tomcat netdata charts.d plugin +# Author: Jorge Romero + +# the URL to download tomcat status info +tomcat_url="http://:@localhost:8080/manager/status?XML=true" + +# _update_every is a special variable - it holds the number of seconds +# between the calls of the _update() function +tomcat_update_every= + +tomcat_priority=60000 + +# convert tomcat floating point values +# to integer using this multiplier +# this only affects precision - the values +# will be in the proper units +tomcat_decimal_detail=1000000 + +# used by volume chart to convert bytes to KB +tomcat_decimal_KB_detail=1000 + +tomcat_check() { + + tomcat_get + if [ $? -ne 0 ] + then + echo >&2 "tomcat: cannot find stub_status on URL '${tomcat_url}'. Please set tomcat_url='http://:@localhost:8080/manager/status?XML=true'" + return 1 + fi + + # this should return: + # - 0 to enable the chart + # - 1 to disable the chart + + return 0 +} + +tomcat_get() { + + tomcat_accesses=$(curl -s "${tomcat_url}" | xmllint --xpath "string(/status/connector[@name='\"http-bio-8080\"']/requestInfo/@requestCount)" - ) + tomcat_volume=$(curl -s "${tomcat_url}" | xmllint --xpath "string(/status/connector[@name='\"http-bio-8080\"']/requestInfo/@bytesSent)" - ) + tomcat_threads=$(curl -s "${tomcat_url}" | xmllint --xpath "string(/status/connector[@name='\"http-bio-8080\"']/threadInfo/@currentThreadCount)" -) + tomcat_threads_busy=$(curl -s "${tomcat_url}" | xmllint --xpath "string(/status/connector[@name='\"http-bio-8080\"']/threadInfo/@currentThreadsBusy)" -) + tomcat_jvm_freememory=$(curl -s "${tomcat_url}" | xmllint --xpath "string(/status/jvm/memory/@free)" - ) + + return 0 +} + +# _create is called once, to create the charts +tomcat_create() { + cat <