The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# 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>