template: portcheck_last_collected_secs
families: *
      on: portcheck.status
    calc: $now - $last_collected_t
   every: 10s
   units: seconds ago
    warn: $this > (($status >= $WARNING)  ? ($update_every) : ( 5 * $update_every))
    crit: $this > (($status == $CRITICAL) ? ($update_every) : (60 * $update_every))
   delay: down 5m multiplier 1.5 max 1h
    info: number of seconds since the last successful data collection
      to: sysadmin

# This is a fast-reacting no-notification alarm ideal for custom dashboards or badges
template: service_reachable
families: *
      on: portcheck.status
  lookup: average -1m unaligned percentage of success
    calc: ($this < 75) ? (0) : ($this)
   every: 5s
   units: up/down
    info: at least 75% successful connections during last 60 seconds, ideal for badges
      to: silent

template: connection_timeouts
families: *
      on: portcheck.status
  lookup: average -5m unaligned percentage of timeout
   every: 10s
   units: %
    warn: $this >= 10 AND $this < 40
    crit: $this >= 40
   delay: down 5m multiplier 1.5 max 1h
    info: average of timeouts during the last 5 minutes
      to: sysadmin

template: connection_fails
families: *
      on: portcheck.status
  lookup: average -5m unaligned percentage of no_connection,failed
   every: 10s
   units: %
    warn: $this >= 10 AND $this < 40
    crit: $this >= 40
   delay: down 5m multiplier 1.5 max 1h
    info: average of failed connections during the last 5 minutes
      to: sysadmin
