一、概述


监控DELL服务器硬件一般有两种方式:
1、操作系统上安装OMSA,编写脚本调用omreport命令进行监控,但是它有个问题就是semaphore 超过限制导致 omsa 无法正常运行,这个时候会发现OMSA不工作取不到任何值;
2、使用iDRAC(Integrated Dell Remote Access Controller,是一款dell专门用于远程访问控制接口),可以不用在操作系统上安装OMSA,只需要在iDRAC上开启SNMP,然后zabbix通过SNMP进行监控。对于不支持OMSA的操作系统和要求不能安装额外软件的情况下,推荐使用SNMP监控,配置简单方便。

 

二、实际环境

设备硬件:DELL PowerEdge R820
主机系统:RHEL rhel6.5 X86_64
主机配置:64C/256G/16*1.2T
zabbix server版本:3.4.1
zabbix server编译参数:./configure --prefix=/usr/local/zabbix-3.4.1 --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-l ibxml2



三、iDRAC开启SNMP服务

在这之前,需要有两个操作,如果你已经完成下列两项,则直接开始监控操作即可

  • 安装zabbix server,并且编译安装的时候需要带上—with-net-snmp参数,同时net-snmp net-snmp-utils都需要事先安装好

  • 在dell服务器BIOS中开启iDRAC功能

3.1、登录iDRAC web界面

DELL服务器出厂的时候默认密码是root/calvin

zabbix通过SNMPv2监控DELL服务器的硬件_第1张图片

3.2、配置iDRAC的IP地址

zabbix通过SNMPv2监控DELL服务器的硬件_第2张图片

3.3、配置SNMP代理

下列几点需要注意(待会zabbix中会用到):
已启用 √
SNMP团体名称 public (默认是这个团体名称)
SNMP协议 所有(SNMP v1/2/3)
SNMP查找端口号 161

zabbix通过SNMPv2监控DELL服务器的硬件_第3张图片


3.4、zabbix server服务端通过SNMP验证

[root@zabbix-server zabbix-3.4.1]# snmpget -v 2c –c public 10.221.246.163 1.3.6.1.4.1.674.10892.5.5.1.20.130.1.1.37.1
SNMPv2-SMI::enterprises.674.10892.5.5.1.20.130.1.1.37.1 = INTEGER: 3
[root@zabbix-server zabbix-3.4.1]#



四、zabbix配置

4.1、创建值映射

zabbix web界面 —> 管理 —> 一般 —> 值映射

zabbix通过SNMPv2监控DELL服务器的硬件_第4张图片

将根据下列名称进行值映射

  • 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


4.2、配置全局变量{$SNMP_COMMUNITY}

这里要说一句,网上很多文章在这里都是轻描淡写的一笔带过,结果导致zabbix一直没有监控数据出来,这里强调两点

1、使用SNMPv2来做监控,全局变量请使用{$SNMP_COMMUNITY},并且SNMPv2版本不需要设置好认证算法及密码,加密算法及密码,用户名,zabbix界面上也不需要配置变量即可能获取数据

2、使用SNMPv3来做监控,全局变量请使用{$SNMP_COMMUNITY_IDRAC},并且SNMPv2版本需要设置好认证算法及密码,加密算法及密码,用户名,zabbix界面上也需要配置相关变量才可获取数据

我这里使用的是SNMPv2来做DELL服务器的硬件监控,所以后面的步骤都是依据SNMPv2的来做,使用SNMPv3的请自行调试

zabbix web界面 —> 管理 —> 一般 —> 宏

zabbix通过SNMPv2监控DELL服务器的硬件_第5张图片


4.3、导入监控模板

模板我已经从官网下载,有需要的请从文章结尾处下载,我这里使用Template_Dell_iDRAC_SNMPv2.zbx.xml

zabbix通过SNMPv2监控DELL服务器的硬件_第6张图片

zabbix web界面 —> 配置 —> 模板 —> 导入

这里也要说一句,模板文件路径不要放置在有中文的路径下,否则会出现会出现下面这莫名其妙的报错

xml 文件导入出错,提示 无法读取XML: (41) Specification mandate value for attribute data-pjax-transient [线: 43 | 列: 40]

zabbix通过SNMPv2监控DELL服务器的硬件_第7张图片

4.4、添加监控服务器

配置--->主机--->创建主机

在SNMP接口处填写iDRAC的IP地址,端口选择默认的161端口,我这台主机之前已经使用agent代理程序进行系统监控了,直接在原主机上新增SNMP

zabbix通过SNMPv2监控DELL服务器的硬件_第8张图片

链接模板加上DELL SNMPv2模板

zabbix通过SNMPv2监控DELL服务器的硬件_第9张图片

主机宏里看已经继承了全局值

zabbix通过SNMPv2监控DELL服务器的硬件_第10张图片

4.5、检查SNMP是否获取到数据

zabbix通过SNMPv2监控DELL服务器的硬件_第11张图片

zabbix通过SNMPv2监控DELL服务器的硬件_第12张图片


模板文件下载网址:http://down.51cto.com/data/2459020