You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 KiB

DELL PowerEdge R740 by HTTP

Overview

This is a template for monitoring DELL PowerEdge R740 servers with iDRAC 8/9 firmware 4.32 and later with Redfish API enabled via Zabbix HTTP agent that works without any external scripts.

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • DELL PowerEdge R740

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

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.

Macros used

Name Description Default
{$API.URL}

The Dell iDRAC Redfish API URL in the format <scheme>://<host>:<port>.

<Put your URL here>
{$API.USER}

The Dell iDRAC username.

<Put your username here>
{$API.PASSWORD}

The Dell iDRAC user password.

<Put your password here>
{$IFCONTROL}

Link status trigger will be fired only for interfaces that have the context macro equaled 1.

1

Items

Name Description Type Key and additional info
Dell R740: Get system

Returns the metrics of a system.

HTTP agent dell.server.system.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Dell R740: 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 item dell.server.status

Preprocessing

  • JSON Path: $.status

  • Discard unchanged with heartbeat: 6h

Dell R740: Hardware model name

This attribute defines the model name of the system.

Dependent item dell.server.hw.model

Preprocessing

  • JSON Path: $.model

  • Discard unchanged with heartbeat: 6h

Dell R740: Hardware serial number

This attribute defines the service tag of the system.

Dependent item dell.server.hw.serialnumber

Preprocessing

  • JSON Path: $.serialnumber

  • Discard unchanged with heartbeat: 6h

Dell R740: Firmware version

This attribute defines the firmware version of a remote access card.

Dependent item dell.server.hw.firmware

Preprocessing

  • JSON Path: $.firmware

  • Discard unchanged with heartbeat: 6h

Dell R740: Redfish API

The availability of Redfish API on the server.

Possible values:

0 unavailable

1 available

Simple check net.tcp.service[https]

Triggers

Name Description Expression Severity Dependencies and additional info
Dell R740: Server is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.status,,"like","Critical")=1 High
Dell R740: Server is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.status,,"like","Warning")=1 Warning Depends on:
  • Dell R740: Server is in a critical state
Dell R740: Device has been replaced

Device serial number has changed. Acknowledge to close the problem manually.

