一、总览
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,解决依赖需要安装如下软件包。
1
|
yum -y install net-snmp-devel
|
2、配置DELL管理卡
登录远程管理卡,如下。
登录之后单击 —> iDRAC设置 —> 网络 —> 服务 —> SNMP代理,以下几个参数zabbix会用到。
1
2
3
4
|
已启用 √ SNMP团体名称 wzlinux SNMP协议 所有(SNMP v1 /2/3 )
SNMP查找端口号 161 |
3、zabbix 服务端通过snmp验证
我们使用的工具是snmpget,需要安装如下软件包支持。
1
|
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
1
2
|
# 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
2
3
4
5
6
7
8
9
|
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
2
3
4
5
6
7
8
9
|
1 -> Connected 2 -> Disconnected Dell Open Manage System Status 1 -> Other 2 -> Unknown 3 -> OK 4 -> NonCritical 5 -> Critical 6 -> NonRecoverable |
-
DellPowerState
1
2
3
4
|
1 -> Other 2 -> Unknown 3 -> Off 4 -> On |
-
Dell PSU State Settings
1
2
3
4
5
6
7
|
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
2
3
4
5
6
7
8
9
10
|
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
2
3
4
|
1 -> Unknown 2 -> Online 3 -> Failed 4 -> Degraded |
-
Dell_PSU_SensorState
1
2
3
4
5
6
|
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”模板。
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,命令使用方法如下:
1
|
snmpwalk - v 2c -c public <host IP> .
|
其中"-v"参数表示SNMP的版本,这里使用的是SNMPv2,"public"是一般使用SNMP的字段,这个值在你设定SNMP的时候可以修改,我们这里的是wzlinux,我们可以运行指令查看一下。
2、使用snmpget获取数据
如果需要获取服务器的端口1进来的网络流量,应该使用IF-MIB::ifInOctets.1
1
2
|
# 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了。