Imported Upstream version 1.12

This commit is contained in:
Mario Fetka
2017-10-31 14:38:28 +01:00
commit ae1fc8494f
157 changed files with 35016 additions and 0 deletions

34
config/common.cfg Normal file
View File

@@ -0,0 +1,34 @@
# Common check definitions which can be used
# as a base for more specific configurations
# This are mostly convenience, abstract checks
# which are meant to be mixed into more concrete
# checks
# =================================================
# A nice label to be used for relative values
<Check relative_base>
Label = %.2r% used (%.2v %u / %.2b %w)
# Default values for critical (90%) and warning (80%) thresholds
Critical = ${0:90}
Warning = ${1:80}
</Check>
# A incremental check for values per minute
# $0: used in label to specify what is counted
# per minute
<Check count_per_minute>
Label = %2.2f $0/minute
Delta = 60
</Check>
# A incremental check for values per hour
# $0: used in label to specify what is counted
# per hour
<Check count_per_hour>
Label = %2.2f $0/hour
Delta = 3600
</Check>

69
config/glassfish.cfg Normal file
View File

@@ -0,0 +1,69 @@
# Glassfish specific checks
# ===========================
# =================
# JMS with Open MQ
# For even more metrics, please refer to http://docs.oracle.com/cd/E19316-01/820-6766/gcakw/index.html
# Number of messages within a queue
# $0: Name of queue
# $1: Critical (default: 1000)
# $2: Warning (default: 800)
<Check gf_omq_queue_count>
MBean = com.sun.messaging.jms.server:name="$0",subtype=Monitor,type=Destination,desttype=q
Attribute = NumMsgs
Name = JMS Queue $0 Count
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Number of messages held for a topic
# $0: Name of queue
# $1: Critical (default: 1000)
# $2: Warning (default: 800)
<Check gf_omq_topic_count>
MBean = com.sun.messaging.jms.server:name="$0",subtype=Monitor,type=Destination,desttype=t
Attribute = NumMsgs
Name = JMS Topic $0 Count
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Average number of consumers of a topic or queue
# $0: Name of queue or topic
# $1: Critical (default: 300)
# $2: Warning (default: 200)
<Check gf_omq_consumers_avg>
MBean = com.sun.messaging.jms.server:name="$0",subtype=Monitor,type=Destination,*
Attribute = AvgNumConsumers
Name = Average Number of consumers for $0
Critical = ${1:300}
Warning = ${2:200}
</Check>
# Active number of consumers of a topic or queue
# $0: Name of queue or topic
# $1: Critical (default: 300)
# $2: Warning (default: 200)
<Check gf_omq_consumers_active>
MBean = com.sun.messaging.jms.server:name="$0",subtype=Monitor,type=Destination,*
Attribute = NumActiveConsumers
Name = Number of consumers of $0
Critical = ${1:300}
Warning = ${2:200}
</Check>
# Size of all messages within a queue or topic
# $0: Name of queue or topic
# $1: Critical (default: 30 MB)
# $2: Warning (default: 20 MB)
<Check gf_omq_message_byte>
MBean = com.sun.messaging.jms.server:name="$0",subtype=Monitor,type=Destination,*
Attribute = TotalMsgBytes
Name = Size of messages in $0
Critical = ${1:30000000}
Warning = ${2:20000000}
</Check>

111
config/jboss.cfg Normal file
View File

@@ -0,0 +1,111 @@
# JBoss specific checks
# ========================================================
# JBoss uses tomcat internally
include tomcat.cfg
# =======================================================
# Connection-Pools:
# Available connections in a connection pool for a data source
# Should be not 0
# $0: Datasource name
<Check jboss_cpool_available>
MBean = *:service=ManagedConnectionPool,name=$0
Attribute = AvailableConnectionCount
Name = $0 : Available connections
Critical = $1
Warning = $2
</Check>
# The reverse: Max. number of connections ever in use
# $0: Datasource name
<Check jboss_cpool_used_max>
MBean = *:service=ManagedConnectionPool,name=$0
Attribute = MaxConnectionsInUseCount
Name = $0 : Max. connections in use
Critical = $1
Warning = $2
</Check>
# Connections currently in use
# $0: Datasource name
<Check jboss_cpool_used>
MBean = *:service=ManagedConnectionPool,name=$0
Attribute = InUseConnectionCount
Name = $0 : Connections in use
Critical = $1
Warning = $2
</Check>
# Rate how often connections are created per minute
# $0: Datasource name
<Check jboss_cpool_creation_rate>
Use = count_per_minute("connections")
MBean = *:service=ManagedConnectionPool,name=$0
Attribute = ConnectionCreatedCount
Name = $0 : Connection creation rate
Critical = $1
Warning = $2
</Check>
# =============================================================
# Workmanager
# Ratio of threads used in the JBoss WorkManager
<Check jboss_threads>
Use = relative_base
Value = jboss.jca:service=WorkManagerThreadPool/Instance/poolSize
Base = jboss.jca:service=WorkManagerThreadPool/Instance/maximumPoolSize
Label = WorkManager Threads: $BASE
Name = WorkManager Threads
</Check>
<Check jboss_threads_2>
Use = relative_base
Value = jboss.threads:name=WorkManagerThreadPool/CurrentThreadCount
Base = jboss.threads:name=WorkManagerThreadPool/MaxThreads
Label = WorkManager Threads: $BASE
Name = WorkManager Threads
</Check>
# =============================================================
# JMS
# Rate how fast the number of messages in a JMS queue increases
# $0: Queue name
# $1: Critical (default: 1000)
# $2: Warning (default: 800)
<Check jboss_jms_queue_rate>
Use = count_per_minute("messages")
MBean = *:name=$0,service=Queue
Attribute = MessageCount
Name = JMS Queue $0 : Message count rate
</Check>
# Number of messages in a JMS queue
# $0: Queue name
# $1: Critical (default: 1000)
# $2: Warning (default: 800)
<Check jboss_jms_queue_count>
MBean = *:name=$0,service=Queue
Attribute = MessageCount
Name = JMS Queue $0 Count
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Number of messages in a JMS Topic
# $0: Topic name
# $1: Critical (default: 1000)
# $2: Warning (default: 800)
<Check jboss_jms_topic_count>
MBean = *:name=$0,service=Topic
Attribute = AllMessageCount
Name = JMS Topic $0 Count
Critical = ${1:1000}
Warning = ${2:800}
</Check>

203
config/jboss7.cfg Normal file
View File

