一、总览

    SNMP是监控服务器以外设备的非常好的方式,比如可以用于监控打印机、交换机、路由器等,只要是有SNMP功能,Zabbix都可以监控。

    SNMP检查是通过UDP协议,从Zabbix 2.2.3开始,一次SNMP请求可以查询设备的多个值,覆盖到SNMP的所有项目值,这样是SNMP进程变得更加高效,从Zabbix 2.4开始,在创建SNMP接口的地方有一个"Use bulk requests"的选项,可以禁用对它不适用的设备。

    iDRAC又称为Integrated Dell Remote Access Controller,也就是集成戴尔远程控制卡,iDRAC卡相当于是附加在服务器上的一台小电脑,通过与服务器主板上的管理芯片BMC进行通信,监控与管理服务器的硬件状态信息。它拥有自己的系统和IP地址,与服务器上的OS无关。是管理员进行远程访问和管理的利器

二、安装配置Zabbix server

1、编译zabbix server支持

    要想支持通过SNMP监控服务器信息,需要在编译的时候加上参数--with-net-snmp,解决依赖需要安装如下软件包。

yum -y install net-snmp-devel

2、配置DELL管理卡

    登录远程管理卡,如下。

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第1张图片

登录之后单击 —> iDRAC设置 —> 网络 —> 服务 —> SNMP代理,以下几个参数zabbix会用到。

已启用              √ 
SNMP团体名称       wzlinux 
SNMP协议          所有(SNMP v1/2/3) 
SNMP查找端口号     161

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第2张图片

3、zabbix 服务端通过snmp验证

    我们使用的工具是snmpget,需要安装如下软件包支持。

yum -y install net-snmp-utils

    使用如下指令简单验证一下,我们使用SNMPv2版本。

snmpget -v 2c -c .1.3.6.1.4.1.674.10892.2.1.1.2.0

# snmpget -v 2c -c wzlinux 10.0.0.99 .1.3.6.1.4.1.674.10892.2.1.1.2.0
SNMPv2-SMI::enterprises.674.10892.2.1.1.2.0 = STRING: "iDRAC8"

三、配置Zabbix WEB端

1、创建值映射

    通常需要创建以下值映射,zabbix 3.0以上版本使用我附件的模板可以自动创建。

Menu: Administration->General->Value mapping->Create value map

  • DellDracDiskState

1 -> Unknown
2 -> Ready
3 -> Online
4 -> Foreign
5 -> Offline
6 -> Blocked
7 -> Failed
8 -> Non-RAID
9 -> Removed
  • Dell iDRAC Network Device Connection Status

1 -> Connected
2 -> Disconnected
Dell Open Manage System Status
1 -> Other
2 -> Unknown
3 -> OK
4 -> NonCritical
5 -> Critical
6 -> NonRecoverable
  • DellPowerState

1 -> Other
2 -> Unknown
3 -> Off
4 -> On
  • Dell PSU State Settings

1 -> Unknown
2 -> Online (state disabled)
4 -> not Ready
8 -> Fan Failure
10 -> Online and Fan Failure
16 -> On
242 -> Online and OK
  • DellRaidLevel

1 -> Unknown
2 -> RAID-0
3 -> RAID-1
4 -> RAID-5
5 -> RAID-6
6 -> RAID-10
7 -> RAID-50
8 -> RAID-60
9 -> Concatenated RAID 1
10 -> Concatenated RAID 5
  • DellRaidVolumeState

1 -> Unknown
2 -> Online
3 -> Failed
4 -> Degraded
  • Dell_PSU_SensorState

1 -> Presence Detected
2 -> PS Failure
4 -> Predictuve Failure
8 -> PS AC lost
16 -> AC lost or out of range
32 -> AC out of range but still present

2、配置全局变量{$SNMP_COMMUNITY_IDRAC}

Menu:Administration->General->Macros

    Value处填写iDRAC的WEB上配置的SNMP团体名(Community)

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第3张图片

3、导入模板

    模板见本文附件,“Template Dell iDrac SNMPV2 zbx2.2.xml”支持zabbix2.2版本,“Template Dell iDrac SNMPV2 zbx3.xml”支持zabbix3版本。

Menu:Configuration->Templates->Import,导入“Template Dell iDrac SNMPV2”模板。

    也可以去下载模板:https://share.zabbix.com/cat-server-hardware/dell/dell-idrac-chinese

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第4张图片

4、创建主机

Menu:Configuration->Hosts->Create host

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第5张图片


Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第6张图片

四、验证

    经过一段时间,我们可以看到SNMP正常监控了,自带模板没有Graphs,可以自己创建需要监控的项目查看。

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第7张图片


Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第8张图片

参考文档:https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/snmp

          https://github.com/endersonmaia/zabbix-templates/tree/master/dell/idrac

附录:自定义Item

    如果你足够的了解SNMP以及OID,可以自己创建需要监控的Item。

1、获取设备支持OID

    我们可以通过工具snmpwalk来获取设备支持的OID,命令使用方法如下:

snmpwalk -v 2c -c public  .

    其中"-v"参数表示SNMP的版本,这里使用的是SNMPv2,"public"是一般使用SNMP的字段,这个值在你设定SNMP的时候可以修改,我们这里的是wzlinux,我们可以运行指令查看一下。

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第9张图片

2、使用snmpget获取数据

    如果需要获取服务器的端口1进来的网络流量,应该使用IF-MIB::ifInOctets.1

# snmpget -v 2c -c wzlinux -On 10.0.0.99 IF-MIB::ifInOctets.1
.1.3.6.1.2.1.2.2.1.10.1 = Counter32: 8709650

    可以看到获取到.1.3.6.1.2.1.2.2.1.10.1 = Counter32: 8783770,前面的数字就是OID

3、配置Item

    既然已经获取到OID,我们就可以自己配置Item了。

Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第10张图片



                            Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器_第11张图片