本博文出自51CTO博客sfzhang博主,有任何问题请进入博主页面互动讨论! 博文地址:http://sfzhang88.blog.51cto.com/4995876/1595211 |
关于Zabbix监控服务器硬的件信息,Zabbix官方网站没有提到这方面的监控思路和方法。之前我写的博文中写过关于HP服务器硬件监控的文章,大致的思路是借助HP管理工具通过脚本的方式取出硬件的信息,然后以trapper的方式通过进行监控,得到好多博友的支持,在此特别感谢。
通过脚本的方式监控服务器硬件信息,有以下三个缺点:
1) 通过agent的方式监控会超时,取不到值。
2)通过trapper的方式需要每台机器添加crontab,部署起来麻烦。
3)脚本通用性差,只适合Windows机器。
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服务器各部件的实际温度值。
创建监控模板,通过Zabbix Low-level discovery 可以自动创建监控项,触发器和图像。Zabbix官方文档中LLD支持以下三种监控自动发现:
1)文件系统自动发现
2)服务器网卡的自动发现
3)SNMP OID的自动发现
下面通过第三种方法来监控HP服务器硬件信息,以SNMP监控HP服务器阵列卡为例子来说明一下实现原理。
1)首先创建监控模板和Applications。
2)点击模板的discovery->Create discovery rule。
3)创建监控项目Create item prototype。HP代理中的MIB信息没有被解析成具体的设备名称,因此Name中的#SNMPVALUE就是为了区分多个设备名称,如HardDisk_0_status,HardDisk_1_status表示***个硬盘和第二个硬盘的状态。
4)创建触发器Create trigger prototype。HP服务器硬盘,阵列卡,逻辑磁盘等的状态正常返回值都是2,如果不是2,说明有问题,触发报警。
5)用同样的方法可以监控HP硬盘的状态,逻辑磁盘的状态,风扇的状态,HP各部件的温度等。
6)下面通过DDL自动发现服务器的物理硬盘的监控项和触发器,有多少个硬盘就会有多少个监控项和触发器。
7)Link模板到监控主机上面,当主机整列卡有问题的时候会报警。
总结:
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不仅对各种操作系统,应用程序监控很好,而且对服务器硬件的监控也非常棒。