@@ -0,0 +1,203 @@
# JBoss 7 specific checks
# ========================================================
include "common.cfg"
# Please note that JBoss 7 changed (/wrt JBoss 6) completely with relation to the
# internal MBean structure
# 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)
<Check jboss7_connector_received_rate>
Use = count_per_minute("bytes received")
Label = Connector $0 : $BASE
Name = ${3:bytes_received}
Value = jboss.as.expr:connector=$0,*/bytesReceived
Critical = ${1:104857600}
Warning = ${2:83886080}
</Check>
# 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)
<Check jboss7_connector_sent_rate>
Use = count_per_minute("bytes sent")
Label = Connector $0 : $BASE
Name = ${3:bytes_sent}
Value = jboss.as.expr:connector=$0,*/bytesSent
Critical = ${1:104857600}
Warning = ${2:83886080}
</Check>
# 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)
<Check jboss7_connector_processing_time>
Delta = 60
Label = Connector $0 : %2.0f ms request processing time / minute
Name = ${3:proc_time}
Value = jboss.as.expr:connector=$0,*/processingTime
Critical = ${1:50000}
Warning = ${2:40000}
</Check>
# Requests per minute for a connector
# $0: Connector name
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check jboss7_connector_requests>
Use = count_per_minute("requests")
Label = Connector $0 : $BASE
Name = ${3:nr_requests}
Value = jboss.as.expr:connector=$0,*/requestCount
Critical = ${1:1000}
Warning = ${2:900}
</Check>
# Number of errors for a connector per minute.
# $0: Connector name
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check jboss7_connector_error_count>
Value = jboss.as.expr:connector=$0,*/errorCount
Label = Connector $0: %d errors
Name = ${3:errors}
Critical = ${1:100}
Warning = ${2:90}
Delta = 60
</Check>
#################################################################
# Requests per minute for a servlet
# $0: Web-Module name
# $1: Servlet name
# $2: Critical (optional)
# $3: Warning (optional)
# $4: Name (optional)
<Check jboss7_servlet_requests>
MBean = jboss.as.expr:deployment=$0,servlet=$1,subdeployment=*,subsystem=web
Use = count_per_minute("requests")
Attribute = requestCount
Name = ${4:request}
Critical = ${2:6000}
Warning = ${3:5000}
</Check>
# Increase of overall processing time per minute for a servlet module
# This is calculate the processing time for a certain
# interval and extrapolate to a minute
# $0: Webmodule name
# $1: Servlet name
# $2: Critical (optional)
# $3: Warning (optional)
# $4: Name (optional)
<Check jboss7_servlet_processing>
MBean = jboss.as.expr:deployment=$0,servlet=$1,subdeployment=*,subsystem=web
Attribute = processingTime
Delta = 60
Label = %2.0f ms request processing time / minute
Name = ${3:proc_time}
Critical = ${2:50000}
Warning = ${3:40000}
</Check>
# ========================================================
# Session related checks
# Number of active sessions at this moment
# $0: Name of web-module
# $1: Critical (optional)
# $2: Warning (optional)
<Check jboss7_session_active>
MBean = *:deployment=$0,subsystem=web
Attribute = activeSessions
Name = ${3:sessions_active}
Label = $0: Active Sessions = %v
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Maximum number of active sessions so far
# $0: Name of web-module
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check jboss7_session_active_max>
MBean = *:deployment=$0,subsystem=web
Attribute = maxActive
Name = ${3:sessions_max}
Label = $0: Max-Active Sessions = %v
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Number of sessions we rejected due to maxActive beeing reached
# $0: Name of web-module
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check jboss7_session_rejected>
MBean = *:deployment=$0,subsystem=web
Attribute = rejectedSessions
Name = ${3:sessions_rejected}
Label = $0: Rejected Sessions = %v
Critical = ${1:500}
Warning = ${2:200}
</Check>
# Average time an expired session had been alive
# in seconds
# $0: Name of web-module
# $1: Critical (7200)
# $2: Warning (7200)
# $3: Name (optional)
<Check jboss7_session_average_lifetime>
MBean = *:deployment=$0,subsystem=web
Attribute = sessionAverageAliveTime
Name = ${3:sessions_avg_life}
Label = $0: Average session lifetime = %v
Critical = ${1:7200}
Warning = ${2:6400}
</Check>
# Longest time an expired session had been alive
# in seconds
# $0: Name of web-module
# $1: Critical (7200)
# $2: Warning (6400)
# $3: Name (optional)
<Check jboss7_session_max_lifetime>
MBean = *:deployment=$0,subsystem=web
Attribute = sessionMaxAliveTime
Name = ${3:sessions_max_life}
Label = $0: Maximum session lifetime = %v
Critical = ${1:7200}
Warning = ${2:6400}
</Check>
# Increase rate of sessions per minute
# $0: Name of web-module
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check jboss7_session_inc>
Use = count_per_minute("sessions")
MBean = *:deployment=$0,subsystem=web
Attribute = sessionCounter
Name = ${3:sessions_inc}
Critical = ${1:1000}
Warning = ${2:900}
</Check>

191
config/jetty.cfg Normal file
View File

