关于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不仅对各种操作系统,应用程序监控很好,而且对服务器硬件的监控也非常棒。
默认ubuntu12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来,配置步骤如下:
第一步 配置内核崩溃自动重启
添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统
vi /etc/sysctl.conf kernel.panic = 10
第二步 验证自动重启机制是否生效,需要配置sysrq
添加kernel.sysrq 到内核参数,1为生效
vi /etc/sysctl.conf kernel.sysrq = 1
运行命令,使配置的参数生效,或者重启系统
sysctl -p /etc/sysctl.conf
检查配置的参数是否生效
模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令
echo c >/proc/sysrq
看以看到内核崩溃,并读秒重启
第三步 配置内核转存
新装的系统需要升级下,否则不能通过apt-get安装软件
apt-get update
安装内核转存
sudo apt-get install linux-crashdump
查看是否生效
测试,模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令
发现系统崩溃,并卡死住,没有发送转存,也没有重启!
经过查找资料,发送这样的情况,可能和core dump内存配置不够有关系,于是修改了core dum内存配置
修改成512M大小
重新生成grub.cfg
再测试,成功。
本文出自 "xiaoli110的博客" 博客,请务必保留此出处http://xiaoli110.blog.51cto.com/1724/1595128
没有评论:
发表评论