last(/DELL PowerEdge R740 by HTTP/dell.server.hw.serialnumber,#1)<>last(/DELL PowerEdge R740 by HTTP/dell.server.hw.serialnumber,#2) and length(last(/DELL PowerEdge R740 by HTTP/dell.server.hw.serialnumber))>0 Info Manual close: Yes
Dell R740: Firmware has changed

Firmware version has changed. Acknowledge to close the problem manually.

last(/DELL PowerEdge R740 by HTTP/dell.server.hw.firmware,#1)<>last(/DELL PowerEdge R740 by HTTP/dell.server.hw.firmware,#2) and length(last(/DELL PowerEdge R740 by HTTP/dell.server.hw.firmware))>0 Info Manual close: Yes
Dell R740: Redfish API service is unavailable

The service is unavailable or does not accept TCP connections.

last(/DELL PowerEdge R740 by HTTP/net.tcp.service[https])=0 High

LLD rule Temperature discovery

Name Description Type Key and additional info
Temperature discovery

Discovery of temperature sensors.

HTTP agent temp.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Temperature discovery

Name Description Type Key and additional info
Dell R740: {#SENSOR_NAME} Get sensor

Returns the metrics of a sensor.

HTTP agent dell.server.sensor.temp.get[{#SENSOR_NAME}]
Dell R740: {#SENSOR_NAME} Value

The sensor value.

Dependent item dell.server.sensor.temp.value[{#SENSOR_NAME}]

Preprocessing

  • JSON Path: $.Reading

Dell R740: {#SENSOR_NAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.sensor.temp.status[{#SENSOR_NAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Temperature discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#SENSOR_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.temp.status[{#SENSOR_NAME}],,"like","Critical")=1 High
Dell R740: {#SENSOR_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.temp.status[{#SENSOR_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#SENSOR_NAME} is in a critical state

LLD rule PSU discovery

Name Description Type Key and additional info
PSU discovery

Discovery of PSU sensors.

HTTP agent psu.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for PSU discovery

Name Description Type Key and additional info
Dell R740: {#SENSOR_NAME} Get sensor

Returns the metrics of a sensor.

HTTP agent dell.server.sensor.psu.get[{#SENSOR_NAME}]
Dell R740: {#SENSOR_NAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.sensor.psu.status[{#SENSOR_NAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for PSU discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#SENSOR_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.psu.status[{#SENSOR_NAME}],,"like","Critical")=1 High
Dell R740: {#SENSOR_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.psu.status[{#SENSOR_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#SENSOR_NAME} is in a critical state

LLD rule FAN discovery

Name Description Type Key and additional info
FAN discovery

Discovery of FAN sensors.

HTTP agent fan.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for FAN discovery

Name Description Type Key and additional info
Dell R740: {#SENSOR_NAME} Get sensor

Returns the metrics of a sensor.

HTTP agent dell.server.sensor.fan.get[{#SENSOR_NAME}]
Dell R740: {#SENSOR_NAME} Speed

The sensor value.

Dependent item dell.server.sensor.fan.speed[{#SENSOR_NAME}]

Preprocessing

  • JSON Path: $.Reading

Dell R740: {#SENSOR_NAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.sensor.fan.status[{#SENSOR_NAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for FAN discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#SENSOR_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.fan.status[{#SENSOR_NAME}],,"like","Critical")=1 High
Dell R740: {#SENSOR_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.sensor.fan.status[{#SENSOR_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#SENSOR_NAME} is in a critical state

LLD rule Array controller discovery

Name Description Type Key and additional info
Array controller discovery

Discovery of disk array controllers.

HTTP agent array.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Array controller discovery

Name Description Type Key and additional info
Dell R740: {#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

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Array controller discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#CNTLR_NAME} in slot {#SLOT} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.diskarray.status[{#CNTLR_NAME}{#SLOT}],,"like","Critical")=1 High
Dell R740: {#CNTLR_NAME} in slot {#SLOT} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.diskarray.status[{#CNTLR_NAME}{#SLOT}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#CNTLR_NAME} in slot {#SLOT} is in a critical state

LLD rule Array controller cache discovery

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: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Array controller cache discovery

Name Description Type Key and additional info
Dell R740: {#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

  • JSON Path: $.Oem.Dell.DellControllerBattery.PrimaryStatus

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Array controller cache discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#BATTERY_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.diskarray.cache.battery.status[{#BATTERY_NAME}],,"like","Critical")=1 High
Dell R740: {#BATTERY_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.diskarray.cache.battery.status[{#BATTERY_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#BATTERY_NAME} is in a critical state

LLD rule Physical disk discovery

Name Description Type Key and additional info
Physical disk discovery

Discovery of physical disks.

HTTP agent physicaldisk.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Physical disk discovery

Name Description Type Key and additional info
Dell R740: {#DISK_NAME} Get disk

Returns the metrics of a physical disk.

HTTP agent dell.server.hw.physicaldisk.get[{#DISK_NAME}]
Dell R740: {#DISK_NAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.hw.physicaldisk.status[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Serial number

The serial number of this drive.

Dependent item dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.SerialNumber

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Model name

The model number of the drive.

Dependent item dell.server.hw.physicaldisk.model[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Model

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Media type

The type of media contained in this drive. Possible values: HDD, SSD, SMR, null.

Dependent item dell.server.hw.physicaldisk.media_type[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.MediaType

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Size

The size, in bytes, of this drive.

Dependent item dell.server.hw.physicaldisk.size[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.CapacityBytes

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Physical disk discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#DISK_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.physicaldisk.status[{#DISK_NAME}],,"like","Critical")=1 High
Dell R740: {#DISK_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.physicaldisk.status[{#DISK_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#DISK_NAME} is in a critical state
Dell R740: {#DISK_NAME} has been replaced

{#DISK_NAME} serial number has changed. Acknowledge to close the problem manually.

last(/DELL PowerEdge R740 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}],#1)<>last(/DELL PowerEdge R740 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}],#2) and length(last(/DELL PowerEdge R740 by HTTP/dell.server.hw.physicaldisk.serialnumber[{#DISK_NAME}]))>0 Info Manual close: Yes

LLD rule Virtual disk discovery

Name Description Type Key and additional info
Virtual disk discovery

Discovery of virtual disks.

HTTP agent virtualdisk.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Virtual disk discovery

Name Description Type Key and additional info
Dell R740: {#DISK_NAME} Get disk

Returns the metrics of a virtual disk.

HTTP agent dell.server.hw.virtualdisk.get[{#DISK_NAME}]
Dell R740: {#DISK_NAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.hw.virtualdisk.status[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} RAID status

This property represents the RAID specific status. Possible values: Blocked, Degraded, Failed, Foreign, Offline, Online, Ready, Unknown, null.

Dependent item dell.server.hw.virtualdisk.raidstatus[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Oem.Dell.DellVirtualDisk.RaidStatus

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Size

The size in bytes of this Volume.

Dependent item dell.server.hw.virtualdisk.size[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.CapacityBytes

  • Discard unchanged with heartbeat: 6h

Dell R740: {#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 item dell.server.hw.virtualdisk.state[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Status.State

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Read policy

Indicates the read cache policy setting for the Volume. Possible values: ReadAhead, AdaptiveReadAhead, Off.

Dependent item dell.server.hw.virtualdisk.readpolicy[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Oem.Dell.DellVirtualDisk.ReadCachePolicy

  • Discard unchanged with heartbeat: 6h

Dell R740: {#DISK_NAME} Write policy

Indicates the write cache policy setting for the Volume. Possible values: WriteThrough, ProtectedWriteBack, UnprotectedWriteBack.

Dependent item dell.server.hw.virtualdisk.writepolicy[{#DISK_NAME}]

Preprocessing

  • JSON Path: $.Oem.Dell.DellVirtualDisk.WriteCachePolicy

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Virtual disk discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#DISK_NAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.virtualdisk.status[{#DISK_NAME}],,"like","Critical")=1 High
Dell R740: {#DISK_NAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.hw.virtualdisk.status[{#DISK_NAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#DISK_NAME} is in a critical state

LLD rule Network interface discovery

Name Description Type Key and additional info
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: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 6h

Item prototypes for Network interface discovery

Name Description Type Key and additional info
Dell R740: {#IFNAME} Get interface

Returns the metrics of a network interface.

HTTP agent dell.server.net.if.get[{#IFNAME}]
Dell R740: {#IFNAME} Speed

Network port current link speed.

Dependent item dell.server.net.if.speed[{#IFNAME}]

Preprocessing

  • JSON Path: $.CurrentLinkSpeedMbps

  • Discard unchanged with heartbeat: 6h

Dell R740: {#IFNAME} Link status

The status of the link between this port and its link partner. Possible values: Down, Up, null.

Dependent item dell.server.net.if.status[{#IFNAME}]

Preprocessing

  • JSON Path: $.LinkStatus

  • Discard unchanged with heartbeat: 6h

Dell R740: {#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 item dell.server.net.if.state[{#IFNAME}]

Preprocessing

  • JSON Path: $.Status.State

  • Discard unchanged with heartbeat: 6h

Dell R740: {#IFNAME} Status

The status of the job. Possible values: OK, Warning, Critical.

Dependent item dell.server.net.if.health[{#IFNAME}]

Preprocessing

  • JSON Path: $.Status.Health

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Network interface discovery

Name Description Expression Severity Dependencies and additional info
Dell R740: {#IFNAME} Link down

This trigger expression works as follows:
1. It can be triggered if the operations status is down.
2. {$IFCONTROL:"{#IFNAME}"}=1 - a 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. {TEMPLATE_NAME:METRIC.diff()}=1 - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'eternal off' interfaces.)

WARNING: if closed manually - it will not fire again on the next poll, because of .diff.

{$IFCONTROL:"{#IFNAME}"}=1 and (find(/DELL PowerEdge R740 by HTTP/dell.server.net.if.status[{#IFNAME}],,"like")="Down" and last(/DELL PowerEdge R740 by HTTP/dell.server.net.if.status[{#IFNAME}],#1)<>last(/DELL PowerEdge R740 by HTTP/dell.server.net.if.status[{#IFNAME}],#2)) Average Manual close: Yes
Dell R740: {#IFNAME} is in a critical state

Please check the device for faults.

find(/DELL PowerEdge R740 by HTTP/dell.server.net.if.health[{#IFNAME}],,"like","Critical")=1 High
Dell R740: {#IFNAME} is in warning state

Please check the device for warnings.

find(/DELL PowerEdge R740 by HTTP/dell.server.net.if.health[{#IFNAME}],,"like","Warning")=1 Warning Depends on:
  • Dell R740: {#IFNAME} is in a critical state

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