@@ -0,0 +1,191 @@
# Jetty specific checks
# ========================================================
include common.cfg
# Servlet running
# $0: Name of servlet
<Check jetty_servlet_running>
MBean = org.mortbay.jetty.servlet:name=$0,*
Attribute = running
String = 1
Label = $0 running
Name = $0 running
Critical = false
</Check>
# Servlet failed status
# $0: Name of servlet
<Check jetty_servlet_failed>
MBean = org.mortbay.jetty.servlet:name=$0,*
Attribute = failed
String = 1
Label = $0 failing
Name = $0 failed
Critical = true
</Check>
# Jetty is low on threads ?
<Check jetty_threads_low>
MBean = org.mortbay.thread:type=queuedthreadpool,*
Attribute = lowOnThreads
String = 1
Label = Low on threads
Name = LowOnThreads Flag
Critical = true
</Check>
# Ratio between created threads to maximum threads
# $0: Critical value (default: 90%)
# $1: Warning value (default: 80%)
<Check jetty_threads>
Use = relative_base($0,$1)
Value = org.mortbay.thread:type=queuedthreadpool,*/threads
Base = org.mortbay.thread:type=queuedthreadpool,*/maxThreads
Name = Jetty-Threads
</Check>
# Server is running
<Check jetty_server_running>
MBean = org.mortbay.jetty:type=server,*
Attribute = running
String = 1
Label = Server running
Name = Server running
Critical = false
</Check>
# Server failed
<Check jetty_server_failed>
MBean = org.mortbay.jetty:type=server,*
Attribute = failed
String = 1
Label = Server failing
Name = ServerFailedFlag
Critical = true
</Check>
# =====================================================================
# Sessions
# The maximum number of sessions ever created (overall, all webapps)
# $0: Critical
# $1: Warning
<Check jetty_sessions_max>
MBean = org.mortbay.jetty.servlet:type=hashsessionmanager,*
Attribute = maxSessions
Label = Max Sessions = %v
Name = MaxSessions
Critical = $0
Warning = $1
</Check>
# The current number of sessions (overall, all webapps)
# $0: Critical (default: 1000)
# $1: Warning (default: 800)
<Check jetty_sessions>
MBean = org.mortbay.jetty.servlet:type=hashsessionmanager,*
Attribute = sessions
Label = Sessions = %v
Name = Sessions
Critical = ${0:1000}
Warning = ${1:800}
</Check>
# =====================================================================
# Requests
# The overall requests / minute
# 'statsOn' has to be set to true in jetty.xml for letting jetty collects
# statistics information for the overall connector
# $0: Critical (default: 6000)
# $1: Warning (default: 5000)
<Check jetty_request_nio>
Use = count_per_minute("requests")
MBean = org.mortbay.jetty.nio:type=selectchannelconnector,*
Attribute = requests
Name = Requests
Critical = ${0:6000}
Warning = ${1:5000}
</Check>
# Number of accepted connections ('statsOn' must be set)
# $0: Critical (default: 6000)
# $1: Warning (default: 5000)
<Check jetty_connections>
Use = count_per_minute("connections")
MBean = org.mortbay.jetty.nio:type=selectchannelconnector,*
Attribute = connections
Name = Connections
Critical = ${0:6000}
Warning = ${1:5000}
</Check>
# Number of open connections ('statsOn' must be set)
# $0: Critical (default: 1000)
# $1: Warning (default: 900)
<Check jetty_connections_open>
MBean = org.mortbay.jetty.nio:type=selectchannelconnector,*
Attribute = connectionsOpen
Name = ConnectionsOpen
Label = Open connections = %v
Critical = ${0:1000}
Warning = ${1:900}
</Check>
# ========================================================================
# Add $JETTY_HOME/etc/jetty-stats.xml to the configuration for collecting per
# request duration statistics.
#
# See also http://communitymapbuilder.osgeo.org/display/JETTY/Statistics
# for details
# Average duration of a request in ms
# $0: Critical (default: 400ms)
# $1: Warning (default: 300ms)
<Check jetty_request_duration_average>
MBean = org.mortbay.jetty.handler:type=statisticshandler,*
Attribute = requestsDurationAve
Name = RequestDurationAverage
Label = Average Request Duration = %v ms
Critical = ${0:400}
Warning = ${1:300}
</Check>
# Maximum duration of any request in ms
# $0: Critical (default: 400ms)
# $1: Warning (default: 300ms)
<Check jetty_request_duration_max>
MBean = org.mortbay.jetty.handler:type=statisticshandler,*
Attribute = requestsDurationMax
Name = RequestDurationMaximum
Label = Maximum Request Duration = %v ms
Critical = ${0:1000}
Warning = ${1:900}
</Check>
# Number of Requests per minute
# $0: Critical (default: 6000)
# $1: Warning (default: 5000)
<Check jetty_request_rate>
Use = count_per_minute("requests")
MBean = org.mortbay.jetty.handler:type=statisticshandler,*
Attribute = requests
Name = Requests
Critical = ${0:6000}
Warning = ${1:5000}
</Check>
# Number of currently active requests
# $0: Critical (default: 1000)
# $1: Warning (default: 900)
<Check jetty_request_active>
MBean = org.mortbay.jetty.handler:type=statisticshandler,*
Attribute = requestsActive
Name = ActiveRequests
Label = Active Requests = %v
Critical = ${0:1000}
Warning = ${1:900}
</Check>

200
config/memory.cfg Normal file
View File

