# WebSphere MicroProfile health alerts

# JVM heap utilization
template: websphere_mp_heap_utilization
      on: websphere_mp.jvm_heap_utilization
   class: Utilization
    type: Application Server
component: WebSphere MP
  lookup: average -5m unaligned of utilization
   units: %
   every: 30s
    warn: $this > 80
    crit: $this > 90
   delay: down 15m multiplier 1.5 max 1h
 summary: WebSphere MP JVM heap utilization
    info: MicroProfile heap utilization is ${value}%
      to: webmaster

# JVM CPU usage
template: websphere_mp_cpu_usage
      on: websphere_mp.cpu_usage
   class: Utilization
    type: Application Server
component: WebSphere MP
  lookup: average -5m unaligned of utilization
   units: %
   every: 30s
    warn: $this > 80
    crit: $this > 90
   delay: down 15m multiplier 1.5 max 1h
 summary: WebSphere MP CPU utilization
    info: MicroProfile-reported CPU utilization is ${value}%
      to: webmaster

# Thread pool saturation
template: websphere_mp_threadpool_utilization
      on: websphere_mp.threadpool_usage
   class: Utilization
    type: Application Server
component: WebSphere MP
    calc: ($active + $idle > 0) ? ($active * 100 / ($active + $idle)) : 0
   units: %
   every: 30s
    warn: $this > 85
    crit: $this > 95
   delay: down 15m multiplier 1.5 max 1h
 summary: WebSphere MP thread pool utilization
    info: MicroProfile thread pool active threads are ${value}% of capacity
      to: webmaster

# REST endpoint response time
template: websphere_mp_rest_response_time
      on: websphere_mp.rest_response_time
   class: Latency
    type: Web Server
component: WebSphere MP
  lookup: average -5m unaligned of average
   units: ms
   every: 30s
    warn: $this > 1000
    crit: $this > 5000
   delay: down 15m multiplier 1.5 max 1h
 summary: WebSphere MP REST ${label:method} ${label:endpoint} response time
    info: Average response time for ${label:method} ${label:endpoint} is ${value}ms
      to: webmaster
