环境 :
[root@node tmp]# uname -a
Linux node 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 2119:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@node tmp]# cat /etc/redhat-release
CentOS release 6.9 (Final)
硬件平台 :
HP ProLiant DL388 Gen9
阵列卡 :
# hpssacli ctrl all show status
Smart Array P440ar in Slot 0 (Embedded)
ControllerStatus: OK
Cache Status: OK
Battery/Capacitor Status: OK
下载软件 :
hpssacli-2.10-14.0.x86_64.rpm
下载地址 : https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX-c88321dcaaa94c7db3eb5fc651
安装 :
rpm -ivh hpssacli-2.10-14.0.x86_64.rpm
编写 zabbix 监控 shell 脚本 :
vim raid_status.sh
#!/bin/bash
if [ $# -ne "1" ];then
echo "arg error!"
fi
File_dir="/tmp/hpssacli"
case $1 in
Controller_Status)
result=$(cat $File_dir| grep"Controller Status"|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 101|| echo 0
;;
Cache_Status)
result=$(cat $File_dir| grep"Cache Status"|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 102|| echo 0
;;
Battery_Status)
result=$(cat $File_dir| grep"Battery\/Capacitor Status"|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 103|| echo 0
;;
Controller_Temperature)
result=$(cat$File_dir| grep "Controller Temperature (C):"|awk -F ': ' '{print $2}')
echo $result
;;
Cache_Module_Temperature)
result=$(cat $File_dir| grep"Cache Module Temperature (C):"|awk -F ': ' '{print $2 }')
echo $result
;;
Logical_Drive_Status)
result=$(cat $File_dir| sed -n 99p|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 104|| echo 0
;;
physicaldrive_1)
result=$(cat $File_dir| sed -n 120p|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 131|| echo 0
;;
physicaldrive_1_Current_Temperature)
result=$(cat $File_dir| sed -n 129p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_1_Maximum_Temperature)
result=$(cat $File_dir| sed -n 130p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_2)
result=$(cat $File_dir| sed -n 141p|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 132 ||echo 0
;;
physicaldrive_2_Current_Temperature)
result=$(cat $File_dir| sed -n 150p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_2_Maximum_Temperature)
result=$(cat $File_dir| sed -n 151p |awk -F': ' '{print $2 }')
echo $result
;;
physicaldrive_3)
result=$(cat $File_dir| sed -n 162p|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 133 ||echo 0
;;
physicaldrive_3_Current_Temperature)
result=$(cat $File_dir| sed -n 171p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_3_Maximum_Temperature)
result=$(cat $File_dir| sed -n 172p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_4)
result=$(cat $File_dir| sed -n 183p|awk -F ': ' '{print $2 }')
[ $result = OK ] && echo 134 ||echo 0
;;
physicaldrive_4_Current_Temperature)
result=$(cat $File_dir| sed -n 192p|awk -F ': ' '{print $2 }')
echo $result
;;
physicaldrive_4_Maximum_Temperature)
result=$(cat $File_dir| sed -n 193p|awk -F ': ' '{print $2 }')
echo $result
;;
*)
echo "Usage:$0(status)"
;;
esac
编写raid信息收集脚本:
vimcollect_raid_info.sh
#!/bin/bash
echo $(hpssaclictrl all show config detail>/tmp/hpssacli)
加入定时任务:
#收集raid状态信息
*/10 * * ** root /bin/bash /usr/local/src/collect_raid_info.sh
在zabbix_agentd加入parameter脚本:
vim/usr/local/zabbix/etc/zabbix_agent.conf
UserParameter=raid.status[*], /usr/local/src/check_raid_status/raid_status.sh $1
重新启动服务:
servicezabbix_agentd restart
在服务端加入监控item:
zabbix服务端监控效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- C#阵列Array排序
- c# – 2个阵列中的Linq在1个循环中?
- Cray打造面向高性能计算的L300F全闪存阵列
- 戴尔易安信不断以创新科技强化Unity和SC系列中端存储阵列
- zabbix监控tomcat 自定义监控项
- iOS 性能监控(一)—— CPU功耗监控
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。