zabbix通过IPMI监控服务器传感器参数

一、需求:机房dell服务器和IBM服务器皆有主板管理接口iDRAC和iMM,上周已为服务器管理接口配置了ip地址,考虑通过zabbix实现对服务器传感器参数的实时监控。使用DELL-DL1300服务器做测试。

 

二、环境:

1、dell服务器DL-1300,iDRAC8端口ip:192.168.109.14,已能web登录管理界面。

2、Zabbix服务器ip:192.168.109.30,官网rpm包安装,支持IPMI。

 

三、实现过程

1、DELL服务器主板启用IPMI功能:

   使用web登录管理界面:https://192.168.109.14  (root/calvin)

   在“iDRAC设置”——“IPMI设置”下勾选“启用LAN上的IPMI”,点击“应用”按钮即可。

 

2、ZABBIX服务器上安装IPMI软件:

[root@localhost ~]# yum -y install OpenIPMI OpenIPMI-devel ipmitool freeipmi

 

3、使用ipmitool工具测试zabbixt服务器与dell服务器连通情况

[root@localhost ~]# ipmitool -I lanplus -H 192.168.109.14 -U root  -a channel info       

 #注意此处-I lanplus,不能使用-I lan,这是与dell服务器的idarc版本相关的,iDRAC7 firmware 1.56.55以后就必须使用-I lanplus了。-H ip是iDRAC端口地址,-U root是iDRAC管理员用户名。

Password:

Channel 0x1 info:

  Channel Medium Type   : 802.3 LAN

  Channel Protocol Type : IPMB-1.0

  Session Support       : multi-session

  Active Session Count  : 1

  Protocol Vendor ID    : 7154

  Volatile(active) Settings

    Alerting            : disabled

    Per-message Auth    : disabled

    User Level Auth     : disabled

    Access Mode         : always available

  Non-Volatile Settings

    Alerting            : disabled

    Per-message Auth    : disabled

    User Level Auth     : disabled

    Access Mode         : always available

上述信息表明ipmitool工具已能顺利管理dell服务器。

 

4、获取传感器项目名称

[root@localhost ~]# ipmitool -I lanplus -H 192.168.109.14 -U root  -L user sensor list

Password:

SEL              | na         | discrete   | na    | na        | na        | na        | na        | na        | na        

Intrusion        | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        

Fan1             | 7920.000   | RPM        | ok    | na        | 600.000   | 840.000   | na        | na        | na        

Fan2             | 7560.000   | RPM        | ok    | na        | 600.000   | 840.000   | na        | na        | na        

Fan3             | 7440.000   | RPM        | ok    | na        | 600.000   | 840.000   | na        | na        | na        

Fan4             | 7680.000   | RPM        | ok    | na        | 600.000   | 840.000   | na        | na        | na        

Inlet Temp       | 21.000     | degrees C  | ok    | na        | -7.000    | 3.000     | 37.000    | 42.000    | na        

...       

Temp             | 39.000     | degrees C  | ok    | na        | 3.000     | 8.000     | 95.000    | 100.000   | na        

...

 

5、 登录zabbix管理页面配置IPMI管理:

https://192.168.109.30/zabbix/

(1)新建模板的监控项:在“配置”——“模板”下,选择“服务器模板”,点击“创建模板”,在打开的模板页面中,“模板名称”输入“IPMI_DELL”,“可见的模板名称”输入“IPMI_DELL模板”,点击“更新”;点击“监控项”,在新开出的监控项页面中,点击“创建监控项”,在新开出的页面中,在“名称”中输入“Fan1”,在“类型”中选择“IPMI客户端”,在“键值”中输入“FAN1”,在“IPMI传感器”中输入“Fan1”(注意:此处输入的是传感器的条目名称,一定要与前面通过ipmitool命令获得的传感器条目名称一致!),在“单位”中输入“rpm”,在“更新间隔”中修改时间为“3s”。点击“更新”按钮即可。

以此类推,分别增加Fan2,Fan3,Fan4,Temp,Inlet Temp等监控项。

(2)新建模板的图形:监控项目增加完成后,点击“图形”,选择“服务器模板”——“IPMI_DELL模板”,点击“创建图形”,在打开的图形页面中,在“名称”中输入“FAN”,在“监控项”中点击“添加”,在弹出的监控项窗口中选择“Fan1”“Fan2”“Fan3”“Fan4”,点击“选择”按钮即可新增图形“FAN”。

以此类推,增加图形“Temperature”,此图形包括“Temp”和“Inlet Temp”监控项。

(3)在监控主机添加新增的模板:在主机页面点击“模板”栏,在“链接指示器”中点击“选择”,在弹出的窗口中,选择“服务器模板”,勾选“IPMI_DELL模板”,点击“选择”按钮,此时会回到刚才的模板页面,在“链接的模板”中就可看到“IPMI_DELL模板”了。

(4)点击“主机”,在打开的主机页面点击“备份一体机DL1300”,在新打开的主机页面中,在主机栏下的“IPMI接口”项目中点击“添加”,输入dell服务器iDRAC接口IP地址“192.168.109.14”,注意,在“IPMI接口”栏中,端口为“623”(UDP 623),不要修改,点击页面最下端的“更新”按钮。在主机页面的“IPMI”栏中的“用户名称”输入“root”,“密码”输入“calvin”,点击“更新”按钮即可。

上述工作完成后,就可在“监测中”——“图形”下查看新增的监控数据了。

6、安全管理:除了管理员电脑,不允许外部网段电脑访问服务器udp623端口

     在服务器区接入交换机(10.1.3.50)上作如下配置:

acl number 3001

 rule 9 permit ip source 10.1.15.50 0

 rule 10 permit ip source 10.1.15.37 0

 rule 11 permit ip source 10.1.15.58 0

...

 rule 21 deny udp destination-port eq 623

...

interface GigabitEthernet0/0/28

 port link-type trunk

 port trunk allow-pass vlan 109

 traffic-filter inbound acl 3001

 

四、总结

1、这次测试工作,启用了zabbix的IPMI监控功能,验证了相关技术环节。

2、Ipmitool工具管理dell服务器时,需要注意部分参数的变化,如-I lan在iDRAC新版中已变更为-I lanplus了。

上一篇:二叉树的最大深度


下一篇:Android开发:android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText;使用Fragment时不同引入包的问题解决