Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/server/dell/dell_r820_http
For Zabbix version: 6.2 and higher
This is a template for monitoring DELL PowerEdge R820 servers with iDRAC 8/9 firmware 4.32 and later with Redfish API enabled via Zabbix HTTP agent that works without any external scripts.
See Zabbix template operation for basic instructions.
1. Enable Redfish API in Dell iDRAC interface of your server.
2. Create a user for monitoring with read-only permissions in Dell iDRAC interface.
3. Create a host for Dell server with iDRAC IP as Zabbix agent interface.
4. Link the template to the host.
5. Customize values of {$API.URL}, {$API.USER}, {$API.PASSWORD} macros.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$API.PASSWORD} | The Dell iDRAC user password. |
<Put your password here> |
{$API.URL} | The Dell iDRAC Redfish API URL in the format |
<Put your URL here> |
{$API.USER} | The Dell iDRAC username. |
<Put your username here> |
{$IFCONTROL} | Link status trigger will be fired only for interfaces that have the context macro equaled 1. |
1 |
There are no template links in this template.
Name | Description | Type | Key and additional info |
---|---|---|---|
Array controller cache discovery | Discovery of a cache of disk array controllers. |
HTTP_AGENT | array.cache.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Array controller discovery | Discovery of disk array controllers. |
HTTP_AGENT | array.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
FAN discovery | Discovery of FAN sensors. |
HTTP_AGENT | fan.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interface discovery | The NetworkInterface schema describes links to the NetworkAdapter and represents the functionality available to the containing system. |
HTTP_AGENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disk discovery | Discovery of physical disks. |
HTTP_AGENT | physicaldisk.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
PSU discovery | Discovery of PSU sensors. |
HTTP_AGENT | psu.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Temperature discovery | Discovery of temperature sensors. |
HTTP_AGENT | temp.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disk discovery | Discovery of virtual disks. |
HTTP_AGENT | virtualdisk.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Fans | Dell R820: {#SENSOR_NAME} Speed | The sensor value. |
DEPENDENT | dell.server.sensor.fan.speed[{#SENSOR_NAME}] Preprocessing: - JSONPATH: |
Fans | Dell R820: {#SENSOR_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.sensor.fan.status[{#SENSOR_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Dell R820: Hardware model name | This attribute defines the model name of the system. |
DEPENDENT | dell.server.hw.model Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Dell R820: Hardware serial number | This attribute defines the service tag of the system. |
DEPENDENT | dell.server.hw.serialnumber Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Dell R820: Firmware version | This attribute defines the firmware version of a remote access card. |
DEPENDENT | dell.server.hw.firmware Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Dell R820: {#IFNAME} Speed | Network port current link speed. |
DEPENDENT | dell.server.net.if.speed[{#IFNAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Dell R820: {#IFNAME} Link status | The status of the link between this port and its link partner. Possible values: Down, Up, null. |
DEPENDENT | dell.server.net.if.status[{#IFNAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Dell R820: {#IFNAME} State | The known state of the Resource, for example, enabled. Possible values: Enabled, Disabled, StandbyOffline, StandbySpare, InTest, Starting, Absent, UnavailableOffline, Deferring, Quiesced, Updating, Qualified. |
DEPENDENT | dell.server.net.if.state[{#IFNAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Dell R820: {#IFNAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.net.if.health[{#IFNAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disks | Dell R820: {#DISK_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.hw.physicaldisk.status[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disks | Dell R820: {#DISK_NAME} Serial number | The serial number of this drive. |
DEPENDENT | dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disks | Dell R820: {#DISK_NAME} Model name | The model number of the drive. |
DEPENDENT | dell.server.hw.physicaldisk.model[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disks | Dell R820: {#DISK_NAME} Media type | The type of media contained in this drive. Possible values: HDD, SSD, SMR, null. |
DEPENDENT | dell.server.hw.physicaldisk.media_type[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Physical disks | Dell R820: {#DISK_NAME} Size | The size, in bytes, of this drive. |
DEPENDENT | dell.server.hw.physicaldisk.size[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Power supply | Dell R820: {#SENSOR_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.sensor.psu.status[{#SENSOR_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Status | Dell R820: Overall system health status | This attribute defines the overall rollup status of all components in the system being monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc. |
DEPENDENT | dell.server.status Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Status | Dell R820: Redfish API | The availability of Redfish API on the server. Possible values: 0 unavailable 1 available |
SIMPLE | net.tcp.service[https] |
Temperature | Dell R820: {#SENSOR_NAME} Value | The sensor value. |
DEPENDENT | dell.server.sensor.temp.value[{#SENSOR_NAME}] Preprocessing: - JSONPATH: |
Temperature | Dell R820: {#SENSOR_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.sensor.temp.status[{#SENSOR_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
DEPENDENT | dell.server.hw.virtualdisk.status[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} RAID status | This property represents the RAID specific status. Possible values: Blocked, Degraded, Failed, Foreign, Offline, Online, Ready, Unknown, null. |
DEPENDENT | dell.server.hw.virtualdisk.raidstatus[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} Size | The size in bytes of this Volume. |
DEPENDENT | dell.server.hw.virtualdisk.size[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} Current state | The known state of the Resource, for example, enabled. Possible values: Enabled, Disabled, StandbyOffline, StandbySpare, InTest, Starting, Absent, UnavailableOffline, Deferring, Quiesced, Updating, Qualified. |
DEPENDENT | dell.server.hw.virtualdisk.state[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} Read policy | Indicates the read cache policy setting for the Volume. Possible values: ReadAhead, AdaptiveReadAhead, Off. |
DEPENDENT | dell.server.hw.virtualdisk.readpolicy[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Virtual disks | Dell R820: {#DISK_NAME} Write policy | Indicates the write cache policy setting for the Volume. Possible values: WriteThrough, ProtectedWriteBack, UnprotectedWriteBack. |
DEPENDENT | dell.server.hw.virtualdisk.writepolicy[{#DISK_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Zabbix raw items | Dell R820: Get system | Returns the metrics of a system. |
HTTP_AGENT | dell.server.system.get Preprocessing: - JAVASCRIPT: |
Zabbix raw items | Dell R820: {#SENSOR_NAME} Get sensor | Returns the metrics of a sensor. |
HTTP_AGENT | dell.server.sensor.temp.get[{#SENSOR_NAME}] |
Zabbix raw items | Dell R820: {#SENSOR_NAME} Get sensor | Returns the metrics of a sensor. |
HTTP_AGENT | dell.server.sensor.psu.get[{#SENSOR_NAME}] |
Zabbix raw items | Dell R820: {#SENSOR_NAME} Get sensor | Returns the metrics of a sensor. |
HTTP_AGENT | dell.server.sensor.fan.get[{#SENSOR_NAME}] |
Zabbix raw items | Dell R820: {#CNTLR_NAME} in slot {#SLOT} Status | The status of the job. Possible values: OK, Warning, Critical. |
HTTP_AGENT | dell.server.hw.diskarray.status[{#CNTLR_NAME}{#SLOT}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Zabbix raw items | Dell R820: {#BATTERY_NAME} Status | The status of the job. Possible values: OK, Warning, Critical. |
HTTP_AGENT | dell.server.hw.diskarray.cache.battery.status[{#BATTERY_NAME}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Zabbix raw items | Dell R820: {#DISK_NAME} Get disk | Returns the metrics of a physical disk. |
HTTP_AGENT | dell.server.hw.physicaldisk.get[{#DISK_NAME}] |
Zabbix raw items | Dell R820: {#DISK_NAME} Get disk | Returns the metrics of a virtual disk. |
HTTP_AGENT | dell.server.hw.virtualdisk.get[{#DISK_NAME}] |
Zabbix raw items | Dell R820: {#IFNAME} Get interface | Returns the metrics of a network interface. |
HTTP_AGENT | dell.server.net.if.get[{#IFNAME}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Dell R820: {#SENSOR_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.fan.status[{#SENSOR_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#SENSOR_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.fan.status[{#SENSOR_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#SENSOR_NAME} is in a critical state |
Dell R820: Device has been replaced | Device serial number has changed. Ack to close |
last(/DELL PowerEdge R820 by HTTP/dell.server.hw.serialnumber,#1)<>last(/DELL PowerEdge R820 by HTTP/dell.server.hw.serialnumber,#2) and length(last(/DELL PowerEdge R820 by HTTP/dell.server.hw.serialnumber))>0 |
INFO | Manual close: YES |
Dell R820: Firmware has changed | Firmware version has changed. Ack to close. |
last(/DELL PowerEdge R820 by HTTP/dell.server.hw.firmware,#1)<>last(/DELL PowerEdge R820 by HTTP/dell.server.hw.firmware,#2) and length(last(/DELL PowerEdge R820 by HTTP/dell.server.hw.firmware))>0 |
INFO | Manual close: YES |
Dell R820: {#IFNAME} Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. Condition of difference between last and previous value - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.) WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and (find(/DELL PowerEdge R820 by HTTP/dell.server.net.if.status[{#IFNAME}],,"like")="Down" and last(/DELL PowerEdge R820 by HTTP/dell.server.net.if.status[{#IFNAME}],#1)<>last(/DELL PowerEdge R820 by HTTP/dell.server.net.if.status[{#IFNAME}],#2)) Recovery expression: find(/DELL PowerEdge R820 by HTTP/dell.server.net.if.status[{#IFNAME}],,"like")<>"Down" or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Dell R820: {#IFNAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.net.if.health[{#IFNAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#IFNAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.net.if.health[{#IFNAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#IFNAME} is in a critical state |
Dell R820: {#DISK_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.physicaldisk.status[{#DISK_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#DISK_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.physicaldisk.status[{#DISK_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#DISK_NAME} is in a critical state |
Dell R820: {#DISK_NAME} has been replaced | {#DISK_NAME} serial number has changed. Ack to close |
last(/DELL PowerEdge R820 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}],#1)<>last(/DELL PowerEdge R820 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}],#2) and length(last(/DELL PowerEdge R820 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}]))>0 |
INFO | Manual close: YES |
Dell R820: {#SENSOR_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.psu.status[{#SENSOR_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#SENSOR_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.psu.status[{#SENSOR_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#SENSOR_NAME} is in a critical state |
Dell R820: Server is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.status,,"like","Critical")=1 |
HIGH | |
Dell R820: Server is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.status,,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: Server is in a critical state |
Dell R820: Redfish API service is unavailable | The service is unavailable or does not accept TCP connections. |
last(/DELL PowerEdge R820 by HTTP/net.tcp.service[https])=0 |
HIGH | |
Dell R820: {#SENSOR_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.temp.status[{#SENSOR_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#SENSOR_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.sensor.temp.status[{#SENSOR_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#SENSOR_NAME} is in a critical state |
Dell R820: {#DISK_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.virtualdisk.status[{#DISK_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#DISK_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.virtualdisk.status[{#DISK_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#DISK_NAME} is in a critical state |
Dell R820: {#CNTLR_NAME} in slot {#SLOT} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.diskarray.status[{#CNTLR_NAME}{#SLOT}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#CNTLR_NAME} in slot {#SLOT} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.diskarray.status[{#CNTLR_NAME}{#SLOT}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#CNTLR_NAME} in slot {#SLOT} is in a critical state |
Dell R820: {#BATTERY_NAME} is in a critical state | Please check the device for faults. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.diskarray.cache.battery.status[{#BATTERY_NAME}],,"like","Critical")=1 |
HIGH | |
Dell R820: {#BATTERY_NAME} is in warning state | Please check the device for warnings. |
find(/DELL PowerEdge R820 by HTTP/dell.server.hw.diskarray.cache.battery.status[{#BATTERY_NAME}],,"like","Warning")=1 |
WARNING | Depends on: - Dell R820: {#BATTERY_NAME} is in a critical state |
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.