一、概述
监控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
3.2、配置iDRAC的IP地址
3.3、配置SNMP代理
下列几点需要注意(待会zabbix中会用到):
已启用 √
SNMP团体名称 public (默认是这个团体名称)
SNMP协议 所有(SNMP v1/2/3)
SNMP查找端口号 161
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界面 —> 管理 —> 一般 —> 值映射
将根据下列名称进行值映射
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界面 —> 管理 —> 一般 —> 宏
4.3、导入监控模板
模板我已经从官网下载,有需要的请从文章结尾处下载,我这里使用Template_Dell_iDRAC_SNMPv2.zbx.xml
zabbix web界面 —> 配置 —> 模板 —> 导入
这里也要说一句,模板文件路径不要放置在有中文的路径下,否则会出现会出现下面这莫名其妙的报错
xml 文件导入出错,提示 无法读取XML: (41) Specification mandate value for attribute data-pjax-transient [线: 43 | 列: 40]
4.4、添加监控服务器
配置--->主机--->创建主机
在SNMP接口处填写iDRAC的IP地址,端口选择默认的161端口,我这台主机之前已经使用agent代理程序进行系统监控了,直接在原主机上新增SNMP
链接模板加上DELL SNMPv2模板
主机宏里看已经继承了全局值
4.5、检查SNMP是否获取到数据
模板文件下载网址:http://down.51cto.com/data/2459020