
# Overall system health:
#  - 0: all components are healthy.
#  - 1: one or more components might become overloaded soon.
#  - 2: one or more components in the appliance might be degraded.
#  - 3: one or more components might be in an unusable status and the appliance might become unresponsive soon.
#  - 4: no health data is available.

 template: vcsa_system_health
       on: vcsa.system_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of system
    units: status
    every: 10s
     warn: ($this == 1) || ($this == 2)
     crit: $this == 3
    delay: down 1m multiplier 1.5 max 1h
     info: overall system health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

# Components health:
#  - 0: healthy.
#  - 1: healthy, but may have some problems.
#  - 2: degraded, and may have serious problems.
#  - 3: unavailable, or will stop functioning soon.
#  - 4: no health data is available.

 template: vcsa_swap_health
       on: vcsa.components_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of swap
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: swap health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

 template: vcsa_storage_health
       on: vcsa.components_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of storage
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: storage health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

 template: vcsa_mem_health
       on: vcsa.components_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of mem
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: memory health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

 template: vcsa_load_health
       on: vcsa.components_health
    class: Utilization
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of load
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: load health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

 template: vcsa_database_storage_health
       on: vcsa.components_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of database_storage
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: database storage health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin

 template: vcsa_applmgmt_health
       on: vcsa.components_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of applmgmt
    units: status
    every: 10s
     warn: $this == 1
     crit: ($this == 2) || ($this == 3)
    delay: down 1m multiplier 1.5 max 1h
     info: applmgmt health status \
           (-1: unknown, 0: green, 1: yellow, 2: orange, 3: red, 4: grey)
       to: sysadmin


# Software updates health:
#  - 0: no updates available.
#  - 2: non-security updates are available.
#  - 3: security updates are available.
#  - 4: an error retrieving information on software updates.

 template: vcsa_software_updates_health
       on: vcsa.software_updates_health
    class: Errors
     type: Virtual Machine
component: VMware vCenter
   lookup: max -10s unaligned of software_packages
    units: status
    every: 10s
     warn: $this == 4
     crit: $this == 3
    delay: down 1m multiplier 1.5 max 1h
     info: software updates availability status \
           (-1: unknown, 0: green, 2: orange, 3: red, 4: grey)
       to: sysadmin
