# Extreme EXOS SNMP ## Overview For Zabbix version: 5.2 and higher ## Setup Refer to the vendor documentation. ## Zabbix configuration No specific Zabbix configuration is required. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$CPU.UTIL.CRIT} |
-
|`90` | |{$FAN_CRIT_STATUS} |-
|`2` | |{$MEMORY.UTIL.MAX} |-
|`90` | |{$PSU_CRIT_STATUS} |-
|`3` | |{$TEMP_CRIT_LOW} |-
|`5` | |{$TEMP_CRIT_STATUS} |-
|`1` | |{$TEMP_CRIT} |-
|`65` | |{$TEMP_WARN} |-
|`55` | ## Template links |Name| |----| |EtherLike-MIB SNMP | |Generic SNMP | |Interfaces SNMP | ## Discovery rules |Name|Description|Type|Key and additional info| |----|-----------|----|----| |Memory Discovery |-
|SNMP |memory.discovery | |PSU Discovery |Table of status of all power supplies in the system.
|SNMP |psu.discovery | |FAN Discovery |-
|SNMP |fan.discovery | ## Items collected |Group|Name|Description|Type|Key and additional info| |-----|----|-----------|----|---------------------| |CPU |CPU utilization |MIB: EXTREME-SOFTWARE-MONITOR-MIB
Total CPU utlization (percentage) as of last sampling.
|SNMP |system.cpu.util[extremeCpuMonitorTotalUtilization.0] | |Fans |Fan {#SNMPVALUE}: Fan status |MIB: EXTREME-SYSTEM-MIB
Operational status of a cooling fan.
|SNMP |sensor.fan.status[extremeFanOperational.{#SNMPINDEX}] | |Fans |Fan {#SNMPVALUE}: Fan speed |MIB: EXTREME-SYSTEM-MIB
The speed (RPM) of a cooling fan in the fantray {#SNMPVALUE}
|SNMP |sensor.fan.speed[extremeFanSpeed.{#SNMPINDEX}] | |Inventory |Hardware model name |MIB: ENTITY-MIB
|SNMP |system.hw.model**Preprocessing**:
- DISCARD_UNCHANGED_HEARTBEAT: `1d`
| |Inventory |Hardware serial number |MIB: ENTITY-MIB
|SNMP |system.hw.serialnumber**Preprocessing**:
- DISCARD_UNCHANGED_HEARTBEAT: `1d`
| |Inventory |Firmware version |MIB: ENTITY-MIB
|SNMP |system.hw.firmware**Preprocessing**:
- DISCARD_UNCHANGED_HEARTBEAT: `1d`
| |Inventory |Hardware version(revision) |MIB: ENTITY-MIB
|SNMP |system.hw.version**Preprocessing**:
- DISCARD_UNCHANGED_HEARTBEAT: `1d`
| |Inventory |Operating system |MIB: EXTREME-SYSTEM-MIB
The software revision of the primary image stored in this device.
This string will have a zero length if the revision is unknown, invalid or not present.
This will also be reported in RMON2 probeSoftwareRev if this is the software image currently running in the device.
|SNMP |system.sw.os[extremePrimarySoftwareRev.0]**Preprocessing**:
- DISCARD_UNCHANGED_HEARTBEAT: `1d`
| |Memory |#{#SNMPVALUE}: Available memory |MIB: EXTREME-SOFTWARE-MONITOR-MIB
Total amount of free memory in Kbytes in the system.
|SNMP |vm.memory.available[extremeMemoryMonitorSystemFree.{#SNMPINDEX}]**Preprocessing**:
- MULTIPLIER: `1024`
| |Memory |#{#SNMPVALUE}: Total memory |MIB: EXTREME-SOFTWARE-MONITOR-MIB
Total amount of DRAM in Kbytes in the system.
|SNMP |vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]**Preprocessing**:
- MULTIPLIER: `1024`
| |Memory |#{#SNMPVALUE}: Memory utilization |Memory utilization in %
|CALCULATED |vm.memory.util[{#SNMPVALUE}]**Expression**:
`(last("vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]") - last("vm.memory.available[extremeMemoryMonitorSystemFree.{#SNMPINDEX}]")) / last("vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]") * 100` | |Power_supply |PSU {#SNMPVALUE}: Power supply status |MIB: EXTREME-SYSTEM-MIB
Status of the power supply {#SNMPVALUE}
|SNMP |sensor.psu.status[extremePowerSupplyStatus.{#SNMPINDEX}] | |Temperature |Device: Temperature |MIB: EXTREME-SYSTEM-MIB
Temperature readings of testpoint: Device
Reference: https://gtacknowledge.extremenetworks.com/articles/Q_A/Does-EXOS-support-temperature-polling-via-SNMP-on-all-nodes-in-a-stack
|SNMP |sensor.temp.value[extremeCurrentTemperature.0] | |Temperature |Device: Temperature status |MIB: EXTREME-SYSTEM-MIB
Temperature status of testpoint: Device
|SNMP |sensor.temp.status[extremeOverTemperatureAlarm.0] | ## Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----|----|----| |High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |CPU utilization is too high. The system might be slow to respond.
|`{TEMPLATE_NAME:system.cpu.util[extremeCpuMonitorTotalUtilization.0].min(5m)}>{$CPU.UTIL.CRIT}` |WARNING | | |Fan {#SNMPVALUE}: Fan is in critical state |Please check the fan unit
|`{TEMPLATE_NAME:sensor.fan.status[extremeFanOperational.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1` |AVERAGE | | |Device has been replaced (new serial number received) |Device serial number has changed. Ack to close
|`{TEMPLATE_NAME:system.hw.serialnumber.diff()}=1 and {TEMPLATE_NAME:system.hw.serialnumber.strlen()}>0` |INFO |Manual close: YES
| |Firmware has changed |Firmware version has changed. Ack to close
|`{TEMPLATE_NAME:system.hw.firmware.diff()}=1 and {TEMPLATE_NAME:system.hw.firmware.strlen()}>0` |INFO |Manual close: YES
| |Operating system description has changed |Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.
|`{TEMPLATE_NAME:system.sw.os[extremePrimarySoftwareRev.0].diff()}=1 and {TEMPLATE_NAME:system.sw.os[extremePrimarySoftwareRev.0].strlen()}>0` |INFO |Manual close: YES
| |#{#SNMPVALUE}: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |The system is running out of free memory.
|`{TEMPLATE_NAME:vm.memory.util[{#SNMPVALUE}].min(5m)}>{$MEMORY.UTIL.MAX}` |AVERAGE | | |PSU {#SNMPVALUE}: Power supply is in critical state |Please check the power supply unit for errors
|`{TEMPLATE_NAME:sensor.psu.status[extremePowerSupplyStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1` |AVERAGE | | |Device: Temperature is above warning threshold: >{$TEMP_WARN:""} |This trigger uses temperature sensor values as well as temperature sensor status if available
|`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].avg(5m)}>{$TEMP_WARN:""}`Recovery expression:
`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].max(5m)}<{$TEMP_WARN:""}-3` |WARNING |**Depends on**:
- Device: Temperature is above critical threshold: >{$TEMP_CRIT:""}
| |Device: Temperature is above critical threshold: >{$TEMP_CRIT:""} |This trigger uses temperature sensor values as well as temperature sensor status if available
|`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].avg(5m)}>{$TEMP_CRIT:""} or {Extreme EXOS SNMP:sensor.temp.status[extremeOverTemperatureAlarm.0].last()}={$TEMP_CRIT_STATUS}`Recovery expression:
`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].max(5m)}<{$TEMP_CRIT:""}-3` |HIGH | | |Device: Temperature is too low: <{$TEMP_CRIT_LOW:""} |-
|`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].avg(5m)}<{$TEMP_CRIT_LOW:""}`Recovery expression:
`{TEMPLATE_NAME:sensor.temp.value[extremeCurrentTemperature.0].min(5m)}>{$TEMP_CRIT_LOW:""}+3` |AVERAGE | | ## Feedback Please report any issues with the template at https://support.zabbix.com