Available solutions
IBM IMM by SNMP
Overview
for IMM2 and IMM1 IBM serverX hardware
Known Issues:
Description: Some IMMs (IMM1) do not return disks
- version: IMM1
- device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- version: IMM1
- device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Refer to the vendor documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$TEMP_CRIT} | 60 |
|
| {$TEMP_CRIT_LOW} | 5 |
|
| {$TEMP_WARN} | 50 |
|
| {$HEALTH_CRIT_STATUS} | 2 |
|
| {$HEALTH_DISASTER_STATUS} | 0 |
|
| {$HEALTH_WARN_STATUS} | 4 |
|
| {$TEMP_CRIT:"Ambient"} | 35 |
|
| {$TEMP_WARN:"Ambient"} | 30 |
|
| {$DISK_OK_STATUS} | Normal |
|
| {$PSU_OK_STATUS} | Normal |
|
| {$FAN_OK_STATUS} | Normal |
|
| {$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
| {$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
| {$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| 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 an 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 | system.status[systemHealthStat.0] |
| Hardware model name | MIB: IMM-MIB |
SNMP agent | system.hw.model Preprocessing
|
| Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP agent | system.hw.serialnumber Preprocessing
|
| Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
| Uptime (hardware) | 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. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
| 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 | system.contact[sysContact.0] Preprocessing
|
| 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 determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
| 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 | system.name Preprocessing
|
| 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 | system.descr[sysDescr.0] Preprocessing
|
| SNMP agent availability | 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 |
Zabbix internal | zabbix[host,snmp,available] |
| ICMP ping | The host accessibility by ICMP ping. 0 - ICMP ping fails; 1 - ICMP ping successful. |
Simple check | icmpping |
| ICMP loss | The percentage of lost packets. |
Simple check | icmppingloss |
| ICMP response time | The ICMP ping response time (in seconds). |
Simple check | icmppingsec |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
High | |
| IBM IMM: System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
High | Depends on:
|
| IBM IMM: System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
Warning | Depends on:
|
| IBM IMM: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
Info | Manual close: Yes |
| IBM IMM: Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
| IBM IMM: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
Info | Manual close: Yes |
| IBM IMM: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
| IBM IMM: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
High | |
| IBM IMM: High ICMP ping loss | ICMP packets loss detected. |
min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
| IBM IMM: High ICMP ping response time | Average ICMP response time is too high. |
avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP agent | tempDescr.discovery |
Item prototypes for Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP agent | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} |
Warning | Depends on:
|
| IBM IMM: {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} |
High | |
| IBM IMM: {#SNMPVALUE}: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |
Average |
LLD rule Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP agent | tempDescr.discovery.ambient |
Item prototypes for Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP agent | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery Ambient
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} |
Warning | Depends on:
|
| IBM IMM: Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} |
High | |
| IBM IMM: Ambient: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} |
Average |
LLD rule Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP agent | tempDescr.discovery.cpu |
Item prototypes for Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP agent | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery CPU
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} |
Warning | Depends on:
|
| IBM IMM: CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} |
High | |
| IBM IMM: CPU: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} |
Average |
LLD rule PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName |
SNMP agent | psu.discovery |
Item prototypes for PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP agent | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes for PSU Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
Info |
LLD rule FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP agent | fan.discovery |
Item prototypes for FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP agent | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| {#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}] Preprocessing
|
Trigger prototypes for FAN Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
Info |
LLD rule Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical Disk Discovery | SNMP agent | physicalDisk.discovery |
Item prototypes for Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP agent | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP agent | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
Trigger prototypes for Physical Disk Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
Warning |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
IBM IMM by SNMP
Overview
for IMM2 and IMM1 IBM serverX hardware
Known Issues:
Description: Some IMMs (IMM1) do not return disks
- version: IMM1
- device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- version: IMM1
- device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Refer to the vendor documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$TEMP_CRIT} | 60 |
|
| {$TEMP_CRIT_LOW} | 5 |
|
| {$TEMP_WARN} | 50 |
|
| {$HEALTH_CRIT_STATUS} | 2 |
|
| {$HEALTH_DISASTER_STATUS} | 0 |
|
| {$HEALTH_WARN_STATUS} | 4 |
|
| {$TEMP_CRIT:"Ambient"} | 35 |
|
| {$TEMP_WARN:"Ambient"} | 30 |
|
| {$DISK_OK_STATUS} | Normal |
|
| {$PSU_OK_STATUS} | Normal |
|
| {$FAN_OK_STATUS} | Normal |
|
| {$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
| {$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
| {$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| 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 an 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 | system.status[systemHealthStat.0] |
| Hardware model name | MIB: IMM-MIB |
SNMP agent | system.hw.model Preprocessing
|
| Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP agent | system.hw.serialnumber Preprocessing
|
| Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
| Uptime (hardware) | 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. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
| 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 | system.contact[sysContact.0] Preprocessing
|
| 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 determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
| 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 | system.name Preprocessing
|
| 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 | system.descr[sysDescr.0] Preprocessing
|
| SNMP agent availability | 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 |
Zabbix internal | zabbix[host,snmp,available] |
| ICMP ping | Simple check | icmpping | |
| ICMP loss | Simple check | icmppingloss | |
| ICMP response time | Simple check | icmppingsec |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
High | |
| IBM IMM: System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
High | Depends on:
|
| IBM IMM: System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
Warning | Depends on:
|
| IBM IMM: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
Info | Manual close: Yes |
| IBM IMM: Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
| IBM IMM: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
Info | Manual close: Yes |
| IBM IMM: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
| IBM IMM: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
High | |
| IBM IMM: High ICMP ping loss | min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
| IBM IMM: High ICMP ping response time | Average ICMP response time is too high. |
avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP agent | tempDescr.discovery |
Item prototypes for Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP agent | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} |
Warning | Depends on:
|
| IBM IMM: {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} |
High | |
| IBM IMM: {#SNMPVALUE}: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |
Average |
LLD rule Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP agent | tempDescr.discovery.ambient |
Item prototypes for Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP agent | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery Ambient
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} |
Warning | Depends on:
|
| IBM IMM: Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} |
High | |
| IBM IMM: Ambient: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} |
Average |
LLD rule Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP agent | tempDescr.discovery.cpu |
Item prototypes for Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP agent | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery CPU
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} |
Warning | Depends on:
|
| IBM IMM: CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} |
High | |
| IBM IMM: CPU: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} |
Average |
LLD rule PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName |
SNMP agent | psu.discovery |
Item prototypes for PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP agent | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes for PSU Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
Info |
LLD rule FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP agent | fan.discovery |
Item prototypes for FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP agent | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| {#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}] Preprocessing
|
Trigger prototypes for FAN Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
Info |
LLD rule Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical Disk Discovery | SNMP agent | physicalDisk.discovery |
Item prototypes for Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP agent | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP agent | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
Trigger prototypes for Physical Disk Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
Warning |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
IBM IMM by SNMP
Overview
for IMM2 and IMM1 IBM serverX hardware
Known Issues:
Description: Some IMMs (IMM1) do not return disks
- version: IMM1
- device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- version: IMM1
- device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Refer to the vendor documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$TEMP_CRIT} | 60 |
|
| {$TEMP_CRIT_LOW} | 5 |
|
| {$TEMP_WARN} | 50 |
|
| {$HEALTH_CRIT_STATUS} | 2 |
|
| {$HEALTH_DISASTER_STATUS} | 0 |
|
| {$HEALTH_WARN_STATUS} | 4 |
|
| {$TEMP_CRIT:"Ambient"} | 35 |
|
| {$TEMP_WARN:"Ambient"} | 30 |
|
| {$DISK_OK_STATUS} | Normal |
|
| {$PSU_OK_STATUS} | Normal |
|
| {$FAN_OK_STATUS} | Normal |
|
| {$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
| {$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
| {$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| 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 an 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 | system.status[systemHealthStat.0] |
| Hardware model name | MIB: IMM-MIB |
SNMP agent | system.hw.model Preprocessing
|
| Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP agent | system.hw.serialnumber Preprocessing
|
| Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
| Uptime (hardware) | 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. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
| 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 | system.contact[sysContact.0] Preprocessing
|
| 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 determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
| 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 | system.name Preprocessing
|
| 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 | system.descr[sysDescr.0] Preprocessing
|
| SNMP agent availability | 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 |
Zabbix internal | zabbix[host,snmp,available] |
| ICMP ping | The host accessibility by ICMP ping. 0 - ICMP ping fails; 1 - ICMP ping successful. |
Simple check | icmpping |
| ICMP loss | The percentage of lost packets. |
Simple check | icmppingloss |
| ICMP response time | The ICMP ping response time (in seconds). |
Simple check | icmppingsec |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
High | |
| IBM IMM: System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
High | Depends on:
|
| IBM IMM: System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
Warning | Depends on:
|
| IBM IMM: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
Info | Manual close: Yes |
| IBM IMM: Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
| IBM IMM: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
Info | Manual close: Yes |
| IBM IMM: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
| IBM IMM: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
High | |
| IBM IMM: High ICMP ping loss | ICMP packets loss detected. |
min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
| IBM IMM: High ICMP ping response time | Average ICMP response time is too high. |
avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP agent | tempDescr.discovery |
Item prototypes for Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP agent | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} |
Warning | Depends on:
|
| IBM IMM: {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} |
High | |
| IBM IMM: {#SNMPVALUE}: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |
Average |
LLD rule Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP agent | tempDescr.discovery.ambient |
Item prototypes for Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP agent | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery Ambient
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} |
Warning | Depends on:
|
| IBM IMM: Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} |
High | |
| IBM IMM: Ambient: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} |
Average |
LLD rule Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP agent | tempDescr.discovery.cpu |
Item prototypes for Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP agent | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery CPU
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} |
Warning | Depends on:
|
| IBM IMM: CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} |
High | |
| IBM IMM: CPU: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} |
Average |
LLD rule PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName |
SNMP agent | psu.discovery |
Item prototypes for PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP agent | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes for PSU Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
Info |
LLD rule FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP agent | fan.discovery |
Item prototypes for FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP agent | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| {#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}] Preprocessing
|
Trigger prototypes for FAN Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
Info |
LLD rule Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical Disk Discovery | SNMP agent | physicalDisk.discovery |
Item prototypes for Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP agent | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP agent | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
Trigger prototypes for Physical Disk Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
Warning |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
IBM IMM by SNMP
Overview
for IMM2 and IMM1 IBM serverX hardware
Known Issues:
Description: Some IMMs (IMM1) do not return disks
- version: IMM1
- device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- version: IMM1
- device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Refer to the vendor documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$TEMP_CRIT} | 60 |
|
| {$TEMP_CRIT_LOW} | 5 |
|
| {$TEMP_WARN} | 50 |
|
| {$HEALTH_CRIT_STATUS} | 2 |
|
| {$HEALTH_DISASTER_STATUS} | 0 |
|
| {$HEALTH_WARN_STATUS} | 4 |
|
| {$TEMP_CRIT:"Ambient"} | 35 |
|
| {$TEMP_WARN:"Ambient"} | 30 |
|
| {$DISK_OK_STATUS} | Normal |
|
| {$PSU_OK_STATUS} | Normal |
|
| {$FAN_OK_STATUS} | Normal |
|
| {$SNMP.TIMEOUT} | 5m |
|
| {$ICMP_LOSS_WARN} | 20 |
|
| {$ICMP_RESPONSE_TIME_WARN} | 0.15 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IBM IMM: 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 an 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 | system.status[systemHealthStat.0] |
| IBM IMM: Hardware model name | MIB: IMM-MIB |
SNMP agent | system.hw.model Preprocessing
|
| IBM IMM: Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP agent | system.hw.serialnumber Preprocessing
|
| IBM IMM: Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
| IBM IMM: Uptime (hardware) | 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. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
| IBM IMM: SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| IBM IMM: 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 | system.location[sysLocation.0] Preprocessing
|
| IBM IMM: 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 | system.contact[sysContact.0] Preprocessing
|
| IBM IMM: 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 determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
| IBM IMM: 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 | system.name Preprocessing
|
| IBM IMM: 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 | system.descr[sysDescr.0] Preprocessing
|
| IBM IMM: 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 |
Zabbix internal | zabbix[host,snmp,available] |
| IBM IMM: ICMP ping | Simple check | icmpping | |
| IBM IMM: ICMP loss | Simple check | icmppingloss | |
| IBM IMM: ICMP response time | Simple check | icmppingsec |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
High | |
| IBM IMM: System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
High | Depends on:
|
| IBM IMM: System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
Warning | Depends on:
|
| IBM IMM: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
Info | Manual close: Yes |
| IBM IMM: Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
| IBM IMM: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
Info | Manual close: Yes |
| IBM IMM: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
| IBM IMM: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
High | |
| IBM IMM: High ICMP ping loss | min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
| IBM IMM: High ICMP ping response time | avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP agent | tempDescr.discovery |
Item prototypes for Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP agent | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} |
Warning | Depends on:
|
| {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} |
High | |
| {#SNMPVALUE}: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |
Average |
LLD rule Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP agent | tempDescr.discovery.ambient |
Item prototypes for Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP agent | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery Ambient
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} |
Warning | Depends on:
|
| Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} |
High | |
| Ambient: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} |
Average |
LLD rule Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP agent | tempDescr.discovery.cpu |
Item prototypes for Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP agent | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery CPU
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} |
Warning | Depends on:
|
| CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} |
High | |
| CPU: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} |
Average |
LLD rule PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName |
SNMP agent | psu.discovery |
Item prototypes for PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP agent | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes for PSU Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
Info |
LLD rule FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP agent | fan.discovery |
Item prototypes for FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP agent | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| {#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}] Preprocessing
|
Trigger prototypes for FAN Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
Info |
LLD rule Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical Disk Discovery | SNMP agent | physicalDisk.discovery |
Item prototypes for Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP agent | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP agent | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
Trigger prototypes for Physical Disk Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
Warning |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
IBM IMM by SNMP
Overview
For Zabbix version: 6.2 and higher. for IMM2 and IMM1 IBM serverX hardware
This template was tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Setup
Refer to the vendor documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$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:"Ambient"} | - |
35 |
| {$TEMP_CRIT_LOW} | - |
5 |
| {$TEMP_CRIT} | - |
60 |
| {$TEMP_WARN:"Ambient"} | - |
30 |
| {$TEMP_WARN} | - |
50 |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP | fan.discovery |
| Physical Disk Discovery | - |
SNMP | physicalDisk.discovery |
| PSU Discovery | IMM-MIB::powerFruName |
SNMP | psu.discovery |
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP | tempDescr.discovery Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX `(DIMM |
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP | tempDescr.discovery.ambient Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX |
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP | tempDescr.discovery.cpu Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| Fans | {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| Fans | {#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 | sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}] Preprocessing: - REGEX: |
| General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
| General | 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 | system.location[sysLocation.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.contact[sysContact.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 determining |
SNMP | system.objectid[sysObjectID.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.name Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.descr[sysDescr.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Inventory | Hardware model name | MIB: IMM-MIB |
SNMP | system.hw.model Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Inventory | Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP | system.hw.serialnumber Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Physical disks | {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| Physical disks | {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
| Power supply | {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
| Status | 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 | system.status[systemHealthStat.0] |
| Status | Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.net.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
| Status | Uptime (hardware) | 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. |
SNMP | system.hw.uptime[hrSystemUptime.0] Preprocessing: - CHECK_NOT_SUPPORTED ⛔️ON_FAIL: - MULTIPLIER: |
| Status | 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] |
| Status | ICMP ping | - |
SIMPLE | icmpping |
| Status | ICMP loss | - |
SIMPLE | icmppingloss |
| Status | ICMP response time | - |
SIMPLE | icmppingsec |
| Temperature | {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP | sensor.temp.value[tempReading.{#SNMPINDEX}] |
| Temperature | Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
| Temperature | CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
INFO | |
| System name has changed | System name has changed. Ack to close. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
INFO | Manual close: YES |
| Device has been replaced | Device serial number has changed. Ack to close |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
INFO | Manual close: YES |
| {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
WARNING | |
| {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
INFO | |
| System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
HIGH | |
| System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
HIGH | Depends on: - System is in unrecoverable state! |
| System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
WARNING | Depends on: - System is in unrecoverable state! - System status is in critical state |
| Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
| No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
WARNING | Depends on: - Unavailable by ICMP ping |
| Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
HIGH | |
| High ICMP ping loss | - |
min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
WARNING | Depends on: - Unavailable by ICMP ping |
| High ICMP ping response time | - |
avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
WARNING | Depends on: - High ICMP ping loss - Unavailable by ICMP ping |
| {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_WARN:"{#SNMPVALUE}"}-3 |
WARNING | Depends on: - {#SNMPVALUE}: Temperature is above critical threshold |
| {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"{#SNMPVALUE}"}-3 |
HIGH | |
| {#SNMPVALUE}: Temperature is too low | - |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}Recovery expression: min(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}+3 |
AVERAGE | |
| Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Ambient"}-3 |
WARNING | Depends on: - Ambient: Temperature is above critical threshold |
| Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Ambient"}-3 |
HIGH | |
| Ambient: Temperature is too low | - |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"}Recovery expression: min(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Ambient"}+3 |
AVERAGE | |
| CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3 |
WARNING | Depends on: - CPU: Temperature is above critical threshold |
| CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}Recovery expression: max(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3 |
HIGH | |
| CPU: Temperature is too low | - |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}Recovery expression: min(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3 |
AVERAGE |
Feedback
Please report any issues with the template at https://support.zabbix.com.
Known Issues
-
Description: Some IMMs (IMM1) do not return disks
- Version: IMM1
- Device: IBM x3250M3
-
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- Version: IMM1
- Device: IBM x3250M3
-
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)
-
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)
IBM IMM by SNMP
Overview
for IMM2 and IMM1 IBM serverX hardware
Known Issues:
Description: Some IMMs (IMM1) do not return disks
- version: IMM1
- device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- version: IMM1
- device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- version: IMM1
- device: IMM1 servers (M2,M3 generations)
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Refer to the vendor documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$TEMP_CRIT} | 60 |
|
| {$TEMP_CRIT_LOW} | 5 |
|
| {$TEMP_WARN} | 50 |
|
| {$HEALTH_CRIT_STATUS} | 2 |
|
| {$HEALTH_DISASTER_STATUS} | 0 |
|
| {$HEALTH_WARN_STATUS} | 4 |
|
| {$TEMP_CRIT:"Ambient"} | 35 |
|
| {$TEMP_WARN:"Ambient"} | 30 |
|
| {$DISK_OK_STATUS} | Normal |
|
| {$PSU_OK_STATUS} | Normal |
|
| {$FAN_OK_STATUS} | Normal |
|
| {$SNMP.TIMEOUT} | 5m |
|
| {$ICMP_LOSS_WARN} | 20 |
|
| {$ICMP_RESPONSE_TIME_WARN} | 0.15 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IBM IMM: 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 an 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 | system.status[systemHealthStat.0] |
| IBM IMM: Hardware model name | MIB: IMM-MIB |
SNMP agent | system.hw.model Preprocessing
|
| IBM IMM: Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP agent | system.hw.serialnumber Preprocessing
|
| IBM IMM: Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
| IBM IMM: Uptime (hardware) | 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. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
| IBM IMM: SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| IBM IMM: 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 | system.location[sysLocation.0] Preprocessing
|
| IBM IMM: 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 | system.contact[sysContact.0] Preprocessing
|
| IBM IMM: 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 determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
| IBM IMM: 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 | system.name Preprocessing
|
| IBM IMM: 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 | system.descr[sysDescr.0] Preprocessing
|
| IBM IMM: 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 |
Zabbix internal | zabbix[host,snmp,available] |
| IBM IMM: ICMP ping | Simple check | icmpping | |
| IBM IMM: ICMP loss | Simple check | icmppingloss | |
| IBM IMM: ICMP response time | Simple check | icmppingsec |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IBM IMM: System is in unrecoverable state! | Please check the device for faults |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_DISASTER_STATUS}")=1 |
High | |
| IBM IMM: System status is in critical state | Please check the device for errors |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_CRIT_STATUS}")=1 |
High | Depends on:
|
| IBM IMM: System status is in warning state | Please check the device for warnings |
count(/IBM IMM by SNMP/system.status[systemHealthStat.0],#1,"eq","{$HEALTH_WARN_STATUS}")=1 |
Warning | Depends on:
|
| IBM IMM: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.hw.serialnumber,#1)<>last(/IBM IMM by SNMP/system.hw.serialnumber,#2) and length(last(/IBM IMM by SNMP/system.hw.serialnumber))>0 |
Info | Manual close: Yes |
| IBM IMM: Host has been restarted | Uptime is less than 10 minutes. |
(last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/IBM IMM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/IBM IMM by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
| IBM IMM: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/IBM IMM by SNMP/system.name,#1)<>last(/IBM IMM by SNMP/system.name,#2) and length(last(/IBM IMM by SNMP/system.name))>0 |
Info | Manual close: Yes |
| IBM IMM: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/IBM IMM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
| IBM IMM: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/IBM IMM by SNMP/icmpping,#3)=0 |
High | |
| IBM IMM: High ICMP ping loss | min(/IBM IMM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/IBM IMM by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
| IBM IMM: High ICMP ping response time | avg(/IBM IMM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP agent | tempDescr.discovery |
Item prototypes for Temperature Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP agent | sensor.temp.value[tempReading.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} |
Warning | Depends on:
|
| {#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} |
High | |
| {#SNMPVALUE}: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |
Average |
LLD rule Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP agent | tempDescr.discovery.ambient |
Item prototypes for Temperature Discovery Ambient
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP agent | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery Ambient
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Ambient: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Ambient"} |
Warning | Depends on:
|
| Ambient: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Ambient"} |
High | |
| Ambient: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"} |
Average |
LLD rule Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP agent | tempDescr.discovery.cpu |
Item prototypes for Temperature Discovery CPU
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP agent | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Trigger prototypes for Temperature Discovery CPU
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| CPU: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"} |
Warning | Depends on:
|
| CPU: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"} |
High | |
| CPU: Temperature is too low | avg(/IBM IMM by SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"} |
Average |
LLD rule PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PSU Discovery | IMM-MIB::powerFruName |
SNMP agent | psu.discovery |
Item prototypes for PSU Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP agent | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
Trigger prototypes for PSU Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
count(/IBM IMM by SNMP/sensor.psu.status[powerHealthStatus.{#SNMPINDEX}],#1,"ne","{$PSU_OK_STATUS}")=1 |
Info |
LLD rule FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FAN Discovery | IMM-MIB::fanDescr |
SNMP agent | fan.discovery |
Item prototypes for FAN Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP agent | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| {#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}] Preprocessing
|
Trigger prototypes for FAN Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
count(/IBM IMM by SNMP/sensor.fan.status[fanHealthStatus.{#SNMPINDEX}],#1,"ne","{$FAN_OK_STATUS}")=1 |
Info |
LLD rule Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical Disk Discovery | SNMP agent | physicalDisk.discovery |
Item prototypes for Physical Disk Discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP agent | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP agent | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
Trigger prototypes for Physical Disk Discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
count(/IBM IMM by SNMP/system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}],#1,"ne","{$DISK_OK_STATUS}")=1 |
Warning |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
IBM IMM SNMP
Overview
For Zabbix version: 5.4 and higher
for IMM2 and IMM1 IBM serverX hardware
This template was tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Setup
Refer to the vendor documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$DISK_OK_STATUS} | - |
Normal |
| {$FAN_OK_STATUS} | - |
Normal |
| {$HEALTH_CRIT_STATUS} | - |
2 |
| {$HEALTH_DISASTER_STATUS} | - |
0 |
| {$HEALTH_WARN_STATUS} | - |
4 |
| {$PSU_OK_STATUS} | - |
Normal |
| {$TEMP_CRIT:"Ambient"} | - |
35 |
| {$TEMP_CRIT_LOW} | - |
5 |
| {$TEMP_CRIT} | - |
60 |
| {$TEMP_WARN:"Ambient"} | - |
30 |
| {$TEMP_WARN} | - |
50 |
Template links
| Name |
|---|
| Generic SNMP |
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP | tempDescr.discovery Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX `(DIMM |
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP | tempDescr.discovery.ambient Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX |
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP | tempDescr.discovery.cpu Filter: AND_OR- {#SNMPVALUE} MATCHES_REGEX |
| PSU Discovery | IMM-MIB::powerFruName |
SNMP | psu.discovery |
| FAN Discovery | IMM-MIB::fanDescr |
SNMP | fan.discovery |
| Physical Disk Discovery | - |
SNMP | physicalDisk.discovery |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| Fans | {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| Fans | {#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 | sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}] Preprocessing: - REGEX: |
| Inventory | Hardware model name | MIB: IMM-MIB |
SNMP | system.hw.model Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Inventory | Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP | system.hw.serialnumber Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Physical_disks | {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| Physical_disks | {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
| Power_supply | {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
| Status | 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 | system.status[systemHealthStat.0] |
| Temperature | {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP | sensor.temp.value[tempReading.{#SNMPINDEX}] |
| Temperature | Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
| Temperature | CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#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 | |
| Device has been replaced (new serial number received) | 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 | Manual close: YES |
| {#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 | |
| {#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 | |
| 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 | |
| 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 | Depends on: - System is in unrecoverable state! |
| 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 | Depends on: - System is in unrecoverable state! - System status is in critical state |
| {#SNMPVALUE}: Temperature is above warning threshold: >{$TEMP_WARN:""} | 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:""}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_WARN:""}-3 |
WARNING | Depends on: - {#SNMPVALUE}: Temperature is above critical threshold: >{$TEMP_CRIT:""} |
| {#SNMPVALUE}: Temperature is above critical threshold: >{$TEMP_CRIT:""} | 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:""}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT:""}-3 |
HIGH | |
| {#SNMPVALUE}: Temperature is too low: <{$TEMP_CRIT_LOW:""} | - |
avg(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:""}Recovery expression: min(/IBM IMM SNMP/sensor.temp.value[tempReading.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:""}+3 |
AVERAGE | |
| Ambient: Temperature is above warning threshold: >{$TEMP_WARN:"Ambient"} | 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"}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Ambient"}-3 |
WARNING | Depends on: - Ambient: Temperature is above critical threshold: >{$TEMP_CRIT:"Ambient"} |
| Ambient: Temperature is above critical threshold: >{$TEMP_CRIT:"Ambient"} | 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"}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Ambient"}-3 |
HIGH | |
| Ambient: Temperature is too low: <{$TEMP_CRIT_LOW:"Ambient"} | - |
avg(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Ambient"}Recovery expression: min(/IBM IMM SNMP/sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Ambient"}+3 |
AVERAGE | |
| CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"} | 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"}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3 |
WARNING | Depends on: - CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"} |
| CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"} | 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"}Recovery expression: max(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3 |
HIGH | |
| CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"} | - |
avg(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}Recovery expression: min(/IBM IMM SNMP/sensor.temp.value[tempReading.CPU.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3 |
AVERAGE |
Feedback
Please report any issues with the template at https://support.zabbix.com
Known Issues
-
Description: Some IMMs (IMM1) do not return disks
- Version: IMM1
- Device: IBM x3250M3
-
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- Version: IMM1
- Device: IBM x3250M3
-
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)
-
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)
Template Server IBM IMM SNMP
Overview
For Zabbix version: 5.0 and higher
for IMM2 and IMM1 IBM serverX hardware
This template was tested on:
- IBM System x3550 M2 with IMM1
- IBM x3250M3 with IMM1
- IBM x3550M5 with IMM2
- System x3550 M3 with IMM1
Setup
Refer to the vendor documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$DISK_OK_STATUS} | - |
Normal |
| {$FAN_OK_STATUS} | - |
Normal |
| {$HEALTH_CRIT_STATUS} | - |
2 |
| {$HEALTH_DISASTER_STATUS} | - |
0 |
| {$HEALTH_WARN_STATUS} | - |
4 |
| {$PSU_OK_STATUS} | - |
Normal |
| {$TEMP_CRIT:"Ambient"} | - |
35 |
| {$TEMP_CRIT_LOW} | - |
5 |
| {$TEMP_CRIT} | - |
60 |
| {$TEMP_WARN:"Ambient"} | - |
30 |
| {$TEMP_WARN} | - |
50 |
Template links
| Name |
|---|
| Generic SNMP |
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Temperature Discovery | Scanning IMM-MIB::tempTable |
SNMP | tempDescr.discovery Filter: AND_OR- B: {#SNMPVALUE} MATCHES_REGEX `(DIMM |
| Temperature Discovery Ambient | Scanning IMM-MIB::tempTable with Ambient filter |
SNMP | tempDescr.discovery.ambient Filter: AND_OR- B: {#SNMPVALUE} MATCHES_REGEX |
| Temperature Discovery CPU | Scanning IMM-MIB::tempTable with CPU filter |
SNMP | tempDescr.discovery.cpu Filter: AND_OR- B: {#SNMPVALUE} MATCHES_REGEX |
| PSU Discovery | IMM-MIB::powerFruName |
SNMP | psu.discovery |
| FAN Discovery | IMM-MIB::fanDescr |
SNMP | fan.discovery |
| Physical Disk Discovery | - |
SNMP | physicalDisk.discovery |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| Fans | {#FAN_DESCR}: Fan status | MIB: IMM-MIB A description of the fan component status. |
SNMP | sensor.fan.status[fanHealthStatus.{#SNMPINDEX}] |
| Fans | {#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 | sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}] Preprocessing: - REGEX: |
| Inventory | Hardware model name | MIB: IMM-MIB |
SNMP | system.hw.model Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Inventory | Hardware serial number | MIB: IMM-MIB Machine serial number VPD information |
SNMP | system.hw.serialnumber Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Physical_disks | {#SNMPINDEX}: Physical disk status | MIB: IMM-MIB |
SNMP | system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}] |
| Physical_disks | {#SNMPINDEX}: Physical disk part number | MIB: IMM-MIB disk module FRU name. |
SNMP | system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}] |
| Power_supply | {#PSU_DESCR}: Power supply status | MIB: IMM-MIB A description of the power module status. |
SNMP | sensor.psu.status[powerHealthStatus.{#SNMPINDEX}] |
| Status | 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 | system.status[systemHealthStat.0] |
| Temperature | {#SNMPVALUE}: Temperature | MIB: IMM-MIB Temperature readings of testpoint: {#SNMPVALUE} |
SNMP | sensor.temp.value[tempReading.{#SNMPINDEX}] |
| Temperature | Ambient: Temperature | MIB: IMM-MIB Temperature readings of testpoint: Ambient |
SNMP | sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}] |
| Temperature | CPU: Temperature | MIB: IMM-MIB Temperature readings of testpoint: CPU |
SNMP | sensor.temp.value[tempReading.CPU.{#SNMPINDEX}] |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| {#FAN_DESCR}: Fan is not in normal state | Please check the fan unit |
{TEMPLATE_NAME:sensor.fan.status[fanHealthStatus.{#SNMPINDEX}].count(#1,{$FAN_OK_STATUS},ne)}=1 |
INFO | |
| 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 |
| {#SNMPINDEX}: Physical disk is not in OK state | Please check physical disk for warnings or errors |
{TEMPLATE_NAME:system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}].count(#1,{$DISK_OK_STATUS},ne)}=1 |
WARNING | |
| {#PSU_DESCR}: Power supply is not in normal state | Please check the power supply unit for errors |
{TEMPLATE_NAME:sensor.psu.status[powerHealthStatus.{#SNMPINDEX}].count(#1,{$PSU_OK_STATUS},ne)}=1 |
INFO | |
| System is in unrecoverable state! | Please check the device for faults |
{TEMPLATE_NAME:system.status[systemHealthStat.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1 |
HIGH | |
| System status is in critical state | Please check the device for errors |
{TEMPLATE_NAME:system.status[systemHealthStat.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1 |
HIGH | Depends on: - System is in unrecoverable state! |
| System status is in warning state | Please check the device for warnings |
{TEMPLATE_NAME:system.status[systemHealthStat.0].count(#1,{$HEALTH_WARN_STATUS},eq)}=1 |
WARNING | Depends on: - System is in unrecoverable state! - System status is in critical state |
| {#SNMPVALUE}: 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[tempReading.{#SNMPINDEX}].avg(5m)}>{$TEMP_WARN:""}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.{#SNMPINDEX}].max(5m)}<{$TEMP_WARN:""}-3 |
WARNING | Depends on: - {#SNMPVALUE}: Temperature is above critical threshold: >{$TEMP_CRIT:""} |
| {#SNMPVALUE}: 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[tempReading.{#SNMPINDEX}].avg(5m)}>{$TEMP_CRIT:""}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.{#SNMPINDEX}].max(5m)}<{$TEMP_CRIT:""}-3 |
HIGH | |
| {#SNMPVALUE}: Temperature is too low: <{$TEMP_CRIT_LOW:""} | - |
{TEMPLATE_NAME:sensor.temp.value[tempReading.{#SNMPINDEX}].avg(5m)}<{$TEMP_CRIT_LOW:""}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.{#SNMPINDEX}].min(5m)}>{$TEMP_CRIT_LOW:""}+3 |
AVERAGE | |
| Ambient: Temperature is above warning threshold: >{$TEMP_WARN:"Ambient"} | This trigger uses temperature sensor values as well as temperature sensor status if available |
{TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].avg(5m)}>{$TEMP_WARN:"Ambient"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].max(5m)}<{$TEMP_WARN:"Ambient"}-3 |
WARNING | Depends on: - Ambient: Temperature is above critical threshold: >{$TEMP_CRIT:"Ambient"} |
| Ambient: Temperature is above critical threshold: >{$TEMP_CRIT:"Ambient"} | This trigger uses temperature sensor values as well as temperature sensor status if available |
{TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].avg(5m)}>{$TEMP_CRIT:"Ambient"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].max(5m)}<{$TEMP_CRIT:"Ambient"}-3 |
HIGH | |
| Ambient: Temperature is too low: <{$TEMP_CRIT_LOW:"Ambient"} | - |
{TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].avg(5m)}<{$TEMP_CRIT_LOW:"Ambient"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].min(5m)}>{$TEMP_CRIT_LOW:"Ambient"}+3 |
AVERAGE | |
| CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"} | This trigger uses temperature sensor values as well as temperature sensor status if available |
{TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].avg(5m)}>{$TEMP_WARN:"CPU"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].max(5m)}<{$TEMP_WARN:"CPU"}-3 |
WARNING | Depends on: - CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"} |
| CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"} | This trigger uses temperature sensor values as well as temperature sensor status if available |
{TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].avg(5m)}>{$TEMP_CRIT:"CPU"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].max(5m)}<{$TEMP_CRIT:"CPU"}-3 |
HIGH | |
| CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"} | - |
{TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].avg(5m)}<{$TEMP_CRIT_LOW:"CPU"}Recovery expression: {TEMPLATE_NAME:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].min(5m)}>{$TEMP_CRIT_LOW:"CPU"}+3 |
AVERAGE |
Feedback
Please report any issues with the template at https://support.zabbix.com
Known Issues
-
Description: Some IMMs (IMM1) do not return disks
- Version: IMM1
- Device: IBM x3250M3
-
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
- Version: IMM1
- Device: IBM x3250M3
-
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)
-
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
- Version: IMM1
- Device: IMM1 servers (M2,M3 generations)

IBM Maximo Service Request webhook
Overview
This guide describes how to integrate your Zabbix installation with IBM Maximo Service Request using its API and the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
Supported features:
- Service request creation
- Custom reported priority
- Custom asset number
- Custom classification IDs
Requirements
Zabbix version: 7.4 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| tls_verify | {$HTTP.TLS.VERIFY:"IBM Maximo Service Request"} | TLS certificate verification for HTTP requests: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this media type only, define the global macro with the context "IBM Maximo Service Request", e.g. {$HTTP.TLS.VERIFY:"IBM Maximo Service Request"}. |
| api_endpoint | <ENTER YOUR API ENDPOINT> | IBM Maximo API endpoint. |
| api_key | <ENTER YOUR API KEY> | API key that will be used to access IBM Maximo. |
| reported_priority | Use a custom reported priority here instead of event severity. | |
| use_oslc_format | true | true to use OSLC API, false to use REST API. |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| event_name | {EVENT.NAME} | Name of the problem event that triggered an action. |
| class_structure_id | {ALERT.SENDTO} | A numeric ID of the under which the Service Request will be created. |
| asset_number | {INVENTORY.ASSET.TAG} | Inventory asset tag. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
1. In IBM Maximo, create an API key in Administration Work Center under the Integration tab.
2. Grant permissions to the MXAPISR data set in Security Groups / Object Structures.
3. Configure the endpoint in Integration > External Systems and Enterprise Services.
Zabbix configuration
- Import the media type:
- In the Alerts > Media types section, import the
media_maximo_service_request.yamlfile.
- Open the imported IBM Maximo Service Request media type and set the following webhook parameters:
api_endpoint- the address of the IBM Maximo Service Request endpoint.api_key- the key to access the API.reported_priority- optional. Reported priority to create the Service Request with. Leave empty to use the event severity from Zabbix.use_oslc_format- optional, boolean.trueto use OSLC API,falseto use REST API. Default value -true.
-
Click the Enabled checkbox to enable the media type and click the Update button to save the webhook settings.
-
Create a Zabbix user and add media:
- To create a new user, go to the Users > Users section and click the Create user button in the top-right corner. In the User tab, fill in all the required fields (marked with red asterisks).
- Make sure this user has access to all the hosts for which you would like problem notifications to be sent to IBM Maximo Service Request.
- In the Media tab, click Add and select IBM Maximo Service Request from the Type drop-down list.
- In the Send to field, specify the
classstructureid- the classification ID under which to create the Service Request.
- Done! You can now start using this media type in actions and send notifications.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.

IBM Maximo Service Request webhook
Overview
This guide describes how to integrate your Zabbix installation with IBM Maximo Service Request using its API and the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
Supported features:
- Service request creation
- Custom reported priority
- Custom asset number
- Custom classification IDs
Requirements
Zabbix version: 7.0 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| tls_verify | {$HTTP.TLS.VERIFY:"IBM Maximo Service Request"} | TLS certificate verification for HTTP requests: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this media type only, define the global macro with the context "IBM Maximo Service Request", e.g. {$HTTP.TLS.VERIFY:"IBM Maximo Service Request"}. |
| api_endpoint | <ENTER YOUR API ENDPOINT> | IBM Maximo API endpoint. |
| api_key | <ENTER YOUR API KEY> | API key that will be used to access IBM Maximo. |
| reported_priority | Use a custom reported priority here instead of event severity. | |
| use_oslc_format | true | true to use OSLC API, false to use REST API. |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| event_name | {EVENT.NAME} | Name of the problem event that triggered an action. |
| class_structure_id | {ALERT.SENDTO} | A numeric ID of the under which the Service Request will be created. |
| asset_number | {INVENTORY.ASSET.TAG} | Inventory asset tag. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
1. In IBM Maximo, create an API key in Administration Work Center under the Integration tab.
2. Grant permissions to the MXAPISR data set in Security Groups / Object Structures.
3. Configure the endpoint in Integration > External Systems and Enterprise Services.
Zabbix configuration
- Import the media type:
- In the Alerts > Media types section, import the
media_maximo_service_request.yamlfile.
- Open the imported IBM Maximo Service Request media type and set the following webhook parameters:
api_endpoint- the address of the IBM Maximo Service Request endpoint.api_key- the key to access the API.reported_priority- optional. Reported priority to create the Service Request with. Leave empty to use the event severity from Zabbix.use_oslc_format- optional, boolean.trueto use OSLC API,falseto use REST API. Default value -true.
-
Click the Enabled checkbox to enable the media type and click the Update button to save the webhook settings.
-
Create a Zabbix user and add media:
- To create a new user, go to the Users > Users section and click the Create user button in the top-right corner. In the User tab, fill in all the required fields (marked with red asterisks).
- Make sure this user has access to all the hosts for which you would like problem notifications to be sent to IBM Maximo Service Request.
- In the Media tab, click Add and select IBM Maximo Service Request from the Type drop-down list.
- In the Send to field, specify the
classstructureid- the classification ID under which to create the Service Request.
- Done! You can now start using this media type in actions and send notifications.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.
Vendor and Community integrations are created by third parties and are not verified by Zabbix. Zabbix is not responsible for their functionality or quality.
Zabbix community templates
9 Contributed to the zabbix/community-templates repositoryBuilt and verified against a real snmpwalk of this device for the standard-MIB items: - System identity/uptime (SNMPv2-MIB) - Interface table incl. HC counters, high-speed, alias (IF-MIB / IF-MIB extended table) - CPU load per core, x4 (HOST-RESOURCES-MIB::hrProcessorLoad) - Memory and Flash utilization (HOST-RESOURCES-MIB::hrStorage) Environmental and hardware-inventory items (fans, temperature sensors, power supplies, serial/part numbers, boot/image info) come from the vendor-private IBM-GbTOR-G8264T-MIB (enterprises.20301.100.100.14, the "tor-switch" subtree), plus one legacy summary
Includes: - Managed System discovery + state - LPAR discovery + state - VIOS discovery + state - VIOS redundancy via trigger logic - PCM inlet temperature - PCM CPU temperature - PCM power consumption (Watts)
Includes: - Drives / Nodes / Enclosures health - Pool (mdiskgrp) free% + overcommit% - FC port status + speed (alerts only for inactiveconfigured/disabled) - Volume thin anomaly (internalcapacity capacity)
Uses REST API (HTTP Agent) for performance, capacity and hardware monitoring. Uses SNMP traps for event notifications (IBM-SVC-MIB). Requirements: - REST API access on port 7443 (HTTPS) - REST API user with Monitor or Administrator role - SNMP trap receiver configured on Zabbix server (snmptrapd) - SNMP trap sender configured on FlashSystem (mksnmpserver) Tested on: IBM FlashSystem 5300, Spectrum Virtualize 8.6.x / 8.7.x
It is example of template for AS/400 Zabbix agent emulator from this project.It was exported from Zabbix server v3.0; but uses too little features that are specific for v3.x (really - only macro with context).So, it should be possible to import this template on Zabbix v2.x also. Required modifications:it is necessary to modify version from "3.0" onto "2.0" at the beginning of template;remove entire "value_maps" section at the end of this file: the appropriate value maps for disk status and ASP status should be created manually;replace macro with context {$MAX_DISK_PUSED:"{#FSNAME}"} by the regular macro {$MAX_DISK_PUSED} in the trigger prototype of ASP discovery rule (twice: in the trigger´s name and in the formula).
Tested on Storwize 3700.This script get next metrics:Disk, Enclosure, Battery, Enclosure Canister, PSU, Mdisk, Pool, PortFibreChannel, PortSas, Volume
Basic zabbix template for Lenovo Flex chassis.Базовый монтирониг: Blades, Fans, Information, Powers, Switches, System.Настройка:Включить на CMM Flex SNMPv3.Создать и настроить пользователя для мониторинга на CMM Flex.В импортированном шаблоне прописать макросы: {$FLEX_USER} и {$FLEX_PASS}.
This is initial template for Monitoring LSI/Avago/Broadcom (or branded like Intel, IBM, Supermicro etc) MegaRAID based hardware RAID cards. According to vendor docs it should also support non-RAID adapters, enclosures and some other devices.It took me one night to complete major/required parts, so far template supports most of the options and all the critical components to keep you warned in case some RAID-related problems will occur.Supported so far:Full LLD SupportInformational part for agent/driver/moduleComplete Adapter-Related OID list with graphs and triggersPart of Device-Related OID´s with graphsAll triggers that are crucialComments for all OID´s with value mappings from MegaRAID MIBPlanned:Value MappingsCompleting list of device OID´s and related graphsvirtualDevice OID´s and related graphsenclosureInfo OID´s and related graphsTrap setting OID´sTraps for trapperCheck for updated versionNot tested yet:M$ Windows SupportValues and units are done as per MIB doc with 1-1 match, cannot guarantee that they are correct if vendor has provided wrong info (apparently, there is at least one minor issue)Installation and Requirements:Ensure, that LSI-MegaRAID-SAS-MIB files downloaded from vendor site are installed and added to snmp.conf (after that you can restart both agent and server)Ensure, that appropriate package (snmp sas or snmp sas_ir) with MegaRAID snmp agent wrapper is installed and running, snmpd.conf for OID´s are set as per doc for wrapperEnsure, that Zabbix is allowed to gather information from snmpdEnsure, that required device drivers are installed on the hostsImport Template, assign to hostsWait for LLD to check all OID´s and start gathering dataHave a good night´s sleepBugs?-> Please Report @GitHub or at giomac gmail comWhen will you finish this?-> Nah, all critical issues are included, will do, definitely, but not asap
Community repositories
4 Independent projects on GitHubIBM server status of System State, Discovery Temperature sensor (with trigger), Discovery Fan sensor and speed, Discovery Voltage via SNMP and IMM/IMM2. Copy getFanSpeed.rb to \"externalscripts\" on Zabbix server, and install Ruby. Read README.TXT before using.
Zabbix template for monitoring IBM Domino servers via SNMP
I have to get status of some ds3300 SAN Storage and here is the template and script used for this work.
I have to get status of some v3700 SAN Storage and here is the template and script used for this work.