
# 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
    class: Utilization
     type: Virtual Machine
component: Memory
    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: virtual machine memory utilization

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

 template: vsphere_host_mem_usage
       on: vsphere.host_mem_usage_percentage
    class: Utilization
     type: Virtual Machine
component: Memory
    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: host memory utilization

# Network errors

 template: vsphere_inbound_packets_errors
       on: vsphere.net_errors_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of rx
    units: packets
    every: 1m
     info: number of inbound errors for the network interface in the last 10 minutes

 template: vsphere_outbound_packets_errors
       on: vsphere.net_errors_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of tx
    units: packets
    every: 1m
     info: number of outbound errors for the network interface in the last 10 minutes

# Network errors ratio

 template: vsphere_inbound_packets_errors_ratio
       on: vsphere.net_packets_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of rx
     calc: (($vsphere_inbound_packets_errors != nan AND $this > 1000) ? ($vsphere_inbound_packets_errors * 100 / $this) : (0))
    units: %
    every: 1m
     warn: $this >= 2
    delay: up 1m down 1h multiplier 1.5 max 2h
     info: ratio of inbound errors for the network interface over the last 10 minutes
       to: sysadmin

 template: vsphere_outbound_packets_errors_ratio
       on: vsphere.net_packets_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of tx
     calc: (($vsphere_outbound_packets_errors != nan AND $this > 1000) ? ($vsphere_outbound_packets_errors * 100 / $this) : (0))
    units: %
    every: 1m
     warn: $this >= 2
    delay: up 1m down 1h multiplier 1.5 max 2h
     info: ratio of outbound errors for the network interface over the last 10 minutes
       to: sysadmin

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

 template: vsphere_cpu_usage
       on: vsphere.cpu_usage_total
    class: Utilization
     type: Virtual Machine
component: CPU
    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: average CPU utilization
       to: sysadmin

# Network drops

 template: vsphere_inbound_packets_dropped
       on: vsphere.net_drops_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of rx
    units: packets
    every: 1m
     info: number of inbound dropped packets for the network interface in the last 10 minutes

 template: vsphere_outbound_packets_dropped
       on: vsphere.net_drops_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of tx
    units: packets
    every: 1m
     info: number of outbound dropped packets for the network interface in the last 10 minutes

# Network drops ratio

 template: vsphere_inbound_packets_dropped_ratio
       on: vsphere.net_packets_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of rx
     calc: (($vsphere_inbound_packets_dropped != nan AND $this > 1000) ? ($vsphere_inbound_packets_dropped * 100 / $this) : (0))
    units: %
    every: 1m
     warn: $this >= 2
    delay: up 1m down 1h multiplier 1.5 max 2h
     info: ratio of inbound dropped packets for the network interface over the last 10 minutes
       to: sysadmin

 template: vsphere_outbound_packets_dropped_ratio
       on: vsphere.net_packets_total
    class: Errors
     type: Virtual Machine
component: Network
    hosts: *
 families: *
   lookup: sum -10m unaligned absolute match-names of tx
     calc: (($vsphere_outbound_packets_dropped != nan AND $this > 1000) ? ($vsphere_outbound_packets_dropped * 100 / $this) : (0))
    units: %
    every: 1m
     warn: $this >= 2
    delay: up 1m down 1h multiplier 1.5 max 2h
     info: ratio of outbound dropped packets for the network interface over the last 10 minutes
       to: sysadmin
