| 1 | # WebSphere JMX health alerts |
| 2 | |
| 3 | # JVM heap usage |
| 4 | # Trigger only when the JVM is consistently close to exhausting the heap. |
| 5 | template: websphere_jmx_jvm_heap_usage |
| 6 | on: websphere_jmx.jvm_heap_usage |
| 7 | class: Utilization |
| 8 | type: Application Server |
| 9 | component: WebSphere |
| 10 | lookup: average -5m unaligned of usage |
| 11 | units: % |
| 12 | every: 30s |
| 13 | warn: $this > 80 |
| 14 | crit: $this > 90 |
| 15 | delay: down 15m multiplier 1.5 max 1h |
| 16 | summary: WebSphere JVM heap usage |
| 17 | info: JVM heap memory usage is ${value}% |
| 18 | to: webmaster |
| 19 | |
| 20 | # Thread pool capacity |
| 21 | # Compare the configured pool size with its maximum as a coarse saturation indicator. |
| 22 | template: websphere_jmx_threadpool_capacity |
| 23 | on: websphere_jmx.threadpool_size |
| 24 | class: Utilization |
| 25 | type: Application Server |
| 26 | component: WebSphere |
| 27 | calc: ($max > 0) ? ($size * 100 / $max) : 0 |
| 28 | units: % |
| 29 | every: 30s |
| 30 | warn: $this > 85 |
| 31 | crit: $this > 95 |
| 32 | delay: down 15m multiplier 1.5 max 1h |
| 33 | summary: WebSphere thread pool ${label:pool} capacity |
| 34 | info: Thread pool ${label:pool} is using ${value}% of its configured maximum size |
| 35 | to: webmaster |
| 36 | |
| 37 | # JDBC pool utilization |
| 38 | # Alert when the active connections remain close to the configured maximum. |
| 39 | template: websphere_jmx_jdbc_pool_usage |
| 40 | on: websphere_jmx.jdbc_pool_usage |
| 41 | class: Utilization |
| 42 | type: Database |
| 43 | component: WebSphere |
| 44 | calc: ($active + $free > 0) ? ($active * 100 / ($active + $free)) : 0 |
| 45 | units: % |
| 46 | every: 30s |
| 47 | warn: $this > 80 |
| 48 | crit: $this > 90 |
| 49 | delay: down 15m multiplier 1.5 max 1h |
| 50 | summary: WebSphere JDBC pool ${label:pool} usage |
| 51 | info: JDBC connection pool ${label:pool} is ${value}% utilized |
| 52 | to: dba |
| 53 | |
| 54 | # JDBC pool wait time |
| 55 | # High wait times can indicate connection exhaustion or resource contention. |
| 56 | template: websphere_jmx_jdbc_pool_wait_time |
| 57 | on: websphere_jmx.jdbc_pool_wait_time |
| 58 | class: Latency |
| 59 | type: Database |
| 60 | component: WebSphere |
| 61 | calc: $wait |
| 62 | units: ms |
| 63 | every: 30s |
| 64 | warn: $this > 1000 |
| 65 | crit: $this > 5000 |
| 66 | delay: down 15m multiplier 1.5 max 1h |
| 67 | summary: WebSphere JDBC pool ${label:pool} wait time |
| 68 | info: JDBC connection pool ${label:pool} average wait time is ${value}ms |
| 69 | to: dba |
| 70 | |
| 71 | # JMS queue depth |
| 72 | # Surface very large queue backlogs only. |
| 73 | template: websphere_jmx_jms_queue_depth |
| 74 | on: websphere_jmx.jms_messages_current |
| 75 | class: Workload |
| 76 | type: Messaging |
| 77 | component: WebSphere |
| 78 | calc: $current |
| 79 | units: messages |
| 80 | every: 1m |
| 81 | warn: $this > 1000 |
| 82 | crit: $this > 5000 |
| 83 | delay: down 15m multiplier 1.5 max 1h |
| 84 | summary: WebSphere JMS ${label:destination_type} ${label:destination} queue depth |
| 85 | info: JMS ${label:destination_type} ${label:destination} currently holds ${value} messages |
| 86 | to: webmaster |
| 87 | |
| 88 | # Application response time |
| 89 | # Alert when the recorded average response time becomes excessively high. |
| 90 | template: websphere_jmx_app_response_time |
| 91 | on: websphere_jmx.app_response_time |
| 92 | class: Latency |
| 93 | type: Web Server |
| 94 | component: WebSphere |
| 95 | calc: $response_time |
| 96 | units: ms |
| 97 | every: 30s |
| 98 | warn: $this > 1000 |
| 99 | crit: $this > 5000 |
| 100 | delay: down 15m multiplier 1.5 max 1h |
| 101 | summary: WebSphere application ${label:application} response time |
| 102 | info: Application ${label:application} average response time is ${value}ms |
| 103 | to: webmaster |