之前介绍的zabbix监控都是属于监控服务方面,现在介绍一下zabbix监控服务器硬件信息的。
由于我公司服务器都是使用dell(我公司是手游方面,服务器全部是dell),服务器型号有r410、r420、r710、r720,系统有centos 5.x、centos 6.x 、redhat 5.x、redhat 6.x、ubuntu 12.04、ubuntu 12.04.4等版本,对于硬件监控,我测试过ipmi、megacli、smart等,但这些监控软件的监控内容都比较少,没有通用的那种,最后找到了dell专门的omsa,满足了我的需求,下面就介绍一下使用omsa来监控dell服务器的硬件信息。
目前我监控以下的硬件信息:
1、cpu处理器状态
2、cpu省电模式状态(如果开启了省电模式,在压力大的时候,会很卡的)
3、raid状态(比如做了哪个raid模式,raid状态是否正常)
4、内存状态(可以查看当前服务器最大支持多少内存,当前多少内存,如果内存有问题,可以显示哪个位置内存故障)
5、机器温度状态(监控机器的温度是否超过阀值)
6、物理硬盘状态(监控物理硬盘是否有故障)
7、电源状态(是单电还是双电,是否有故障)
8、系统面板CMOS电池(cmos电池是否有故障)
9、网卡状态(当前的网卡数量,以及网卡是否有问题)
10、风扇(当前的风扇数量,以及是否有故障)
默认是cpu省电模式监控关闭报警,其他的监控都是15分钟监控一次,如果连续2次都有问题则报警通知。
下面是监控图
1、硬件正常的服务器监控截图
2、部分硬件不正常的监控图
经过命令行查看,发现有问题的内存条是第一个插槽
下面是安装方法:
一、客户端
A.在redhat或者centos系统里安装
1、安装dell的yum源
1
|
wget -q -O - http:
//linux
.dell.com
/repo/hardware/latest/bootstrap
.cgi |
bash
|
2、安装omsa
1
|
yum
install
srvadmin-all
|
3、做软连接
1
2
|
ln -s /opt/dell/srvadmin/sbin/omreport /usr/bin/omreport
ln -s /opt/dell/srvadmin/sbin/omconfig /usr/bin/omconfig
|
4、关闭web模式(仅允许运行cli)
1
|
echo
"/usr/bin/omconfig system webserver action=stop"
>>
/opt/dell/srvadmin/sbin/srvadmin-services
.sh
|
5、启动omsa
1
|
/opt/dell/srvadmin/sbin/srvadmin-services.sh start
|
6、把omsa加入到开机启动里
1
|
echo
"/opt/dell/srvadmin/sbin/srvadmin-services.sh start"
>>
/etc/rc
.
local
|
以上是在centos或者redhat系统里安装omsa。
B.下面是在ubuntu下的安装
1、增加源
1
|
echo
'deb http://linux.dell.com/repo/community/ubuntu precise openmanage'
|
sudo
tee
-a
/etc/apt/sources
.list.d
/linux
.dell.com.sources.list
|
2、检测与增加key
1
2
|
gpg --keyserver pool.sks-keyservers.net --recv-key 1285491434D8786F
gpg -a --
export
1285491434D8786F |
sudo
apt-key add -
|
3、更新源
1
|
apt-get update -y
|
4、安装omsa
1
|
apt-get
install
srvadmin-all -y
|
5、做软连接
1
2
|
ln -s /opt/dell/srvadmin/sbin/omreport /usr/bin/omreport
ln -s /opt/dell/srvadmin/sbin/omconfig /usr/bin/omconfig
|
6、启动cli模式omsa
1
|
service dataeng start
|
C.zabbix客户端的配置
1、下面是在zabbix_agentd.conf里配置
1
2
3
4
5
6
7
8
9
10
11
|
#follow is monitor hardware
UserParameter=hardware_battery,omreport chassis batteries|
awk
'/^Status/{if($NF=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_cpu_model,
awk
-
v
hardware_cpu_crontol=`
sudo
omreport chassis biossetup|
awk
'/C State/{if($NF=="Enabled") {print 0} else {print 1}}'
` -
v
hardware_cpu_c1=`
sudo
omreport chassis biossetup|
awk
'/C1[-|E]/{if($NF=="Enabled") {print 0} else {print 1}}'
`
'BEGIN{if(hardware_cpu_crontol==0 && hardware_cpu_c1==0) {print 0} else {print 1}}'
UserParameter=hardware_fan_health,
awk
-
v
hardware_fan_number=`omreport chassis fans|
grep
-c
"^Index"
` -
v
hardware_fan=`omreport chassis fans|
awk
'/^Status/{if($NF=="Ok") count+=1}END{print count}'
`
'BEGIN{if(hardware_fan_number==hardware_fan) {print 1} else {print 0}}'
UserParameter=hardware_memory_health,
awk
-
v
hardware_memory=`omreport chassis memory|
awk
'/^Health/{print $NF}'
`
'BEGIN{if(hardware_memory=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_nic_health,
awk
-
v
hardware_nic_number=`omreport chassis nics |
grep
-c
"Interface Name"
` -
v
hardware_nic=`omreport chassis nics |
awk
'/^Connection Status/{print $NF}'
|
wc
-l`
'BEGIN{if(hardware_nic_number==hardware_nic) {print 1} else {print 0}}'
UserParameter=hardware_cpu,omreport chassis processors|
awk
'/^Health/{if($NF=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_power_health,
awk
-
v
hardware_power_number=`omreport chassis pwrsupplies|
grep
-c
"Index"
` -
v
hardware_power=`omreport chassis pwrsupplies|
awk
'/^Status/{if($NF=="Ok") count+=1}END{print count}'
`
'BEGIN{if(hardware_power_number==hardware_power) {print 1} else {print 0}}'
UserParameter=hardware_temp,omreport chassis temps|
awk
'/^Status/{if($NF=="Ok") {print 1} else {print 0}}'
|
head
-n 1
UserParameter=hardware_physics_health,
awk
-
v
hardware_physics_disk_number=`omreport storage pdisk controller=0|
grep
-c
"^ID"
` -
v
hardware_physics_disk=`omreport storage pdisk controller=0|
awk
'/^Status/{if($NF=="Ok") count+=1}END{print count}'
`
'BEGIN{if(hardware_physics_disk_number==hardware_physics_disk) {print 1} else {print 0}}'
UserParameter=hardware_virtual_health,
awk
-
v
hardware_virtual_disk_number=`omreport storage vdisk controller=0|
grep
-c
"^ID"
` -
v
hardware_virtual_disk=`omreport storage vdisk controller=0|
awk
'/^Status/{if($NF=="Ok") count+=1}END{print count}'
`
'BEGIN{if(hardware_virtual_disk_number==hardware_virtual_disk) {print 1} else {print 0}}'
|
2、重启zabbix_agentd服务
1
2
|
ps
-ef|
grep
zabbix|
grep
-
v
grep
|
awk
'{print $2}'
|
xargs
kill
-9
/usr/local/zabbix/sbin/zabbix_agentd
-c
/usr/local/zabbix/conf/zabbix_agentd
.conf
|
如果需要在其他系统里安装,请参看官方wiki,地址是http://linux.dell.com/wiki/index.php/Repository/hardware。
如果是windows系统,可以参考zabbix企业应用之windows系统安装omsa硬件监控(地址为http://dl528888.blog.51cto.com/2382721/1421335)
二、服务端
1、模板导入
把Template Hardware Monitor导入到zabbix里(模板在附件),具体操作不介绍。
2、主机关联模板
把需要监控的硬件服务器关联此模板即可
附件:http://down.51cto.com/data/2364370
本文转自 dl528888 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1403893,如需转载请自行联系原作者