# 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