关于Zabbix监控服务器硬的件信息,Zabbix官方网站没有提到这方面的监控思路和方法。之前我写的博文中写过关于HP服务器硬件监控的文章,大致的思路是借助HP管理工具通过脚本的方式取出硬件的信息,然后以trapper的方式通过进行监控,得到好多博友的支持,在此特别感谢。
    通过脚本的方式监控服务器硬件信息,有以下三个缺点:

    1) 通过agent的方式监控会超时,取不到值。

    2)通过trapper的方式需要每台机器添加crontab,部署起来麻烦。

    3)脚本通用性差,只适合Linux机器。

    4)G8的服务器执行管理命令非常慢。
    由于通过脚本监控硬件有以上几个缺点,因此后来研究了HP代理。通过HP代理和SNMP监控HP服务器的硬件,需要安装snmp服务和HP代理工具。

#需要安装的软件包
yum install -y net-snmp net-snmp-util
hpacucli-9.40-12.0.x86_64.rpm
hp-snmp-agents-9.40-2506.37.rhel6.x86_64.rpm
hp-health-9.40-1602.44.rhel6.x86_64.rpm
#SNMP安装完成后需要修改snmpd.conf的配置文件。
dlmod cmaX /usr/lib/libcmaX.so
rwcommunity sfzhang 127.0.0.1  #可读可写
rocommunity public 127.0.0.1 #只读
syscontact Root <root@localhost>
syslocation Shanghai China
view all    included  .1                               80
access  notConfigGroup ""      any       noauth    exact  all none none
#启动相关的服务
/etc/init.d/hp-snmp-agents start
/etc/init.d/hp-health start
/etc/init.d/snmpd start

     然后通过snmpwalk命令测试是否可以获取数据,下面获取的是HP服务器各部件的实际温度值。

wKioL1SbZLrwdTWjAAY80UDQQ0c404.jpg

    创建监控模板,通过Zabbix Low-level discovery 可以自动创建监控项,触发器和图像。Zabbix官方文档中LLD支持以下三种监控自动发现:

    1)文件系统自动发现

    2)服务器网卡的自动发现

    3)SNMP OID的自动发现

    下面通过第三种方法来监控HP服务器硬件信息,以SNMP监控HP服务器阵列卡为例子来说明一下实现原理。
    1)首先创建监控模板和Applications。

wKioL1Saerjz9jqtAAGkFPqDrnw672.jpg

    2)点击模板的discovery->Create discovery rule。

wKiom1SaaUXgB-5EAAKQxrZ5JrE446.jpg
    3)创建监控项目Create item prototype。HP代理中的MIB信息没有被解析成具体的设备名称,因此Name中的#SNMPVALUE就是为了区分多个设备名称,如HardDisk_0_status,HardDisk_1_status表示第一个硬盘和第二个硬盘的状态。wKiom1SaaqTQmTuOAANbzs8tN5w478.jpg

    4)创建触发器Create trigger prototype。HP服务器硬盘,阵列卡,逻辑磁盘等的状态正常返回值都是2,如果不是2,说明有问题,触发报警。

wKiom1Saa-LCcwZKAAGzdWK8zRQ640.jpg

    5)用同样的方法可以监控HP硬盘的状态,逻辑磁盘的状态,风扇的状态,HP各部件的温度等。

wKiom1SaeCXCXaUZAARbgbCNcCc979.jpg

    6)下面通过DDL自动发现服务器的物理硬盘的监控项和触发器,有多少个硬盘就会有多少个监控项和触发器。

wKioL1SagKXzRnLZAACxAX4vCeY719.jpg

    7)Link模板到监控主机上面,当主机整列卡有问题的时候会报警。

wKiom1SacXLg7TDfAACSED81e1c403.jpg

    总结:
       1)SNMP协议是通用的,该模板不仅可以监控HP Linux机器,还可以监控HP Windows机器。
       2)HP代理常用的OID,其它的还很多,大家去慢慢研究。
         HP阵列卡状态:1.3.6.1.4.1.232.3.2.2.1.1.6
         物理磁盘状态:1.3.6.1.4.1.232.3.2.5.1.1.6
         逻辑磁盘状态:1.3.6.1.4.1.232.3.2.3.1.1.4
         HP部件温度:1.3.6.1.4.1.232.6.2.6.8.1.4

       3)Zabbix不仅对各种操作系统,应用程序监控很好,而且对服务器硬件的监控也非常棒。

       4)hp-snmp-agents cmaperfd进程的CPU经常显示100%,可以用下面的方法禁用,编辑

/opt/hp/hp-snmp-agents/cma.conf配置文件,在最下面添加exclude cmaperfd,然后重启代理服务即可

/etc/init.d/hp-snmp-agents restart