
# you can disable an alarm notification by setting the 'to' line to: silent

# -----------------------------------------------VM Specific------------------------------------------------------------
# Memory

template: vsphere_vm_mem_usage
      on: vsphere.vm_mem_usage_percentage
   hosts: *
    calc: $used
   units: %
   every: 20s
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
   delay: down 15m multiplier 1.5 max 1h
    info: used RAM

# -----------------------------------------------HOST Specific----------------------------------------------------------
# Memory

template: vsphere_host_mem_usage
      on: vsphere.host_mem_usage_percentage
   hosts: *
    calc: $used
   units: %
   every: 20s
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
   delay: down 15m multiplier 1.5 max 1h
    info: used RAM

# Network errors

template: vsphere_inbound_packets_errors
      on: vsphere.net_errors_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of rx
   units: packets
   every: 1m
    warn: $this >= 5
   delay: down 1h multiplier 1.5 max 2h
    info: interface inbound dropped packets in the last 10 minutes
      to: sysadmin

template: vsphere_outbound_packets_errors
      on: vsphere.net_errors_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of tx
   units: packets
   every: 1m
    warn: $this >= 5
   delay: down 1h multiplier 1.5 max 2h
    info: interface outbound dropped packets in the last 10 minutes
      to: sysadmin

# Network errors ratio

template: vsphere_inbound_packets_errors_ratio
      on: vsphere.net_packets_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of rx
    calc: (($vsphere_inbound_packets_errors != nan AND $this > 0) ? ($vsphere_inbound_packets_errors * 100 / $this) : (0))
   units: %
   every: 1m
    warn: $this >= 0.1
    crit: $this >= 2
   delay: down 1h multiplier 1.5 max 2h
    info: the ratio of inbound errors vs the total number of received packets of the network interface, during the last 10 minutes
      to: sysadmin

template: vsphere_outbound_packets_errors_ratio
      on: vsphere.net_packets_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of tx
    calc: (($vsphere_outbound_packets_errors != nan AND $this > 0) ? ($vsphere_outbound_packets_errors * 100 / $this) : (0))
   units: %
   every: 1m
    warn: $this >= 0.1
    crit: $this >= 2
   delay: down 1h multiplier 1.5 max 2h
    info: the ratio of outbound errors vs the total number of sent packets of the network interface, during the last 10 minutes
      to: sysadmin

# -----------------------------------------------Common-------------------------------------------------------------------
# CPU

template: vsphere_cpu_usage
      on: vsphere.cpu_usage_total
   hosts: *
  lookup: average -10m unaligned match-names of used
   units: %
   every: 20s
    warn: $this > (($status >= $WARNING)  ? (75) : (85))
    crit: $this > (($status == $CRITICAL) ? (85) : (95))
   delay: down 15m multiplier 1.5 max 1h
    info: cpu utilization for the last 10 minutes
      to: sysadmin

# Network drops

template: vsphere_inbound_packets_dropped
      on: vsphere.net_drops_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of rx
   units: packets
   every: 1m
    warn: $this >= 5
   delay: down 1h multiplier 1.5 max 2h
    info: interface inbound dropped packets in the last 10 minutes
      to: sysadmin

template: vsphere_outbound_packets_dropped
      on: vsphere.net_drops_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of tx
   units: packets
   every: 1m
    warn: $this >= 5
   delay: down 1h multiplier 1.5 max 2h
    info: interface outbound dropped packets in the last 10 minutes
      to: sysadmin

# Network drops ratio

template: vsphere_inbound_packets_dropped_ratio
      on: vsphere.net_packets_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of rx
    calc: (($vsphere_inbound_packets_dropped != nan AND $this > 0) ? ($vsphere_inbound_packets_dropped * 100 / $this) : (0))
   units: %
   every: 1m
    warn: $this >= 0.1
    crit: $this >= 2
   delay: down 1h multiplier 1.5 max 2h
    info: the ratio of inbound dropped packets vs the total number of received packets of the network interface, during the last 10 minutes
      to: sysadmin

template: vsphere_outbound_packets_dropped_ratio
      on: vsphere.net_packets_total
   hosts: *
families: *
  lookup: sum -10m unaligned absolute match-names of tx
    calc: (($vsphere_outbound_packets_dropped != nan AND $this > 0) ? ($vsphere_outbound_packets_dropped * 100 / $this) : (0))
   units: %
   every: 1m
    warn: $this >= 0.1
    crit: $this >= 2
   delay: down 1h multiplier 1.5 max 2h
    info: the ratio of outbound dropped packets vs the total number of sent packets of the network interface, during the last 10 minutes
      to: sysadmin