@@ -0,0 +1,200 @@
# Memory checks
# ============================================
include common.cfg
# Base definition for memory relative checks
# (i.e. checks with a base value). Should
# not be used directly
<Check memory_relative_base>
Use = relative_base($0,$1)
Unit = B
BaseUnit = B
</Check>
# Relative Heap Memory used by the application. This
# is the ratio between used heap memory and the maximal
# available heap memory
# $0: Critical value (optional)
# $1: Warning value (optional)
<Check memory_heap>
Use = memory_relative_base($0,$1)
Value = java.lang:type=Memory/HeapMemoryUsage/used
Base = java.lang:type=Memory/HeapMemoryUsage/max
Label = Heap-Memory: $BASE
Name = Heap
MultiCheckPrefix
</Check>
# Relative non-heap memory. The JVM has memory other than the heap,
# referred to as non-heap memory. It stores per-class structures such
# as runtime constant pool, field and method data, and the code for
# methods and constructors, as well as interned Strings. More detailed
# information can be obtained from the pool checks defined below
# $0: Critical value (optional)
# $1: Warning value (optional)
<Check memory_non_heap>
Use = memory_relative_base
Value = java.lang:type=Memory/NonHeapMemoryUsage/used
Base = java.lang:type=Memory/NonHeapMemoryUsage/max
Label = Non-Heap-Memory: $BASE
Name = Non-Heap
MultiCheckPrefix
</Check>
# Java 8 Memory check for MetaSpace. Metaspace is typically unbounded
# and grows into native (OS) memory. Hence, an absolute thresshold is used
# here which by default is (C: 80M, W: 60M).
<Check memory_metaspace>
Unit = B
Label = %.2v %u meta space used
Value = java.lang:name=Metaspace,type=MemoryPool/Usage/used
Name = MetaSpace
Critical = ${0:83886080}
Warning = ${1:62914560}
MultiCheckPrefix
</Check>
# Java 8 Memory check for MetaSpace with an upper configued (-XX:MetaSpaceSize)
<Check memory_metaspace_relative>
Use = memory_relative_base
Value = java.lang:name=Metaspace,type=MemoryPool/Usage/used
Base = java.lang:name=Metaspace,type=MemoryPool/Usage/max
Label = MetaSpace: $BASE
Name = MetaSpace
MultiCheckPrefix
</Check>
# =============================================================
# Memory pool checks. These are specific to a Sun/Oracle JVM.
# Base definition for pool based checks
# $0: Label prefix and name to used
# $1: Critical value (optional)
# $2: Warning value (optional)
<Check memory_pool_base>
Use = memory_relative_base($1,$2)
Value = java.lang:type=MemoryPool,name=$0/Usage/used
Base = java.lang:type=MemoryPool,name=$0/Usage/max
Label = $0 : $BASE
Name = $0
</Check>
# Base definition for garbage collection count
# This checks count the number of garbage collections per
# minute
# $0: Name of garbage collector (used as Label as well)
# $1: Critical value (default: 30)
# $2: Warning value (default: 20)
<Check memory_gc_count_base>
Use = count_per_minute("GC count")
Value = java.lang:type=GarbageCollector,name=$0/CollectionCount
Label = $0 : $BASE
Name = $0 count
Critical = ${1:30}
Warning = ${2:20}
</Check>
# Base definition for garbage time measurements
# This checks measure the ratio the garbage collection takes from a minute
# (e.g. how many percent of a minute is used for garbage collecting)
# $0: Name of garbage collector (used as Label as well)
# $1: Critical value in percent (default: 20)
# $2: Warning value in percent (default: 10)
# WARNING: THIS CHECK HAS CHANGED IN 1.08. Remove the 'Base' and adapt the label
# to obtain the old behaviour.
<Check memory_gc_time_base>
Value = java.lang:type=GarbageCollector,name=$0/CollectionTime
Label = %2.2r% GC Overhead
Name = $0 time
Delta 60
# Next line switches on relative checking to get the percentual overhead
# for a garbage collection
Base = 60000
Critical = ${1:20}
Warning = ${2:10}
</Check>
# The paralled garbage collectors and memory
# pools switched on with -XX:+UseParallelGC.
# Used by 64bit server VMs by default.
<MultiCheck memory_pools_parallel>
Check = memory_pool_base("PS Eden Space",100,100)
Check = memory_pool_base("PS Survivor Space",100,100)
Check = memory_pool_base("PS Old Gen")
Check = memory_pool_base("PS Perm Gen")
</MultiCheck>
<MultiCheck memory_gc_count_parallel>
Check = memory_gc_count_base("PS Scavenge")
Check = memory_gc_count_base("PS MarkSweep")
</MultiCheck>
# Since 1.08: Relative time instead of absolute values.
<MultiCheck memory_gc_time_parallel>
Check = memory_gc_time_base("PS Scavenge")
Check = memory_gc_time_base("PS MarkSweep")
</MultiCheck>
# Garbage collectors and memory pools used for
# -XX:+UseConcMarkSweepGC and -XX:+UseParNewGC
# used by default by OS X, client vm.
<MultiCheck memory_pools_concurrent>
Check = memory_pool_base("Par Eden Space")
Check = memory_pool_base("Par Survivor Space")
Check = memory_pool_base("CMS Old Gen")
Check = memory_pool_base("CMS Perm Gen")
</MultiCheck>
<MultiCheck memory_gc_count_concurrent>
Check = memory_gc_count_base("ParNew")
Check = memory_gc_count_base("ConcurrentMarkSweep")
</MultiCheck>
# Since 1.08: Relative time instead of absolute values.
<MultiCheck memory_gc_time_concurrent>
Check = memory_gc_time_base("ParNew")
Check = memory_gc_time_base("ConcurrentMarkSweep")
</MultiCheck>
# Garbage collector and memory pools used
# when -XX:+UseSerialGC is used. Seems to be the default
# on linux for -client and -server VMs
<MultiCheck memory_pools_serial>
Check = memory_pool_base("Eden Space")
Check = memory_pool_base("Survivor Space")
Check = memory_pool_base("Tenured Gen")
Check = memory_pool_base("Perm Gen")
</MultiCheck>
<MultiCheck memory_gc_count_serial>
Check = memory_gc_count_base("Copy")
Check = memory_gc_count_base("MarkSweepCompact")
</MultiCheck>
# Since 1.08: Relative time instead of absolute values.
<MultiCheck memory_gc_time_serial>
Check = memory_gc_time_base("Copy")
Check = memory_gc_time_base("MarkSweepCompact")
</MultiCheck>
<Check memory_code_cache>
Use = memory_pool_base("Code Cache")
</Check>
# ================================================
# Collection of related checks.
# Overall view to the memory statistics
<MultiCheck memory>
Check memory_heap
Check memory_non_heap
</MultiCheck>

43
config/metrics.cfg Normal file
View File

