IBM IMM SNMP
Macros used
| Name | Value |
|---|---|
| {$DISK_OK_STATUS} | Normal |
| {$FAN_OK_STATUS} | Normal |
| {$HEALTH_CRIT_STATUS} | 2 |
| {$HEALTH_DISASTER_STATUS} | 0 |
| {$HEALTH_WARN_STATUS} | 4 |
| {$ICMP_LOSS_WARN} | 20 |
| {$ICMP_RESPONSE_TIME_WARN} | 0.15 |
| {$PSU_OK_STATUS} | Normal |
| {$SNMP.TIMEOUT} | 5m |
| {$TEMP_CRIT} | 60 |
| {$TEMP_CRIT:"Ambient"} | 35 |
| {$TEMP_CRIT_LOW} | 5 |
| {$TEMP_WARN} | 50 |
| {$TEMP_WARN:"Ambient"} | 30 |
Items collected
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| ICMP ping | - | SIMPLE | - | icmpping |
| ICMP loss | - | SIMPLE | - | icmppingloss |
| ICMP response time | - | SIMPLE | - | icmppingsec |
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items | SNMP_TRAP | - | snmptrap.fallback |
| System contact details | 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. | SNMP_AGENT | 15m | system.contact[sysContact.0] |
| System 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. | SNMP_AGENT | 15m | system.descr[sysDescr.0] |
| Hardware model name | MIB: IMM-MIB | SNMP_AGENT | 1h | system.hw.model |
| Hardware serial number | MIB: IMM-MIB Machine serial number VPD information | SNMP_AGENT | 1h | system.hw.serialnumber |
| System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. | SNMP_AGENT | 15m | system.location[sysLocation.0] |
| System name | 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. | SNMP_AGENT | 15m | system.name |
| System object ID | 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 determiningwhat kind of box' is being managed. For example, if vendorFlintstones, 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'. | SNMP_AGENT | 15m | system.objectid[sysObjectID.0] |
| Overall system health status | MIB: IMM-MIB Indicates status of system health for the system in which the IMM resides. Value of 'nonRecoverable' indicates a severe error has occurred and the system may not be functioning. A value of 'critical' indicates that a error has occurred but the system is currently functioning properly. A value of 'nonCritical' indicates that a condition has occurred that may change the state of the system in the future but currently the system is working properly. A value of 'normal' indicates that the system is operating normally. | SNMP_AGENT | 30s | system.status[systemHealthStat.0] |
| Uptime | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. | SNMP_AGENT | 30s | system.uptime[sysUpTime.0] |
| SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown | INTERNAL | - | zabbix[host,snmp,available] |
Triggers
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. | max(/IBM IMM SNMP/icmpping,#3)=0 | HIGH ⛔ | ICMP ping |
| High ICMP ping loss | - | min(/IBM IMM SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM SNMP/icmppingloss,5m)<100 | WARNING 📢 | ICMP loss |
| High ICMP ping response time | - | avg(/IBM IMM SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} | WARNING 📢 | ICMP response time |
| Device has been replaced | Device serial number has changed. Ack to close | last(/IBM IMM SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM SNMP/system.hw.serialnumber))>0 | INFO 🔔 | Hardware serial number |
| System name has changed | System name has changed. Ack to close. | last(/IBM IMM SNMP/system.name,#1)<>last(/IBM IMM SNMP/system.name,#2) and length(last(/IBM IMM SNMP/system.name))>0 | INFO 🔔 | System name |
| System is in unrecoverable state! | Please check the device for faults | count(/IBM IMM SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 | HIGH ⛔ | Overall system health status |
| System status is in critical state | Please check the device for errors | count(/IBM IMM SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 | HIGH ⛔ | Overall system health status |
| System status is in warning state | Please check the device for warnings | count(/IBM IMM SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 | WARNING 📢 | Overall system health status |
| has been restarted | Uptime is less than 10 minutes. | last(/IBM IMM SNMP/system.uptime[sysUpTime.0])<10m | WARNING 📢 | Uptime |
| No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. | max(/IBM IMM SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 | WARNING 📢 | SNMP agent availability |
Discovery rule №1
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr | SNMP_AGENT | 1h | fan.discovery |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan speed, % | MIB: IMM-MIB Fan speed expressed in percent(%) of maximum RPM. An octet string expressed as 'ddd% of maximum' where:d is a decimal digit or blank space for a leading zero. If the fan is determined not to be running or the fan speed cannot be determined, the string will indicate 'Offline'. | SNMP_AGENT | - | sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}] |
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. | SNMP_AGENT | 3m | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit | count(/IBM IMM SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 | INFO 🔔 | {#FAN_DESCR}: Fan status |
Discovery rule №2
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Physical Disk Discovery | - | SNMP_AGENT | 1h | physicalDisk.discovery |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. | SNMP_AGENT | 1h | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB | SNMP_AGENT | 3m | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors | count(/IBM IMM SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 | WARNING 📢 | {#SNMPINDEX}: Physical disk status |
Discovery rule №3
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName | SNMP_AGENT | 1h | psu.discovery |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. | SNMP_AGENT | 3m | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors | count(/IBM IMM SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 | INFO 🔔 | {#PSU_DESCR}: Power supply status |
Discovery rule №4
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable | SNMP_AGENT | 1h | tempDescr.discovery |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} | SNMP_AGENT | 3m | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} | HIGH ⛔ | {#SNMPVALUE}: Temperature |
| {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} | WARNING 📢 | {#SNMPVALUE}: Temperature |
| {#SNMPVALUE}: Temperature is too low | - | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} | AVERAGE ⚠ | {#SNMPVALUE}: Temperature |
Discovery rule №5
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter | SNMP_AGENT | 1h | tempDescr.discovery.ambient |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient | SNMP_AGENT | 3m | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} | HIGH ⛔ | Ambient: Temperature |
| Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} | WARNING 📢 | Ambient: Temperature |
| Ambient: Temperature is too low | - | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} | AVERAGE ⚠ | Ambient: Temperature |
Discovery rule №6
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter | SNMP_AGENT | 1h | tempDescr.discovery.cpu |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU | SNMP_AGENT | 3m | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} | HIGH ⛔ | CPU: Temperature |
| CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} | WARNING 📢 | CPU: Temperature |
| CPU: Temperature is too low | - | avg(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} | AVERAGE ⚠ | CPU: Temperature |