一、总览
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管理卡
登录远程管理卡,如下。
登录之后单击 —> iDRAC设置 —> 网络 —> 服务 —> SNMP代理,以下几个参数zabbix会用到。
已启用 √ SNMP团体名称 wzlinux SNMP协议 所有(SNMP v1/2/3) SNMP查找端口号 161
3、zabbix 服务端通过snmp验证
我们使用的工具是snmpget,需要安装如下软件包支持。
yum -y install net-snmp-utils
使用如下指令简单验证一下,我们使用SNMPv2版本。
snmpget -v 2c -c <Community> <iDRAC IP> .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)
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
4、创建主机
Menu:Configuration->Hosts->Create host
四、验证
经过一段时间,我们可以看到SNMP正常监控了,自带模板没有Graphs,可以自己创建需要监控的项目查看。
参考文档: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 <host IP> .
其中"-v"参数表示SNMP的版本,这里使用的是SNMPv2,"public"是一般使用SNMP的字段,这个值在你设定SNMP的时候可以修改,我们这里的是wzlinux,我们可以运行指令查看一下。
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了。