# Tomcat specific checks # ======================================================== include common.cfg # Requests per minute for a servlet # $0: Web-Module name # $1: Servlet name # $2: Critical (optional) # $3: Warning (optional) # $4: Name (optional) MBean = *:j2eeType=Servlet,WebModule=$0,name=$1,* Use = count_per_minute("requests") Attribute = requestCount Name = ${4:request} Critical = ${2:6000} Warning = ${3:5000} # Check whether an webmodule (can contain multiple servlets) # is running # $0: Webmodule name (sth like "//localhost/j4p") # $1: Name (optional) MBean = *:j2eeType=WebModule,name=$0,* Attribute = state String = 1 Label = $0 running Name = ${1:running} Critical = !1 # Increase of overall processing time per minute for a web module # This is calculate the processing time for a certain # interval and extrapolate to a minute # $0: Webmodule name # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) MBean = *:j2eeType=WebModule,name=$0,* Attribute = processingTime Delta = 60 Label = %2.0f ms request processing time / minute Name = ${3:proc_time} Critical = ${1:50000} Warning = ${2:40000} # ======================================================== # Session related checks # Number of active sessions at this moment # $0: Path name without leading slash # $1: Critical (optional) # $2: Warning (optional) MBean = *:path=/$0,type=Manager,* Attribute = activeSessions Name = ${3:sessions_active} Label = $0: Active Sessions = %v Critical = ${1:1000} Warning = ${2:800} # Maximum number of active sessions so far # $0: Path name without leading slash # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) MBean = *:path=/$0,type=Manager,* Attribute = maxActive Name = ${3:sessions_max} Label = $0: Max-Active Sessions = %v Critical = ${1:1000} Warning = ${2:800} # Number of sessions we rejected due to maxActive beeing reached # $0: Path name without leading slash # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) MBean = *:path=/$0,type=Manager,* Attribute = rejectedSessions Name = ${3:sessions_rejected} Label = $0: Rejected Sessions = %v Critical = ${1:500} Warning = ${2:200} # Average time an expired session had been alive # in seconds # $0: Path name without leading slash # $1: Critical (7200) # $2: Warning (7200) # $3: Name (optional) MBean = *:path=/$0,type=Manager,* Attribute = sessionAverageAliveTime Name = ${3:sessions_avg_life} Label = $0: Average session lifetime = %v Critical = ${1:7200} Warning = ${2:6400} # Longest time an expired session had been alive # in seconds # $0: Path name without leading slash # $1: Critical (7200) # $2: Warning (6400) # $3: Name (optional) MBean = *:path=/$0,type=Manager,* Attribute = sessionMaxAliveTime Name = ${3:sessions_max_life} Label = $0: Maximum session lifetime = %v Critical = ${1:7200} Warning = ${2:6400} # Increase rate of sessions per minute # $0: Path name without leading slash # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Use = count_per_minute("sessions") MBean = *:path=/$0,type=Manager,* Attribute = sessionCounter Name = ${3:sessions_inc} Critical = ${1:1000} Warning = ${2:900} # ============================================================= # Connector related checks # Number of connector threads in relation to maximum # allowed connector threads # $0: Name of connector (e.g. 'http-8080') # $1: Critical (optional) # $2: Warning (optional) Use = relative_base($1,$2) Label = Connector $0 : $BASE Name = ${3:connector_threads} Value = *:type=ThreadPool,name=$0/currentThreadsBusy Base = *:type=ThreadPool,name=$0/maxThreads # Number of bytes received per minute for a connector # $0: Name of connector (e.g. 'http-8080') # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Use = count_per_minute("bytes received") Label = Connector $0 : $BASE Name = ${3:bytes_received} Value = *:type=GlobalRequestProcessor,name=$0/bytesReceived Critical = ${1:104857600} Warning = ${2:83886080} # Number of bytes sent per minute for a connector # $0: Name of connector (e.g. 'http-8080') # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Use = count_per_minute("bytes sent") Label = Connector $0 : $BASE Name = ${3:bytes_sent} Value = *:type=GlobalRequestProcessor,name=$0/bytesSent Critical = ${1:104857600} Warning = ${2:83886080} # Increase of overall processing time per minute for a connector # This checks calculates the processing time for a certain # interval and scale it to a minute # $0: Connector name # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Delta = 60 Label = Connector $0 : %2.0f ms request processing time / minute Name = ${3:proc_time} Value = *:type=GlobalRequestProcessor,name=$0/processingTime Critical = ${1:50000} Warning = ${2:40000} # Requests per minute for a connector # $0: Connector name # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Use = count_per_minute("requests") Label = Connector $0 : $BASE Name = ${3:nr_requests} Value = *:type=GlobalRequestProcessor,name=$0/requestCount Critical = ${1:1000} Warning = ${2:900} # Number of errors for a connector per minute. # $0: Connector name # $1: Critical (optional) # $2: Warning (optional) # $3: Name (optional) Value = *:type=GlobalRequestProcessor,name=$0/errorCount Label = Connector $0: %d errors Name = ${3:errors} Critical = ${1:100} Warning = ${2:90} Delta = 60 # ================================================================== # Relative DB Pool check (active connection vs. maximal available connections) # Note that you need to register the datasource globally in order # to access the Pool statistics (i.e. within the sections) # See http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html # for more information # $0: JNDI-Name of datasource (e.g. jdbc/TestDB) # $1: Critical value (optional) # $2: Warning value (optional) # $3: Name (optional) Value = *:name="$0",type=DataSource,*/numActive Base = *:name="$0",type=DataSource,*/maxActive Name = ${3:dbpool_used} Label = %.2r% DB connections used (%v %u active / %b %w max) Critical = ${1:90} Warning = ${2:80}