zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: e960332b3f6c46a1956486d4f3f99fce
      name: 'Templates/Server hardware'
  templates:
    - uuid: cf0947cc05d3450b9a6d66b2eb180482
      template: 'Supermicro Aten by SNMP'
      name: 'Supermicro Aten by SNMP'
      description: |
        Template Server Supermicro Aten
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        ATEN-IPMI-MIB
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: 'Templates/Server hardware'
      items:
        - uuid: 7c60cd8613094b95bfd0ad45d04bc0e8
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 680c72ab6bb441779553b198081e3bf4
              expression: 'max(/Supermicro Aten by SNMP/icmpping,#3)=0'
              name: 'Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 4a8bd0d13bab4666aaf4c53b7722ec74
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: e2e4bfca2d0c4f8ebd64bef322d2a368
              expression: 'min(/Supermicro Aten by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Supermicro Aten by SNMP/icmppingloss,5m)<100'
              name: 'High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/Supermicro Aten by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: feb1b9189b904b42b17ac4e1db49806e
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: b6fb489c6a624b2994c5e50ba75539b2
              expression: 'avg(/Supermicro Aten by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'High ICMP ping loss'
                  expression: 'min(/Supermicro Aten by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Supermicro Aten by SNMP/icmppingloss,5m)<100'
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/Supermicro Aten by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: cadc501d69624baa8ad292c2c8f6fd52
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: ccba865de57a41718b53ff1f82b2ca87
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 70f51b4370c64c2bab2c811359ef690b
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 8b0320157a0144a0b2f1d7df7cbbe08a
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 52169be1d3924c638476a290590066f3
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: afa2acff36034dccb96a1946e7039f39
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 07b7a49bffea4c03a022eed632754f47
              expression: 'last(/Supermicro Aten by SNMP/system.name,#1)<>last(/Supermicro Aten by SNMP/system.name,#2) and length(last(/Supermicro Aten by SNMP/system.name))>0'
              name: 'System name has changed'
              event_name: 'System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: cc33c0e22893432280d642c75020a222
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: a0c0d3ee729b4a159719271232024b45
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: e205f1aa96a448a2955e988fa8528600
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: caeb9732846b4ae586ee103ac0c4a65b
              expression: 'max(/Supermicro Aten by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/Supermicro Aten by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: e31995e21b3942e58b7ed451f57f0360
          name: 'FAN Discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#SNMPVALUE},1.3.6.1.4.1.21317.1.3.1.2,{#SENSOR_DESCR},1.3.6.1.4.1.21317.1.3.1.13]'
          key: fan.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SENSOR_DESCR}'
                value: 'FAN.*'
              - macro: '{#SNMPVALUE}'
                value: '[1-9]+'
          description: 'Scanning ATEN-IPMI-MIB::sensorTable with filter: not connected FAN sensors (Value = 0)'
          item_prototypes:
            - uuid: 5309e5fab7a44b11a8f045db2868a544
              name: '{#SENSOR_DESCR}: Fan speed, %'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.21317.1.3.1.2.{#SNMPINDEX}'
              key: 'sensor.fan.speed.percentage[sensorReading.{#SNMPINDEX}]'
              units: '%'
              description: |
                MIB: ATEN-IPMI-MIB
                A textual string containing information about the interface.
                This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.
              tags:
                - tag: component
                  value: fan
        - uuid: c03c556ed8e441099513aaacaf4a3752
          name: 'Temperature Discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#SNMPVALUE},1.3.6.1.4.1.21317.1.3.1.2,{#SENSOR_DESCR},1.3.6.1.4.1.21317.1.3.1.13]'
          key: tempDescr.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SENSOR_DESCR}'
                value: '.*Temp.*'
              - macro: '{#SNMPVALUE}'
                value: '[1-9]+'
          description: 'Scanning ATEN-IPMI-MIB::sensorTable with filter: not connected temp sensors (Value = 0)'
          item_prototypes:
            - uuid: fe3acdb63d884c10bc5abe7edf001ceb
              name: '{#SENSOR_DESCR}: Temperature'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.21317.1.3.1.2.{#SNMPINDEX}'
              key: 'sensor.temp.value[sensorReading.{#SNMPINDEX}]'
              delay: 3m
              value_type: FLOAT
              units: °C
              description: |
                MIB: ATEN-IPMI-MIB
                A textual string containing information about the interface.
                This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 1a48aee477d54d34bdea47fc6027968c
                  expression: 'avg(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SENSOR_DESCR}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"{#SENSOR_DESCR}"}-3'
                  name: '{#SENSOR_DESCR}: Temperature is above critical threshold'
                  event_name: '{#SENSOR_DESCR}: Temperature is above critical threshold: >{$TEMP_CRIT:"{#SENSOR_DESCR}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 2c2914d1c8c846d180ee308fa861540e
                  expression: 'avg(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SENSOR_DESCR}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)<{$TEMP_WARN:"{#SENSOR_DESCR}"}-3'
                  name: '{#SENSOR_DESCR}: Temperature is above warning threshold'
                  event_name: '{#SENSOR_DESCR}: Temperature is above warning threshold: >{$TEMP_WARN:"{#SENSOR_DESCR}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available'
                  dependencies:
                    - name: '{#SENSOR_DESCR}: Temperature is above critical threshold'
                      expression: 'avg(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SENSOR_DESCR}"}'
                      recovery_expression: 'max(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"{#SENSOR_DESCR}"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 1439e7a34bbf4046836890f208f99a48
                  expression: 'avg(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SENSOR_DESCR}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Supermicro Aten by SNMP/sensor.temp.value[sensorReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"{#SENSOR_DESCR}"}+3'
                  name: '{#SENSOR_DESCR}: Temperature is too low'
                  event_name: '{#SENSOR_DESCR}: Temperature is too low: <{$TEMP_CRIT_LOW:"{#SENSOR_DESCR}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
      tags:
        - tag: class
          value: hardware
        - tag: target
          value: aten
        - tag: target
          value: supermicro
      macros:
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
        - macro: '{$TEMP_WARN}'
          value: '50'
      valuemaps:
        - uuid: e6794dc7602149a3b4fdbfeef45f6e8e
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 1fbe26c5dcb3457f98f84a240aa790cd
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
  triggers:
    - uuid: 37aab043ea474548ab1e54e504720bed
      expression: '(last(/Supermicro Aten by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Supermicro Aten by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Supermicro Aten by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Supermicro Aten by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'Host has been restarted'
      event_name: '{HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'No SNMP data collection'
          expression: 'max(/Supermicro Aten by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