@@ -0,0 +1,43 @@
# Checks for Metrics (http://metrics.codahale.com/)
# =================================================
<Check metrics_base>
MBean = $0:type=$1,name=$2
Label = $0.$2 / $1
</Check>
#
#
#
<Check metrics_timer_base>
Use = metrics_base($1,$2,$3)
Attribute = $0
Label = $0 for $BASE : %v %u
Name = $0
Critical = $4
Warning = $5
Unit = ${6:ms}
</Check>
<MultiCheck metrics_timer_times>
Check metrics_timer_base("Mean",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("StdDev",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("Min",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("Max",$0,$1,$2,$3,$4,$5)
</MultiCheck>
<MultiCheck metrics_timer_percentile>
Check metrics_timer_base("50thPercentile",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("75thPercentile",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("95thPercentile",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("99thPercentile",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("999thPercentile",$0,$1,$2,$3,$4,$5)
</MultiCheck>
<MultiCheck metrics_timer_rate>
Check metrics_timer_base("MeanRate",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("OneMinuteRate",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("FiveMinuteRate",$0,$1,$2,$3,$4,$5)
Check metrics_timer_base("FifteenMinuteRate",$0,$1,$2,$3,$4,$5)
</MultiCheck>

37
config/threads.cfg Normal file
View File

@@ -0,0 +1,37 @@
# Predefined checks for fetching thread statistics
# from MXBeans
# ==================================================
include common.cfg
# Check for a thread increase per minute
# $0 : Critical threshold (default: 60)
# $1 : Warning threshold (default: 30)
<Check thread_inc>
Use = count_per_minute("Threads")
Value = java.lang:type=Threading/ThreadCount
Name = Thread-Increase
Critical = ${0:~:60}
Warning = ${1:~:30}
</Check>
# Check for monitoring the total (absolute) count of threads
# active within an application
# $0 : Critical threshold (default: 1000)
# $1 : Warning threshold (default: 800)
<Check thread_count>
Value = java.lang:type=Threading/ThreadCount
Name = Thread-Count
Critical = ${0:1000}
Warning = ${1:800}
</Check>
# Find deadlocked Threads
<Check thread_deadlock>
MBean = java.lang:type=Threading
Operation = findDeadlockedThreads
Null = no deadlock
Name = Thread-Deadlock
String = 1
Critical = !no deadlock
</Check>

245
config/tomcat.cfg Normal file
View File

@@ -0,0 +1,245 @@
# 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)
<Check tc_servlet_requests>
MBean = *:j2eeType=Servlet,WebModule=$0,name=$1,*
Use = count_per_minute("requests")
Attribute = requestCount
Name = ${4:request}
Critical = ${2:6000}
Warning = ${3:5000}
</Check>
# Check whether an webmodule (can contain multiple servlets)
# is running
# $0: Webmodule name (sth like "//localhost/j4p")
# $1: Name (optional)
<Check tc_webmodule_running>
MBean = *:j2eeType=WebModule,name=$0,*
Attribute = state
String = 1
Label = $0 running
Name = ${1:running}
Critical = !1
</Check>
# 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)
<Check tc_webmodule_processing>
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}
</Check>
# ========================================================
# Session related checks
# Number of active sessions at this moment
# $0: Path name without leading slash
# $1: Critical (optional)
# $2: Warning (optional)
<Check tc_session_active>
MBean = *:path=/$0,type=Manager,*
Attribute = activeSessions
Name = ${3:sessions_active}
Label = $0: Active Sessions = %v
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Maximum number of active sessions so far
# $0: Path name without leading slash
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check tc_session_active_max>
MBean = *:path=/$0,type=Manager,*
Attribute = maxActive
Name = ${3:sessions_max}
Label = $0: Max-Active Sessions = %v
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# 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)
<Check tc_session_rejected>
MBean = *:path=/$0,type=Manager,*
Attribute = rejectedSessions
Name = ${3:sessions_rejected}
Label = $0: Rejected Sessions = %v
Critical = ${1:500}
Warning = ${2:200}
</Check>
# 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)
<Check tc_session_average_lifetime>
MBean = *:path=/$0,type=Manager,*
Attribute = sessionAverageAliveTime
Name = ${3:sessions_avg_life}
Label = $0: Average session lifetime = %v
Critical = ${1:7200}
Warning = ${2:6400}
</Check>
# 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)
<Check tc_session_max_lifetime>
MBean = *:path=/$0,type=Manager,*
Attribute = sessionMaxAliveTime
Name = ${3:sessions_max_life}
Label = $0: Maximum session lifetime = %v
Critical = ${1:7200}
Warning = ${2:6400}
</Check>
# Increase rate of sessions per minute
# $0: Path name without leading slash
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check tc_session_inc>
Use = count_per_minute("sessions")
MBean = *:path=/$0,type=Manager,*
Attribute = sessionCounter
Name = ${3:sessions_inc}
Critical = ${1:1000}
Warning = ${2:900}
</Check>
# =============================================================
# 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)
<Check tc_connector_threads>
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
</Check>
# 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)
<Check tc_connector_received_rate>
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}
</Check>
# 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)
<Check tc_connector_sent_rate>
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}
</Check>
# 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)
<Check tc_connector_processing_time>
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}
</Check>
# Requests per minute for a connector
# $0: Connector name
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check tc_connector_requests>
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}
</Check>
# Number of errors for a connector per minute.
# $0: Connector name
# $1: Critical (optional)
# $2: Warning (optional)
# $3: Name (optional)
<Check tc_connector_error_count>
Value = *:type=GlobalRequestProcessor,name=$0/errorCount
Label = Connector $0: %d errors
Name = ${3:errors}
Critical = ${1:100}
Warning = ${2:90}
Delta = 60
</Check>
# ==================================================================
# 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 <GlobalResources> 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)
<Check tc_datasource_connections>
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}
</Check>

95
config/weblogic.cfg Normal file
View File

@@ -0,0 +1,95 @@
# Weblogic specific checks
# ========================================================
include common.cfg
<Check wls_channel_received_rate>
Use = count_per_minute("bytes received")
Label = Channel $0 : $BASE
Name = bytes_received
Value = *:Name=$0,Type=ServerChannelRuntime,*/BytesReceivedCount
Critical = ${1:104857600}
Warning = ${2:83886080}
</Check>
<Check wls_channel_sent_rate>
Use = count_per_minute("bytes sent")
Label = Channel $0 : $BASE
Name = bytes_sent
Value = *:Name=$0,Type=ServerChannelRuntime,*/BytesSentCount
Critical = ${1:104857600}
Warning = ${2:83886080}
</Check>
<Check wls_channel_connections>
Label = Channel $0 : %4.4v active connections
Name = connections
Value = *:Name=$0,Type=ServerChannelRuntime,*/ConnectionsCount
Critical = ${1:1000}
Warning = ${2:800}
</Check>
<Check wls_webapp_running>
Value = *:Type=WebAppComponentRuntime,ApplicationRuntime=$0,*/DeploymentState
String = 1
Label = $0 is running
Name = running
Critical = !1
</Check>
<Check wls_servlet_execution_avg>
Value = *:Type=ServletRuntime,ApplicationRuntime=$0,Name=$1,*/ExecutionTimeAverage
Label = $0 [$1] : Average execution time %d ms
Name = servlet_avg_execution_time
Critical = ${2:20000}
Warning = ${3:10000}
</Check>
<Check wls_ws_execution_avg>
Value = *:Type=WseeOperationRuntime,ApplicationRuntime=$0,Name=$1,*/ExecutionTimeAverage
Label = WS $0 [$1] : Average execution time %d ms
Name = ws_avg_execution_time
Critical = ${2:150000}
Warning = ${3:100000}
</Check>
<Check wls_ws_response_avg>
Value = *:Type=WseeOperationRuntime,ApplicationRuntime=$0,Name=$1,*/ResponseTimeAverage
Label = WS $0 [$1] : Average response time %d ms
Name = ws_avg_execution_time
Critical = ${2:150000}
Warning = ${3:100000}
</Check>
<Check wls_ws_response_error>
Value = *:Type=WseeOperationRuntime,ApplicationRuntime=$0,Name=$1,*/ResponseErrorCount
Label = WS $0 [$1] : Response error count %d
Name = ws_response_errors
Critical = ${2:10}
Warning = ${3:5}
</Check>
<Check wls_wmr_pending>
Value = *:Type=WorkManagerRuntime,ApplicationRuntime=$0,Name=$1,*/PendingRequests
Label = WorkManager $0 [$1] : Pending requests %d
Name = ws_wm_pending_requests
Critical = ${2:10}
Warning = ${3:5}
</Check>
<Check wls_wmr_threads_stuck>
Value = *:Type=WorkManagerRuntime,ApplicationRuntime=$0,Name=$1,*/StuckThreadCount
Label = WorkManager $0 [$1] : Stuck threads %d
Name = ws_wm_stuck_threads
Critical = ${2:10}
Warning = ${3:5}
</Check>
<Check wls_webapp_sessions>
Value = *:Type=WebAppComponentRuntime,ApplicationRuntime=$0,*/OpenSessionsCurrentCount
Label = Webapp $0 : Open sessions %d
Name = ws_webapp_sessions
Critical = ${1:2000}
Warning = ${2:1500}
</Check>

30
config/websphere.cfg Normal file
View File

@@ -0,0 +1,30 @@
# Websphere Checks
# ----------------
# These checks are for WebSphere and has been tested for WebSphere >= 8.0
# (but should workd with older WebSphere servers as well).
# For most of the test it is required that a customzied Jolokia agent is used
# which provides simplified access to JSR-77 metrics.
#
# These agents can be obtained from the 'jolokia-extra' project: https://github.com/rhuss/jolokia-extra
# or downloaded from Maven central: http://central.maven.org/maven2/org/jolokia/extra/
# They all have an classifier "-jsr77" and the first three parts of the version specify
# the Jolokia core version included.
# E.g. "jolokia-extra-war-1.2.2.2-jsr77.war" contains Jolokia 1.2.2 (and is the second variant with
# the JSR-77 specifier)
# Most of these tests utilize the PMI subsystem of WebSphere.
# ===============================================================
# Including various checks. These config files are self contained,
# and for performance optimizations could be included separately if only
# some checks are needed.
include websphere/threads.cfg
include websphere/http.cfg
include websphere/jdbc.cfg
include websphere/jms.cfg
include websphere/jca.cfg
include websphere/appstate.cfg

View File

@@ -0,0 +1,13 @@
# ---------------------------------------
# Check of the application state
#
# $0: application name
<Check was_application_state>
MBean WebSphere:j2eeType=J2EEApplication,J2EEName=${0},*
Attribute state
Critical = ${1:1}
Label = $0 : status = %v
Name = $0-state
</Check>

129
config/websphere/http.cfg Normal file
View File

@@ -0,0 +1,129 @@
# ============================================
# HTTP Checks
include threads.cfg
# HTTP Thread Pool Utilization
# Check of relative pool size, i.e. the ratio between actual created threads
# to the number of maximal available threads.
<Check was_http_pool_size>
Use was_thread_pool_size('WebContainer',$0,$1)
</Check>
# Relative check of all active threads out of the threadpool for the web container
<Check was_http_pool_active>
Use was_thread_pool_active('WebContainer',$0,$1)
</Check>
# Web-Sessions
# Check for the number of session uses. The maximal number of sessions is not available
# and should be provided as argument to this check (default is 200).
#
# A unique part of the name contained in the 'mbeanIdentifier' key of the MBean
# must be used for the name (e.g. 'jolokia' for the Jolokia agent).
#
# $0: Unique part of the name of the web app (see above)
# $1: Maximum number of session (default: 200)
# $2: Critical (default: 90%)
# $3: Warning (default: 80%)
<Check was_http_session_count>
MBean WebSphere:type=SessionManager,mbeanIdentifier=*${0}*,*
Attribute stats
Path */*/statistics/LiveCount/current
# Base value as the number of maximal possible sessions
# (or if a proper MBean attribute is found, this could be inserted here)
Base ${1:200}
Critical ${2:90}
Warning ${3:80}
Label $0 : %.2r% sessions in use (%v / %b)
Name ${0}-http-sessions
</Check>
# HTTP Request Count
# Check for the number of requests per minute for a specific servlet.
#
# $0: Part of the servlet name (see above)
# $1: Critical as requests / minute (no default)
# $2: Warning as requests / minute (no default)
<Check was_http_request_count>
Use was_request_count($0,$1,$2)
MBean WebSphere:type=Servlet,mbeanIdentifier=*${0}*,*
</Check>
# Check for the number of requests per minute for a specific JSP
#
# $0: Part of the JSP name (see above)
# $1: Critical as requests / minute (1000)
# $2: Warning as requests / minute (800)
<Check was_jsp_request_count>
Use was_request_count($0,$1,$2)
MBean WebSphere:type=JSP,mbeanIdentifier=*${0}*,*
</Check>
# Base Check for requests counts (servlet or JSPs)
# $0: Part of the servlet name (see above)
# $1: Critical as requests / minute (1000)
# $2: Warning as requests / minute (800)
<Check was_request_count>
Attribute stats
Path */*/statistics/RequestCount/count
Delta 60
Critical ${1:1000}
Warning ${2:800}
Label $0 : %2.2q requests / minute
Name ${0}-request-count
</Check>
# HTTP Service Time
#
# Check of average processing time per request for a servlet.
#
# $0: Part of the servlet name (see above)
# $1: Critical (default: 10000ms)
# $2: Warning (default: 5000ms)
<Check was_http_service_time>
Use was_service_time($0,$1,$2)
MBean WebSphere:type=Servlet,mbeanIdentifier=*${0}*,*
BaseMBean WebSphere:type=Servlet,mbeanIdentifier=*${0}*,*
</Check>
# Check of average processing time per request for a JSP
#
# $0: Part of JSP name (see above)
# $1: Critical (default: 10000ms)
# $2: Warning (default: 5000ms)
<Check was_jsp_service_time>
Use was_service_time($0,$1,$2)
MBean WebSphere:type=JSP,mbeanIdentifier=*${0}*,*
BaseMBean WebSphere:type=JSP,mbeanIdentifier=*${0}*,*
</Check>
# Base check for total service time checks (suggestion for
# improvements: Currently the overall average is measured. It would be
# much better to use only the average till the last
# measurement. Therefore a "Delta" should be used (without
# normalization), but unfortunately the base value is not used as 'delta'
# yet.
<Check was_service_time>
Attribute stats
Path */*/statistics/ServiceTime/totalTime
BaseAttribute stats
BasePath */*/statistics/ServiceTime/count
Delta
# * 100 because the value is a 'relative' check typical used for percentages
Critical{1:1000000}
Warning ${2:500000}
Label %2.2q ms ∅ processing time per request (%v ms total for %b requests)
Name $0-request-processing-time
</Check>

43
config/websphere/jca.cfg Normal file
View File

@@ -0,0 +1,43 @@
# ===============================================================
# JCA
# JCA connector pool usage
#
# ${0} : part of the JCA connector name
# ${1} : Managed Connection Factory Name (JCA)
# ${2} : Critical (default: 90 percent)
# ${3} : Warning (default: 80 percent)
<Check was_jca_percent_used>
MBean WebSphere:j2eeType=JCAResource,mbeanIdentifier=*${0}*,*
Attribute stats
Path */*/connectionPools/${1}/statistics/PercentUsed/current
Critical ${2:90}
Warning ${3:80}
Label $1 : %2.0f% connections used
Name jca-${1}-${0}-pool
</Check>
# Average waiting time until a JCA connector is available
#
# ${0} : part of the JCA resource name as it appears in the mbeanIdentifier
# ${1} : Managed Connection Factory Name (JCA)
# ${2} : Critical (default: 10s)
# ${3} : Warning (default: 5s)
<Check was_jca_wait_time>
MBean WebSphere:j2eeType=JCAResource,mbeanIdentifier=*${0}*,*
Attribute stats
Path */*/connectionPools/${1}/statistics/WaitTime/totalTime
BaseMBean WebSphere:j2eeType=JCAResource,mbeanIdentifier=${0},*
BaseAttribute stats
BasePath */*/connectionPools/${1}/statistics/WaitTime/count
Critical ${2:10000}
Warning ${3:5000}
Label $1: %2.2q ms ∅ wait time (%v ms total for %b requests)
Name jca-${1}-${0}-wait-time
</Check>

88
config/websphere/jdbc.cfg Normal file
View File

@@ -0,0 +1,88 @@
# ==============================================================================
# JDBC Datasources
# JDBC Poolsize Check. This check requires two parameters at least:
# The name of th JDBC Provider and the data source name. It must be ensured that
# the pattern used in this check must result in a single data source only.
#
# In order to specify this even further, a fourth parameter can be used to
# match on part of the mbeanIdentifier.
#
# ${0} : Name of the JDBC Provider
# ${1} : DataSource Name
# ${2} : Critical (default: 90%)
# ${3} : Warning (default: 80%)
# ${4} : Part of mbeanIdentifier (default: *)
<Check was_jdbc_percent_used>
MBean WebSphere:j2eeType=JDBCResource,name=${0},mbeanIdentifier=${4:*},*
Attribute stats
Path */*/connectionPools/${1}/statistics/PercentUsed/current
Critical ${2:90}
Warning ${3:80}
Label $1 : %2.0f % DB Connections used
Name jdbc-$0-connections
</Check>
# Average wait time until a connection is obtained
# ${0} : Name of the JDBC Provider
# ${1} : Datasource name
# ${2} : Critical (default: 10s)
# ${3} : Warning (default: 5s)
# ${4} : Part of mbeanIdentifier (default: *)
<Check was_jdbc_wait_time>
MBean WebSphere:j2eeType=JDBCResource,name=${0},mbeanIdentifier=${4:*},*
Attribute stats
Path */*/connectionPools/${1}/statistics/WaitTime/totalTime
BaseMBean WebSphere:j2eeType=JDBCResource,name=${0},mbeanIdentifier=${4:*},*
BaseAttribute stats
BasePath */*/connectionPools/${1}/statistics/WaitTime/count
Critical ${2:10000}
Warning ${3:5000}
Label $1: %2.2q ms ∅ waiting time (%v ms total for %b requests)
Name jdbc-$0-average-wait-time
</Check>
# Check for the number of rolled back transactions
#
# $0: Part of the MBean identifier
# $1: Critical as rollback count / minute
# $2: Warning as rollback count / minute
<Check was_transaction_rollback_count>
Use was_transaction_count($0,"RolledbackCount",$1,$2)
</Check>
# Check for the number of active transactions
#
# $0: Part of the MBean identifier
# $1: Critical as rollback count / minute
# $2: Warning as rollback count / minute
<Check was_transaction_active_count>
Use was_transaction_count($0,"ActiveCount",$1,$2)
</Check>
# Base-Check for the number of transactions
#
# $0: Part of the MBean identifier
# $1: Attribute name
# $2: Critical as rollback count / minute
# $3: Warning as rollback count / minute
<Check was_transaction_count>
MBean WebSphere:type=TransactionService,mbeanIdentifier=*${0}*,*
Attribute stats
Path */*/statistics/${1}/count
Delta 60
Critical ${2:10}
Warning ${3:5}
Label $0 : %2.2q ${1} / minute
Name $1-$0-transaction
</Check>

44
config/websphere/jms.cfg Normal file
View File

@@ -0,0 +1,44 @@
# =======================================================
# WebSphere JMS checks
# Check the number of message in a queue
#
# $0: Queue Name
# $1: Critical Threshold (default: 10)
# $2: Warning Threshold (default: 5)
<Check was_jms_depth>
MBean WebSphere:type=SIBQueuePoint,name=${0},*
Attribute depth
# Messages Thresshold
Critical ${1:10}
Warning ${2:5}
Label %v messages in queue ${0}
Name jms-{0}-queue
</Check>
# PMI metrics available over UI but not still via JMX ? -->
# Queues.QueueStats.LocalProducerAttachesCount
# Queues.QueueStats.LocalProducerCount
# Queues.QueueStats.LocalConsumerAttachesCount
# Queues.QueueStats.LocalConsumerCount
# Queues.QueueStats.TotalMessagesProducedCount
# Queues.QueueStats.BestEffortNonPersistentMessagesProducedCount
# Queues.QueueStats.ExpressNonPersistentMessagesProducedCount
# Queues.QueueStats.ReliableNonPersistentMessagesProducedCount
# Queues.QueueStats.ReliablePersistentMessagesProducedCount
# Queues.QueueStats.AssuredPersistentMessagesProducedCount
# Queues.QueueStats.TotalMessagesConsumedCount
# Queues.QueueStats.BestEffortNonPersistentMessagesConsumedCount
# Queues.QueueStats.ExpressNonPersistentMessagesConsumedCount
# Queues.QueueStats.ReliableNonPersistentMessagesConsumedCount
# Queues.QueueStats.ReliablePersistentMessagesConsumedCount
# Queues.QueueStats.AssuredPersistentMessagesConsumedCount
# Queues.QueueStats.ReportEnabledMessagesExpiredCount
# Queues.QueueStats.AggregateMessageWaitTime
# Queues.QueueStats.LocalMessageWaitTime
# Queues.QueueStats.LocalOldestMessageAge
# Queues.QueueStats.AvailableMessageCount
# Queues.QueueStats.UnavailableMessageCount

View File

@@ -0,0 +1,45 @@
# ============================================
# Thread Pool Checks
# Generic Thread-Pool Check for the size of a Thread-Pool
#
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Critical (default: 90%)
# $2: Warning (default: 80%)
<Check was_thread_pool_size>
Use was_thread_pool($0,'PoolSize',$1,$2)
Label $0: %2.2r% threads used (%v / %b)
</Check>
# Generic Thread-Pool Check for the number of active threads
# within the thread pool
#
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Critical (default: 90%)
# $2: Warning (default: 80%)
<Check was_thread_pool_active>
Use was_thread_pool($0,'ActiveCount',$1,$2,)
Label $0: %2.2r% active threads (%v / %b)
</Check>
# Base Check for thread-pools checks
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Attribute (PoolSize or ActiveCount)
# $2: Critical (default: 90%)
# $3: Warning (default: 80%)
<Check was_thread_pool>
MBean WebSphere:name=${0},type=ThreadPool,*
Attribute stats
Path */*/statistics/${1}/current
BaseMBean WebSphere:name=${0},type=ThreadPool,*
BaseAttribute stats
BasePath */*/statistics/${1}/upperBound
Critical ${2:90}
Warning ${3:80}
Label = ${0}: %.2r% Threads [${1}] (%v / %b)
Name = ${0}-${1}-threadpool
</Check>

134
config/wildfly.cfg Normal file
View File

@@ -0,0 +1,134 @@
# Wildfly (JBoss AS 8) specific checks
# ========================================================
include "common.cfg"
# Wildfly use Undertow instead of Tomcat as its servlet container,
# webapp specific metrics changed completely.
# Requests per minute for a servlet within a deployed war
# $0: Web-Module name (i.e. the WAR file name)
# $1: Servlet name
# $2: Critical (optional)
# $3: Warning (optional)
# $4: Descriptive name (optional)
<Check wildfly_war_servlet_requests>
MBean = jboss.as.expr:subsystem=undertow,deployment=$0,servlet=$1,*
Use = count_per_minute("requests")
Attribute = requestCount
Name = ${4:request}
Critical = ${2:6000}
Warning = ${3:5000}
</Check>
# Average request processing time for a servlet within a deployed war
# $0: Web-Module name (i.e. the WAR file name)
# $1: Servlet name
# $2: Critical (optional)
# $3: Warning (optional)
# $4: Descriptive name (optional)
<Check wildfly_war_servlet_request_time>
Value = jboss.as.expr:subsystem=undertow,deployment=$0,servlet=$1,*/totalRequestTime
Base = jboss.as.expr:subsystem=undertow,deployment=$0,servlet=$1,*/requestCount
Delta
Label = $0 : $1 : %2.2f ms average request time
Name = ${4:$0-$1-request-time}
Critical = ${2:6000}
Warning = ${3:5000}
</Check>
# Requests per minute for a servlet, deployed as part of an ear
# $0: EAR Module (name of the EAR file)
# $1: Web-Module name (i.e. the WAR file name within the EAR)
# $2: Servlet name
# $3: Critical (optional)
# $4: Warning (optional)
# $5: Descriptive name (optional)
<Check wildfly_ear_servlet_requests>
MBean = jboss.as.expr:subsystem=undertow,deployment=$0,subdeployment=$1,servlet=$2,*
Use = count_per_minute("requests")
Attribute = requestCount
Name = ${5:request}
Critical = ${3:6000}
Warning = ${2:5000}
</Check>
# Average request processing time, deployed as part of an ear
# $0: EAR Module name (i.e. the EAR file name)
# $1: Web-Module name (i.e. the WAR file name)
# $2: Servlet name
# $3: Critical (optional)
# $4: Warning (optional)
<Check wildfly_ear_servlet_request_time>
Value = jboss.as.expr:subsystem=undertow,deployment=$0,subdeployment=$1,servlet=$2,*/totalRequestTime
Base = jboss.as.expr:subsystem=undertow,deployment=$0,subdeployment=$1,servlet=$2,*/requestCount
Delta
Label = $0 : $1 : $2 : %2.2f ms average request time
Name = $0-$1-$2-request
Critical = ${3:6000}
Warning = ${4:5000}
</Check>
# Check whether the webapplications deployment is in status OK
# $0: Web-Module name (i.e. the WAR file name)
# $1: Name (optional)
<Check wildfly_deployment_status>
Value = jboss.as.expr:deployment=$0/status
String = 1
Critical = !OK
Label = $0 status
Name = ${1:status}
</Check>
# Check whether a webapplication is enabled
# $0: Web-Module name (i.e. the WAR file name)
# $1: Name (optional)
<Check wildfly_deployment_enabled>
Value = jboss.as.expr:deployment=$0/enabled
String = 1
Critical = !true
Label = $0 enabled
Name = ${1:enabled}
</Check>
# Check number of active session for a webapp, deployed as a war
# $0: Web-Module name (i.e. the WAR file name)
# $1: Critical (optional) (absolute number of active sessions allowed)
# $2: Warning (optional) (absolute number of active sessions allowed)
# $3: Descriptive name (optional)
<Check wildfly_war_webapp_active_sessions>
Value = jboss.as.expr:subsystem=undertow,deployment=$0/activeSessions
Label = %v active sessions
Name = ${3:active sessions}
Critical = ${1:1000}
Warning = ${2:800}
</Check>
# Check number of active session for a webapp, deployed as part of an ear
# $0: EAR Module (name of the EAR file)
# $1: Web-Module name (i.e. the WAR file name within the ear)
# $2: Critical (optional) (absolute number of active sessions allowed)
# $3: Warning (optional) (absolute number of active sessions allowed)
# $4: Descriptive name (optional)
<Check wildfly_ear_webapp_active_sessions>
Value = jboss.as.expr:subsystem=undertow,deployment=$0,subdeployment=$1/activeSessions
Label = %v active sessions
Name = ${4:active sessions}
Critical = ${2:1000}
Warning = ${3:800}
</Check>
# Check for available database connections
# $0: Name of datasource (e.g. "ExampleDS")
# $1: Critical value (optional, default: 1)
# $2: Warning value (optional, default: 5)
# $3: Name (optional)
<Check wildfly_datasource_connections>
Value = jboss.as.expr:data-source=${0},statistics=pool,subsystem=datasources/AvailableCount
Name = ${3:dbpool_available}
Label = %.2v DB connections available
Critical = ${1:1:}
Warning = ${2:5:}
</Check>