Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/server/ibm_imm_snmp?at=release/7.0
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 | 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