Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器
一、总览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管理卡
登录远程管理卡,如下。
https://s3.运维网.com/wyfs02/M02/9D/2A/wKiom1l65QLTQFaoAABU6VtrVE0469.jpg
登录之后单击 —> iDRAC设置 —> 网络 —> 服务 —> SNMP代理,以下几个参数zabbix会用到。
已启用 √
SNMP团体名称 wzlinux
SNMP协议 所有(SNMP v1/2/3)
SNMP查找端口号 161https://s4.运维网.com/wyfs02/M00/9D/2A/wKiom1l65WqSTDDWAAFnB5Azgb4764.jpg
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)
https://s5.运维网.com/wyfs02/M00/9D/2B/wKiom1l66YuSStN4AAArIqClWds246.jpg
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
https://s5.运维网.com/wyfs02/M02/9D/2B/wKioL1l66kPTVsbzAACrvTv-boQ692.jpg
4、创建主机
Menu:Configuration->Hosts->Create host
https://s3.运维网.com/wyfs02/M01/9D/2B/wKiom1l66ufgz9rUAADbZ8t5e8M795.jpg
https://s5.运维网.com/wyfs02/M01/9D/2B/wKiom1l66ufAy90RAACDReHtX-o394.jpg
四、验证
经过一段时间,我们可以看到SNMP正常监控了,自带模板没有Graphs,可以自己创建需要监控的项目查看。
https://s1.运维网.com/wyfs02/M00/9D/2B/wKiom1l66-2yQzm7AAFgZZDvELU067.jpg
https://s5.运维网.com/wyfs02/M00/9D/2C/wKioL1l66-6wbwI4AAIQGB31UEA337.jpg
参考文档: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,我们可以运行指令查看一下。
https://s5.运维网.com/wyfs02/M02/9D/2C/wKioL1l68ufBcgWyAAFliLS2XGM124.jpg
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了。
https://s1.运维网.com/wyfs02/M02/9D/2D/wKioL1l69UmyDZIoAACWwDQ7uKI433.jpg
https://s3.运维网.com/wyfs02/M00/9D/2D/wKiom1l69WSiLSRUAACmb4CVfN4122.jpg
附件:http://down.运维网.com/data/2366890
页:
[1]